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

ProfessionInfo

public class ProfessionInfo : Asn1Encodable
using Org.BouncyCastle.Asn1.X500; using System; namespace Org.BouncyCastle.Asn1.IsisMtt.X509 { public class ProfessionInfo : Asn1Encodable { public static readonly DerObjectIdentifier Rechtsanwltin = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("1"); public static readonly DerObjectIdentifier Rechtsanwalt = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("2"); public static readonly DerObjectIdentifier Rechtsbeistand = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("3"); public static readonly DerObjectIdentifier Steuerberaterin = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("4"); public static readonly DerObjectIdentifier Steuerberater = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("5"); public static readonly DerObjectIdentifier Steuerbevollmchtigte = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("6"); public static readonly DerObjectIdentifier Steuerbevollmchtigter = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("7"); public static readonly DerObjectIdentifier Notarin = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("8"); public static readonly DerObjectIdentifier Notar = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("9"); public static readonly DerObjectIdentifier Notarvertreterin = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("10"); public static readonly DerObjectIdentifier Notarvertreter = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("11"); public static readonly DerObjectIdentifier Notariatsverwalterin = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("12"); public static readonly DerObjectIdentifier Notariatsverwalter = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("13"); public static readonly DerObjectIdentifier Wirtschaftsprferin = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("14"); public static readonly DerObjectIdentifier Wirtschaftsprfer = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("15"); public static readonly DerObjectIdentifier VereidigteBuchprferin = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("16"); public static readonly DerObjectIdentifier VereidigterBuchprfer = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("17"); public static readonly DerObjectIdentifier Patentanwltin = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("18"); public static readonly DerObjectIdentifier Patentanwalt = NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern.Branch("19"); private readonly NamingAuthority m_namingAuthority; private readonly Asn1Sequence m_professionItems; private readonly Asn1Sequence m_professionOids; private readonly DerPrintableString m_registrationNumber; private readonly Asn1OctetString m_addProfessionInfo; public virtual Asn1OctetString AddProfessionInfo => m_addProfessionInfo; public virtual NamingAuthority NamingAuthority => m_namingAuthority; public virtual string RegistrationNumber => m_registrationNumber?.GetString(); public static ProfessionInfo GetInstance(object obj) { if (obj == null) return null; ProfessionInfo professionInfo = obj as ProfessionInfo; if (professionInfo != null) return professionInfo; return new ProfessionInfo(Asn1Sequence.GetInstance(obj)); } public static ProfessionInfo GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new ProfessionInfo(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); } public static ProfessionInfo GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new ProfessionInfo(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } private ProfessionInfo(Asn1Sequence seq) { int count = seq.Count; int sequencePosition = 0; if (count < 1 || count > 5) throw new ArgumentException("Bad sequence size: " + count.ToString(), "seq"); m_namingAuthority = Asn1Utilities.ReadOptionalContextTagged(seq, ref sequencePosition, 0, true, NamingAuthority.GetTagged); m_professionItems = Asn1Sequence.GetInstance(seq[sequencePosition++]); m_professionOids = Asn1Utilities.ReadOptional(seq, ref sequencePosition, Asn1Sequence.GetOptional); m_registrationNumber = Asn1Utilities.ReadOptional(seq, ref sequencePosition, DerPrintableString.GetOptional); m_addProfessionInfo = Asn1Utilities.ReadOptional(seq, ref sequencePosition, Asn1OctetString.GetOptional); if (sequencePosition != count) throw new ArgumentException("Unexpected elements in sequence", "seq"); } public ProfessionInfo(NamingAuthority namingAuthority, DirectoryString[] professionItems, DerObjectIdentifier[] professionOids, string registrationNumber, Asn1OctetString addProfessionInfo) { m_namingAuthority = namingAuthority; m_professionItems = DerSequence.FromElements(professionItems); m_professionOids = DerSequence.FromElementsOptional(professionOids); m_registrationNumber = ((registrationNumber == null) ? null : new DerPrintableString(registrationNumber, true)); m_addProfessionInfo = addProfessionInfo; } public virtual DirectoryString[] GetProfessionItems() { return m_professionItems.MapElements(DirectoryString.GetInstance); } public virtual DerObjectIdentifier[] GetProfessionOids() { return m_professionOids?.MapElements(DerObjectIdentifier.GetInstance) ?? new DerObjectIdentifier[0]; } public override Asn1Object ToAsn1Object() { Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(5); asn1EncodableVector.AddOptionalTagged(true, 0, m_namingAuthority); asn1EncodableVector.Add(m_professionItems); asn1EncodableVector.AddOptional(m_professionOids); asn1EncodableVector.AddOptional(m_registrationNumber); asn1EncodableVector.AddOptional(m_addProfessionInfo); return new DerSequence(asn1EncodableVector); } } }