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

X509DefaultEntryConverter

using System; using System.IO; namespace Org.BouncyCastle.Asn1.X509 { public class X509DefaultEntryConverter : X509NameEntryConverter { public override Asn1Object GetConvertedValue(DerObjectIdentifier oid, string value) { if (value.Length != 0 && value[0] == '#') try { return ConvertHexEncoded(value, 1); } catch (IOException) { throw new Exception("can't recode value for oid " + oid.Id); } if (value.Length != 0 && value[0] == '\\') value = value.Substring(1); if (oid.Equals(X509Name.EmailAddress) || oid.Equals(X509Name.DC)) return new DerIA5String(value); if (oid.Equals(X509Name.DateOfBirth)) return new Asn1GeneralizedTime(value); if (oid.Equals(X509Name.C) || oid.Equals(X509Name.SerialNumber) || oid.Equals(X509Name.DnQualifier) || oid.Equals(X509Name.TelephoneNumber)) return new DerPrintableString(value); return new DerUtf8String(value); } } }