如何使用openssl创建X509密钥包?

如何使用openssl创建X509密钥包?,openssl,x509,Openssl,X509,什么是问题: 我不确定创建/验证X509密钥包的方式 我做了什么? 我正在尝试使用OpenSSL创建一个X509相互认证密钥包,能够生成证书和密钥包。以下脚本用于创建捆绑包 mkdir certificate cd certificate mkdir certs csr newcerts touch index.txt echo "1000" > serial ::Root Certicicate openssl genrsa -out certs/ca.key.pem 2048 ope

什么是问题:

我不确定创建/验证X509密钥包的方式

我做了什么?

我正在尝试使用OpenSSL创建一个X509相互认证密钥包,能够生成证书和密钥包。以下脚本用于创建捆绑包

mkdir certificate
cd certificate
mkdir certs csr newcerts
touch index.txt
echo "1000" > serial

::Root Certicicate
openssl genrsa -out certs/ca.key.pem 2048
openssl req -config openssl.cnf -key certs/ca.key.pem -new -x509 -days 3650 -sha256 -extensions v3_ca -out certs/ca.crt.pem
openssl x509 -noout -text -in certs/ca.crt.pem
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

::Certificate 1
openssl genrsa -out certs/intermediate1.key.pem 2048
openssl genpkey -algorithm RSA -out certs/intermediate1.key.pem 2048
openssl req -config openssl.cnf -key certs/intermediate1.key.pem -new -sha256 -out csr/intermediate1.csr.pem -subj "/C=CN/ST=STATE/O=ORG/CN=intermediate1"
openssl ca -config openssl.cnf -batch -extensions usr_cert -days 3750 -notext -md sha256 -in csr/intermediate1.csr.pem -out certs/intermediate1.crt.pem

::Certificate 2
openssl genrsa -out certs/intermediate2.key.pem 2048
openssl genpkey -algorithm RSA -out certs/intermediate2.key.pem 2048
openssl req -config openssl.cnf -key certs/intermediate2.key.pem -new -sha256 -out csr/intermediate2.csr.pem -subj "/C=CN/ST=STATE/O=ORG/CN=intermediate2"
openssl ca -config openssl.cnf -batch -extensions usr_cert -days 3750 -notext -md sha256 -in csr/intermediate2.csr.pem -out certs/intermediate2.crt.pem

::Chain the certificate
cat certs/intermediate1.crt.pem certs/ca.crt.pem > certs/ca-chain.cert.pem
cat certs/intermediate2.crt.pem certs/ca.crt.pem > certs/ca-chain.cert.pem
我是如何验证的?

我不知道如何准确地验证。请在这方面提供帮助

尝试过的其他解决方案有哪些?

论坛专家如何在这里提供帮助?

我坚信,我在没有任何结论的情况下循环解决方案,感觉自己很愚蠢。我真的需要一个专家的建议,在使用任何公共muauth服务器或任何其他方法创建密钥包/验证的视图中关闭这个

ca链证书


您不正确地使用了
cat
。这样,第二个中间证书将覆盖第一个证书,而不是附加到第一个证书上。此外,您的根证书不属于该链,因为这是您要验证的内容。你应该改为:

cat certs/intermediate1.crt.pem certs/intermediate2.crt.pem > certs/ca-chain.cert.pem
然后根据CA证书验证,或者简单地:

cat certs/intermediate1.crt.pem certs/intermediate2.crt.pem | openssl verify -CAfile certs/ca.crt.pem

谢谢我相应地修改了代码。还是不走运。我无法从ca chain certificateOK中看到信任链,只需执行我给您的openssl命令即可进行验证。要解决“找不到证书颁发者”问题,您必须将根证书添加到您的证书存储。谢谢。让我查一下