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

SignaturePolicyIdentifier

using Org.BouncyCastle.Utilities; using System; namespace Org.BouncyCastle.Asn1.Esf { public class SignaturePolicyIdentifier : Asn1Encodable, IAsn1Choice { private readonly SignaturePolicyId sigPolicy; public SignaturePolicyId SignaturePolicyId => sigPolicy; public static SignaturePolicyIdentifier GetInstance(object obj) { if (obj == null || obj is SignaturePolicyIdentifier) return (SignaturePolicyIdentifier)obj; if (obj is SignaturePolicyId) return new SignaturePolicyIdentifier((SignaturePolicyId)obj); if (obj is Asn1Null) return new SignaturePolicyIdentifier(); throw new ArgumentException("Unknown object in 'SignaturePolicyIdentifier' factory: " + Platform.GetTypeName(obj), "obj"); } public SignaturePolicyIdentifier() { sigPolicy = null; } public SignaturePolicyIdentifier(SignaturePolicyId signaturePolicyId) { if (signaturePolicyId == null) throw new ArgumentNullException("signaturePolicyId"); sigPolicy = signaturePolicyId; } public override Asn1Object ToAsn1Object() { if (sigPolicy != null) return sigPolicy.ToAsn1Object(); return DerNull.Instance; } } }