如何使用 java 中的 bouncycastle 将 PrivateKeyUsage 扩展添加到证书?

发布于 2024-09-06 14:46:25 字数 126 浏览 0 评论 0原文

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

i have an X509Certificate that i want to add extensions to... i want to add the PrivateKeyUsage extension, but i dont know how to create a PrivateKeyUsage object or how to give it notBefore & notAfter values ... thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

青衫负雪 2024-09-13 14:46:25
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);
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);
撩人痒 2024-09-13 14:46:25

你可以做这样的事情,

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

You can do something like this,

    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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文