我正在尝试使用 JSCEP 向 EJBCA 注册证书签名请求,如此处所述: https ://github.com/jscep/jscep
我可以使用相同格式的 csr 和私钥(用于端口 8443 上的 ssl 授权)从 Web 控制台提交 csr,但是当我通过 JSCEP 尝试时,我在 EJBCA 日志中收到以下错误:
处理 SCEP 请求时出错。:org.cesecore.certificates.ca.SignRequestExcept ion:请求中没有密码。
我猜它想要一个终端实体的用户名和注册代码,就像我需要通过 Web UI 输入的那个一样,但我在 JSCEP API 中完全看不到输入该信息的地方。也许私钥就足够了,但这似乎有点奇怪,因为 UI 想要两者兼而有之。
我想这也可能意味着我的 CSR 必须有密码,但它没有,但 UI 并没有给我带来问题,所以我不明白为什么会这样。
密钥库(从 p12 文件中解析,包含密码)和 csr 都是从文件中解析出来的,而不是以编程方式生成的。csr 来自我没有密钥的第三方。
我通过 jscep 客户端的注册请求如下所示:
client.enrol(证书,privateKey,请求,config.getCaProfile());
证书和私钥都取自 p12 文件,请求是从传递给我的 csr (pkcs12) 中解析的。caProfile 是 https::8443/ejbca/adminweb/ 主页上的表格中列出的 CA 名称
如果我的参数有误,或者我需要在某处包含密码,请告诉我,我该如何在 API 中做到这一点。