【发布时间】:2018-10-16 18:40:53
【问题描述】:
我正在按照以下步骤使用openssl生成一个证书和一个pkcs12文件:
//Create key
openssl genrsa -aes256 -out mykey.key 2048
//Create csr
openssl req -config openssl.cnf -key mykey.key -new -sha256 -out mycsr.csr
//Create cert
openssl ca -config openssl.cnf -extensions usr_cert -days 375 -notext -md sha256 -in mycsr.csr -out mycert.pem
//Create pkcs12 file
openssl pkcs12 -export -in mycert.pem -inkey mykey.key -out myp12.p12 -name NAME -CAfile ca.pem -caname MYCA
虽然我能够使用我生成的证书连接到我的服务器,但我对实际创建的内容感到困惑。我假设公钥/私钥对由证书本身和私钥表示,但我最近读到需要创建私钥才能创建 csr。所以我的问题是:
1:在csr创建过程中是否隐式创建了公钥?
2:如果创建了公钥,为什么我的 pkcs12 文件不需要它?还是我最初假设证书是公钥是正确的?
我提出这个问题的主要重点是避免潜在地暴露我的私钥。感谢您提前提供任何答案。
【问题讨论】: