Monday, May 9, 2011

x509 SubjectAlternativeNameExtension GeneralNames

SubjectAltName ::= GeneralNames
GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
GeneralName ::= CHOICE {
otherName [0] OtherName,
rfc822Name [1] IA5String,
dNSName [2] IA5String,
x400Address [3] ORAddress,
directoryName [4] Name,
ediPartyName [5] EDIPartyName,
uniformResourceIdentifier [6] IA5String,
iPAddress [7] OCTET STRING,
registeredID [8] OBJECT IDENTIFIER}


CertificateExtensions ext = new CertificateExtensions();

DNSName dNSName = new DNSName("shahbazov.com");
GeneralName generalName= new GeneralName(dNSName);
GeneralNames generalNames = new GeneralNames();
generalNames.add(generalName);
ext.set(SubjectAlternativeNameExtension.NAME,
new SubjectAlternativeNameExtension(generalNames));

X509CertInfo info = new X509CertInfo();
...
...
info.set(X509CertInfo.EXTENSIONS, ext);

X509CertImpl cert = new X509CertImpl(info);

No comments:

Post a Comment