【发布时间】:2014-02-09 23:25:06
【问题描述】:
我对 Java 编程很陌生,但我仍然在为一些事情苦苦挣扎。我正在尝试通过一些自定义来实现 bouncycastle certUtils。但是 X509CertificateHolder 构造函数接受 X509CertificateStructure 作为参数。编译器不断建议我将生成结构的函数的返回类型更改为字节 []。在这种情况下拒绝 X509CertificateStructure 作为参数。这在正常情况下不应该发生,因为 X509CertificateHolder 有一个接受 X509CertificateStructure 的构造函数。 http://grepcode.com/file/repo1.maven.org/maven2/org.bouncycastle/bcmail-jdk16/1.46/org/bouncycastle/cert/X509CertificateHolder.java#X509CertificateHolder.
这是发生错误的代码。
static X509CertificateHolder generateFullCert(ContentSigner signer, TBSCertificateStructure tbsCert)
{
try
{
return new X509CertificateHolder((generateStructure(tbsCert, signer.getAlgorithmIdentifier(), generateSig(signer, tbsCert)))); // the error occurs here
}
catch (IOException e)
{
throw new IllegalStateException("cannot produce certificate signature");
}
}
private static X509CertificateStructure generateStructure(TBSCertificateStructure tbsCert, AlgorithmIdentifier sigAlgId, byte[] signature)
{
ASN1EncodableVector v = new ASN1EncodableVector();
v.add(tbsCert);
v.add(sigAlgId);
v.add(new DERBitString(signature));
return X509CertificateStructure.getInstance(new DERSequence(v));
}
有没有人知道出了什么问题。
【问题讨论】:
-
如果问题太简单,我必须阅读一些工作人员。我很乐意有任何建议
标签: java javascript certificate x509certificate bouncycastle