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);
}
}
}