【问题标题】:How to add PrivateKeyUsage extension to a certificate using bouncycastle in java?如何在 java 中使用 bouncycastle 将 PrivateKeyUsage 扩展添加到证书?
【发布时间】:2010-06-21 14:47:36
【问题描述】:

我有一个 X509Certificate 我想添加扩展...我想添加 PrivateKeyUsage 扩展,但我不知道如何创建 PrivateKeyUsage 对象或如何给它 notBefore & notAfter 值...谢谢

【问题讨论】:

    标签: java x509certificate bouncycastle pki private-key


    【解决方案1】:
    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);
    

    【讨论】:

      【解决方案2】:

      你可以这样做,

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

      【讨论】:

      • 它说这个构造函数是未定义的......但我找到了另一种方法......谢谢......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 2021-09-19
      相关资源
      最近更新 更多