ssl - 处理链时无法获取本地颁发者证书

标签 ssl openssl x509 pki pkcs#12

我有私钥 (my_ca.key) 和由 DigiCert 签名的公钥 (my_cert.crt)。现在我想创建 RA(Registration Authority) 并用我的私钥签名。这是我尝试这样做的方式。但是当我尝试将私钥和公钥导出为 pkcs12 文件时,我遇到了这样的错误无法获取本地颁发者证书获取链。不知道如何解决这个问题。这里的 my_cert.crt 是从 DigiCert High Assurance CA-3 扩展而来的,而那个是从 DigiCert High Assurance EV Root CA 扩展而来的

 SSL_SUBJ="/C=LK/ST=Colombo/L=Colombo/O=Nope/OU=mobile/CN=My root"

 openssl genrsa -out ra.key 4096
 openssl req -new -key ra.key -out ra.csr -subj "$SSL_SUBJ"
 openssl x509 -req -days 365 -in ra.csr -CA my_cert.pem -CAkey my_ca.pem -  set_serial 76964474 -out ra.crt 
 openssl rsa -in ra.key -text > ra_private.pem
 openssl x509 -in ra.crt -out ra_cert.pem


 openssl pkcs12 -export -out ca.p12 -inkey my_ca.pem -in my_cert.pem -name "cacert" -passout pass:password
 openssl pkcs12 -export -out ra.p12 -inkey ra_private.pem -in ra_cert.pem -  chain -CAfile my_cert.pem -name "racert" -passout pass:password

最佳答案

您通常不能使用公共(public) CA 颁发的证书来签署客户端或服务器流量以外的任何内容;您将无法将其用于您的 RA。

错误信息表示中间证书有问题。确保将 Digicert 的两个证书都添加到 my_cert.pem 文件中,然后再将其导出到 pkcs12

关于ssl - 处理链时无法获取本地颁发者证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28870572/

相关文章:

http - 由未知授权机构签名的x509证书-Go-pingdom

ssl - 使用 force-ssl 时无法连接到在 virtualbox 上运行的 meteor 服务器

security - 通过标准输入安全地将密码传递给 openssl

ssl - 带有 Cloudflare 域的 Ngrok

C 使用 openssl 执行 HTTPS 请求

c - OpenSSL BN_exp() 用法

c - 如何从 X509 证书中获取 key 使用值?

security - "an introduction to openssl programming."文章。过期证书

web-services - 服务器通过 HTTPS 传输数据的重量有多大?

c# - 在需要调用证书的 asp.net 中创建 HTTPS 安全 SOAP 网络服务