我使用SCEP为我的web服务创建证书。成功创建证书并启动服务器后,我尝试通过浏览器访问wsdl,该浏览器显示错误消息,指出此应用程序不允许使用证书类型,错误代码为:sec_error_inadequate_cer_type。一位同事指出,我必须将扩展密钥属性中的密钥用法更改为“服务器认证”,并且应该在认证请求中完成。SCEP和扩展证书属性
要创建一个新的请求,我正在使用bouncycastle。请参见下面的代码片段:
PKCS10CertificationRequestBuilder builder = new PKCS10CertificationRequestBuilder(subject, pkInfo);
builder.addAttribute(PKCSObjectIdentifiers.pkcs_9_at_challengePassword, new DERPrintableString(challengePassword));
return builder.build(signer);
的问题是,现在我发现了如何像这样添加一些请求的文档。我想通了,唯一的一点是,最有可能我必须添加其他属性的建设者与对象标识符“PKCSObjectIdentifiers.pkcs_9_at_extendedCertificateAttributes”:
builder.addAttribute(PKCSObjectIdentifiers.pkcs_9_at_extendedCertificateAttributes, ???);
但是什么应该被传递给制造商的的addAttribute法等等请求的证书将扩展证书属性设置为“服务器身份验证”?
我做了一些研究,但我没有找到任何文档或例子给我提供了一些有用的答案。
一些信息: 我使用JSCEP和BouncyCastle的1.48
我希望有人能指出我的解决方案。 在此先感谢。
非常感谢你。这件事情让我感到很快乐。顺便说一句。对不起,因为我是在度假,所以今天是第一天我可以测试它。 – vik