2016-06-13 24 views
1

Как установить расширения для сертификата x509, в java, используя API-интерфейс bouncycastle?X509 Расширения

мне удалось сделать «Basic Сдерживает», как это:

... 
X509V3CertificateGenerator gen = new X509V3CertificateGenerator(); 
... 
boolean crit; 
boolean isCa; 
gen.addExtension(X509Extensions.BasicConstraints, crit, new BasicConstraints(isCa)); 

Однако, я не могу понять, как сделать то же самое для IssuerAlternativeName или KeyUsage.

ответ

0

Попробуйте

KeyUsage usage = new KeyUsage(KeyUsage.keyCertSign 
     | KeyUsage.digitalSignature | KeyUsage.keyEncipherment 
     | KeyUsage.dataEncipherment | KeyUsage.cRLSign); 
gen.addExtension(Extension.keyUsage, false, usage); 


GeneralNames issuerAltName = new GeneralNames(new GeneralName(new X509Name("CN=somedomain.tld"))); 
    gen.addExtension(X509Extensions.IssuerAlternativeName, false, issuerAltName);