<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.0" />

DigestInfo

public class DigestInfo : Asn1Encodable
using Org.BouncyCastle.Utilities; using System; namespace Org.BouncyCastle.Asn1.X509 { public class DigestInfo : Asn1Encodable { private readonly AlgorithmIdentifier m_digestAlgorithm; private readonly Asn1OctetString m_digest; [Obsolete("Use 'DigestAlgorithm' property instead")] public AlgorithmIdentifier AlgorithmID { get { return m_digestAlgorithm; } } public AlgorithmIdentifier DigestAlgorithm => m_digestAlgorithm; public Asn1OctetString Digest => m_digest; public static DigestInfo GetInstance(object obj) { if (obj == null) return null; DigestInfo digestInfo = obj as DigestInfo; if (digestInfo != null) return digestInfo; return new DigestInfo(Asn1Sequence.GetInstance(obj)); } public static DigestInfo GetInstance(Asn1TaggedObject obj, bool explicitly) { return new DigestInfo(Asn1Sequence.GetInstance(obj, explicitly)); } public static DigestInfo GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new DigestInfo(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } private DigestInfo(Asn1Sequence seq) { int count = seq.Count; if (count != 2) throw new ArgumentException("Bad sequence size: " + count.ToString(), "seq"); m_digestAlgorithm = AlgorithmIdentifier.GetInstance(seq[0]); m_digest = Asn1OctetString.GetInstance(seq[1]); } public DigestInfo(AlgorithmIdentifier algID, byte[] digest) { if (algID == null) throw new ArgumentNullException("algID"); m_digestAlgorithm = algID; m_digest = DerOctetString.FromContents(digest); } public DigestInfo(AlgorithmIdentifier digestAlgorithm, Asn1OctetString digest) { if (digestAlgorithm == null) throw new ArgumentNullException("digestAlgorithm"); m_digestAlgorithm = digestAlgorithm; if (digest == null) throw new ArgumentNullException("digest"); m_digest = digest; } [Obsolete("Use 'Digest' property instead")] public byte[] GetDigest() { return Arrays.Clone(m_digest.GetOctets()); } public override Asn1Object ToAsn1Object() { return new DerSequence(m_digestAlgorithm, m_digest); } } }