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

UserNotice

public class UserNotice : Asn1Encodable
using System; namespace Org.BouncyCastle.Asn1.X509 { public class UserNotice : Asn1Encodable { private readonly NoticeReference noticeRef; private readonly DisplayText explicitText; public virtual NoticeReference NoticeRef => noticeRef; public virtual DisplayText ExplicitText => explicitText; public UserNotice(NoticeReference noticeRef, DisplayText explicitText) { this.noticeRef = noticeRef; this.explicitText = explicitText; } public UserNotice(NoticeReference noticeRef, string str) : this(noticeRef, new DisplayText(str)) { } private UserNotice(Asn1Sequence seq) { if (seq.Count == 2) { noticeRef = NoticeReference.GetInstance(seq[0]); explicitText = DisplayText.GetInstance(seq[1]); } else if (seq.Count == 1) { if (seq[0].ToAsn1Object() is Asn1Sequence) { noticeRef = NoticeReference.GetInstance(seq[0]); explicitText = null; } else { noticeRef = null; explicitText = DisplayText.GetInstance(seq[0]); } } else { if (seq.Count != 0) throw new ArgumentException("Bad sequence size: " + seq.Count.ToString()); noticeRef = null; explicitText = null; } } public static UserNotice GetInstance(object obj) { if (obj is UserNotice) return (UserNotice)obj; if (obj == null) return null; return new UserNotice(Asn1Sequence.GetInstance(obj)); } public override Asn1Object ToAsn1Object() { Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(2); asn1EncodableVector.AddOptional(noticeRef, explicitText); return new DerSequence(asn1EncodableVector); } } }