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

OtherInfo

public class OtherInfo : Asn1Encodable
using System.Collections.Generic; namespace Org.BouncyCastle.Asn1.X9 { public class OtherInfo : Asn1Encodable { private KeySpecificInfo keyInfo; private Asn1OctetString partyAInfo; private Asn1OctetString suppPubInfo; public KeySpecificInfo KeyInfo => keyInfo; public Asn1OctetString PartyAInfo => partyAInfo; public Asn1OctetString SuppPubInfo => suppPubInfo; public OtherInfo(KeySpecificInfo keyInfo, Asn1OctetString partyAInfo, Asn1OctetString suppPubInfo) { this.keyInfo = keyInfo; this.partyAInfo = partyAInfo; this.suppPubInfo = suppPubInfo; } public OtherInfo(Asn1Sequence seq) { IEnumerator<Asn1Encodable> enumerator = seq.GetEnumerator(); enumerator.MoveNext(); keyInfo = new KeySpecificInfo((Asn1Sequence)enumerator.Current); while (enumerator.MoveNext()) { Asn1TaggedObject asn1TaggedObject = (Asn1TaggedObject)enumerator.Current; if (asn1TaggedObject.HasContextTag(0)) partyAInfo = (Asn1OctetString)asn1TaggedObject.GetExplicitBaseObject(); else if (asn1TaggedObject.HasContextTag(2)) { suppPubInfo = (Asn1OctetString)asn1TaggedObject.GetExplicitBaseObject(); } } } public override Asn1Object ToAsn1Object() { Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(keyInfo); asn1EncodableVector.AddOptionalTagged(true, 0, partyAInfo); asn1EncodableVector.Add(new DerTaggedObject(2, suppPubInfo)); return new DerSequence(asn1EncodableVector); } } }