2010-06-21 8 views
1

У меня есть X509Certificate, что я хочу, чтобы добавить расширений ... я хочу, чтобы добавить расширение PrivateKeyUsage, но я не знаю, как создать PrivateKeyUsage объект или как дать ему NotBefore & значения NotAfter ... спасибоКак добавить расширение PrivateKeyUsage в сертификат с использованием bouncycastle в java?

ответ

2
Date from = new Date(); 
Date to = new Date(System.currentTimeMillis()+ 30*1000*60*60l); 

ASN1EncodableVector v = new ASN1EncodableVector(); 
DERGeneralizedTime fromTime = new DERGeneralizedTime(from);  
v.add(new DERTaggedObject(false, 0, fromTime)); 

DERGeneralizedTime toTime = new DERGeneralizedTime(to);  
v.add(new DERTaggedObject(false, 1, toTime)); 

DERObject o = new DERSequence(v);  
PrivateKeyUsagePeriod pkup = PrivateKeyUsagePeriod.getInstance(o);  
v3CertGen.addExtension(x509Extensions.PrivateKeyUsagePeriod, false, pkup); 
1

Вы можете сделать что-то вроде этого,

Date notBeforeDate = new Date(); 
    Date notAfterDate = new Date(System.currentMillis() + 24L*3600*365*1000); 

    PrivateKeyUsagePeriod pkup = new PrivateKeyUsagePeriod(notBeforeDate, 
      notAfterDate); 
    V3Extension[] v3 = {pkup}; 

    cert = CertificateFactory.createCertificate(subject, kp.getPublic(), issuer, 
      kp.getPrivate(), algorithm, 1, v3); 
+0

он говорит, что этот конструктор не определен ... , но я нашел еще один способ сделать это ... спасибо .. –

 Смежные вопросы

  • Нет связанных вопросов^_^