encodeDN static method
Encode the given dn
(Distinguished Name) to a ASN1Object
.
For supported DN see the rf at tools.ietf.org/html/rfc2256
Implementation
static ASN1Object encodeDN(Map<String, String> dn) {
var distinguishedName = ASN1Sequence();
dn.forEach((name, value) {
var oid = ASN1ObjectIdentifier.fromName(name);
ASN1Object ovalue;
switch (name.toUpperCase()) {
case 'C':
ovalue = ASN1PrintableString(stringValue: value);
break;
case 'CN':
case 'O':
case 'L':
case 'S':
default:
ovalue = ASN1UTF8String(utf8StringValue: value);
break;
}
var pair = ASN1Sequence();
pair.add(oid);
pair.add(ovalue);
var pairset = ASN1Set();
pairset.add(pair);
distinguishedName.add(pairset);
});
return distinguishedName;
}