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

AuthorityInformationAccess

using System; using System.Text; namespace Org.BouncyCastle.Asn1.X509 { public class AuthorityInformationAccess : Asn1Encodable { private readonly AccessDescription[] descriptions; private static AccessDescription[] Copy(AccessDescription[] descriptions) { return (AccessDescription[])descriptions.Clone(); } public static AuthorityInformationAccess GetInstance(object obj) { if (obj == null) return null; AuthorityInformationAccess authorityInformationAccess = obj as AuthorityInformationAccess; if (authorityInformationAccess != null) return authorityInformationAccess; return new AuthorityInformationAccess(Asn1Sequence.GetInstance(obj)); } public static AuthorityInformationAccess FromExtensions(X509Extensions extensions) { return GetInstance(X509Extensions.GetExtensionParsedValue(extensions, X509Extensions.AuthorityInfoAccess)); } private AuthorityInformationAccess(Asn1Sequence seq) { if (seq.Count < 1) throw new ArgumentException("sequence may not be empty"); descriptions = seq.MapElements(AccessDescription.GetInstance); } public AuthorityInformationAccess(AccessDescription description) { descriptions = new AccessDescription[1] { description }; } public AuthorityInformationAccess(AccessDescription[] descriptions) { this.descriptions = Copy(descriptions); } public AuthorityInformationAccess(DerObjectIdentifier oid, GeneralName location) : this(new AccessDescription(oid, location)) { } public AccessDescription[] GetAccessDescriptions() { return Copy(descriptions); } public override Asn1Object ToAsn1Object() { Asn1Encodable[] elements = descriptions; return new DerSequence(elements); } public override string ToString() { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("AuthorityInformationAccess:"); AccessDescription[] array = descriptions; foreach (AccessDescription value in array) { stringBuilder.Append(" ").Append(value).AppendLine(); } return stringBuilder.ToString(); } } }