目前,我有一个文件和一个私人文件,但目前我无法提供适当的文档,允许我根据der和我的私钥创建一个jks密钥库文件。
到目前为止我尝试了什么:
创建一个pkcs12文件:
[HttpPost]
public ActionResult AddRemarksToEvaluationSheet(string[] function_param)
{
}
错误讯息:
openssl pkcs12 -export -in received_ca_cert.der -inkey mykey.key -certfile received_ca_cert.der -out test-keystore.p12
我相信,在解决了这个问题后,我应该使用类似的东西:
unable to load certificates
提前致谢。
答案 0 :(得分:2)
pkcs12 -export
要求其所有输入文件 - 私钥和一个或多个证书 - 采用PEM格式(由OpenSSL定义/扩展,因为二十年前的实际PEM没有涵盖这一点)。 使用以下符号将证书从DER转换为PEM
openssl x509 -in certfile.der -inform DER -out certfile.pem
# you can specify -outform PEM but it's the default and hence unneeded
另请注意:您不应指定与-in
和-certfile
相同的证书。 -in
应该是与私钥匹配的证书。如果您想要包含另一个证书或证书(包括但不限于链证书),那就是-certfile
的用途。这些“额外”证书是否必要或可取取取决于您的证书的颁发方式,以及在何种情况下需要验证的证书,您在问题中甚至没有暗示过。< / p>
请注意,如果您的信任库中有链证书(默认值或您使用-CAfile
和/或-CApath
指定的证书),则可以指定-chain
,OpenSSL将自动为您找到/选择所需的连锁证书;这可能比手动决定-certfile
中的内容更容易。
同样,您无需将-deststoretype jks
指定为keytool
,因为这是默认设置。