我确实有私钥(my_ca.key)和公钥(my_cert.crt),它们是由DigiCert签名的。现在,我希望生成SSL证书(第3版),并通过我的私钥对其进行签名。我试着这么做的。但是当我导出到密钥链(Mac )时。我一直收到这样的错误:“这个证书有一个无效的发出者密钥链”。不知道怎么解决这个问题。这里,my_cert.crt是从DigiCert高级保证CA-3扩展的,而另一个是从DigiCert高级保证EV根CA扩展的。还添加了DigiCert高保证CA-3,DigiCert高保证EV根CA到关键链.它显示my_cert.crt是有效的。怎么会有这样的错误。
######### Initialization
SSL_SUBJ="/C=LK/ST=Colombo/L=Colombo/O=wso2/OU=laptop/CN=mdm.go.com"
########SSL Certificate
echo "\nGenerating SSL Certificate >>>>>> START"
openssl genrsa -out ia.key 4096
openssl req -new -key ia.key -out ia.csr -subj "$SSL_SUBJ"
openssl x509 -req -days 365 -in ia.csr -CA my_cert.pem -CAkey my_ca.pem -set_serial 765644787 -out ia.crt -extensions v3_ca -extfile ./openssl.cnf
echo "\nGenerating SSL Certificate >>>>>> END \n"
openssl pkcs12 -export -out ia.p12 -inkey ia.key -in ia.crt -CAfile my_cert.pem -name sslcert -passout pass:password注意:在/etc/主机中添加了自定义条目,将IP地址映射到server,用于测试服务器和客户端在同一台计算机中。
发布于 2015-03-08 07:24:25
通常,证书链中的所有X.509证书(最后一个除外)都是CA证书。链中的第一个证书称为根CA (在您的例子中是DigiCert高级保证EV根CA),那么发行人链中的其他CA证书(如果有的话)是中间CA,最后一个证书是End实体(而不是CA)。我认为您不能颁发由非CA证书颁发的新SSL证书.因此,您可以使用由my_cert.crt签名的DigiCert作为SSL证书,但不能使用my_ca.key颁发自己的证书。
发布于 2016-02-16 13:11:10
这是苹果的答案。
感谢你让社区注意到这一点,并为你所遇到的问题道歉。此问题源于您的系统和登录密钥链中都有过期的WWDR中级证书的副本。要解决这个问题,您首先应该下载并安装新的WWDR中间证书(通过双击文件)。接下来,在keychain应用程序中,选择系统密钥链。确保在“查看”菜单中选择“显示过期证书”,然后删除Apple Worldwide Developer中级证书的过期版本(2016年2月14日到期)。您的证书现在应该在Keychain中显示为有效,并且可以通过Xcode向appear提交。
您还可以查看https://forums.developer.apple.com/thread/37208
有关更多详细信息,请参阅https://developer.apple.com/support/certificates/expiration/
发布于 2016-02-19 03:43:04
对于这个问题,我有一个简单的解决办法。
选择密钥链中的证书,右键单击它。在那里,您将看到"GetInfo“选项,单击它并选择”信任“选项。使用此证书“始终信任”时,请选择该选项。仅此而已-此证书将标记为您的帐户受信任。

https://stackoverflow.com/questions/28890084
复制相似问题