From 6529112d56fb76cd823b314b2fa2c7f11ef37f36 Mon Sep 17 00:00:00 2001 From: Peter Dettman Date: Fri, 24 Feb 2023 22:08:14 +0700 Subject: Bcpg: update signature subpackets --- crypto/src/bcpg/sig/SignatureTarget.cs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 crypto/src/bcpg/sig/SignatureTarget.cs (limited to 'crypto/src/bcpg/sig/SignatureTarget.cs') diff --git a/crypto/src/bcpg/sig/SignatureTarget.cs b/crypto/src/bcpg/sig/SignatureTarget.cs new file mode 100644 index 000000000..c6a8dc574 --- /dev/null +++ b/crypto/src/bcpg/sig/SignatureTarget.cs @@ -0,0 +1,30 @@ +using System; + +using Org.BouncyCastle.Utilities; + +namespace Org.BouncyCastle.Bcpg.Sig +{ + /** + * RFC 4880, Section 5.2.3.25 - Signature Target subpacket. + */ + public class SignatureTarget + : SignatureSubpacket + { + public SignatureTarget(bool critical, bool isLongLength, byte[] data) + : base(SignatureSubpacketTag.SignatureTarget, critical, isLongLength, data) + { + } + + public SignatureTarget(bool critical, int publicKeyAlgorithm, int hashAlgorithm, byte[] hashData) + : base(SignatureSubpacketTag.SignatureTarget, critical, false, + Arrays.Concatenate(new byte[]{ (byte)publicKeyAlgorithm, (byte)hashAlgorithm }, hashData)) + { + } + + public int PublicKeyAlgorithm => data[0]; + + public int HashAlgorithm => data[1]; + + public byte[] GetHashData() => Arrays.CopyOfRange(data, 2, data.Length); + } +} -- cgit 1.5.1