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

SubjectKeyIdentifierStructure

using Org.BouncyCastle.Asn1; using Org.BouncyCastle.Asn1.X509; using Org.BouncyCastle.Crypto; using Org.BouncyCastle.Security.Certificates; using System; namespace Org.BouncyCastle.X509.Extension { public class SubjectKeyIdentifierStructure : SubjectKeyIdentifier { public SubjectKeyIdentifierStructure(Asn1OctetString encodedValue) : base((Asn1OctetString)X509ExtensionUtilities.FromExtensionValue(encodedValue)) { } private static Asn1OctetString FromPublicKey(AsymmetricKeyParameter pubKey) { try { return (Asn1OctetString)new SubjectKeyIdentifier(SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(pubKey)).ToAsn1Object(); } catch (Exception ex) { throw new CertificateParsingException("Exception extracting certificate details: " + ex.ToString()); } } public SubjectKeyIdentifierStructure(AsymmetricKeyParameter pubKey) : base(FromPublicKey(pubKey)) { } } }