【发布时间】:2014-05-08 18:54:21
【问题描述】:
如何创建 CMS(又名 PKCS7)证书?
以下充气城堡代码创建 PKCS12 证书:
ASN1EncodableVector v = new ASN1EncodableVector();
v.add(tbsCert);
v.add(sigAlgId);
v.add(new DERBitString(signature));
X509CertificateObject clientCert = new X509CertificateObject(Certificate.getInstance(new DERSequence(v)));
PKCS12BagAttributeCarrier bagCert = clientCert;
bagCert.setBagAttribute(PKCSObjectIdentifiers.pkcs_9_at_friendlyName,
new DERBMPString("Certificate for IPSec WLAN access"));
bagCert.setBagAttribute(
PKCSObjectIdentifiers.pkcs_9_at_localKeyId,
new SubjectKeyIdentifierStructure(pubKey));
我看到 API 中有 CMSSignedDataGenerator,但如果它适用于我的情况,我不是,如果适用,如何......
我也不明白为什么,如果创建的证书是 PKCS12 证书,那么他们为什么要使用 PKCS9 变量来构建它。
【问题讨论】:
标签: ssl cryptography ssl-certificate bouncycastle pkcs#7