我想知道如果有人有任何想法如何使用openssl生成一个签名的CA证书和密钥? 我发现这个网站( http://dev.mysql.com/doc/refman/5.1/en/secure-create-certs.html )生成客户端和服务器证书的MySQL服务器,但例子是一个自签名证书。 我使用以下命令来使用openssl和生成的证书和密钥运行服务器和客户端:
openssl s_server -accept 6502 -cert server-cert.pem -key server-key.pem -CAfile ca-cert.pem -www openssl s_client -connect 192.168.1.92:6502 -cert client-cert.pem -key client-key.pem -CAfile ca-cert.pem
我得到的错误输出是“validation返回码:18(自签名证书)”。
保罗
创build根CA(自签名):
我们来看看详细的选项:
创造它 :
sudo openssl req -x509 -nodes -newkey rsa:2048 -sha1 -keyout rootkey.key -out rootca.crt -passin pass:root -days 30000 -subj "/C=DU/ST=Dubai/L=TownCenter/O=AmesCom/CN=AmesCom Int" -config openssl.cnf.my
手动encryption密钥:
密钥没有encryption,因为-nodes选项,所以我们手动encryption:
sudo cp rootkey.key rootkey.key.org sudo openssl rsa -in rootkey.key.org -out rootkey.key
testing它:
为了立即testing,您可以采取两种方式:
openssl x509 -text -noout -in rootca.crt
或在浏览器上检查其内容:
cp rootca.crt /var/www/html/
从浏览器请求地址:
http://yourserverdomain/rootca.crt
现在您可以创build证书请求并使用此自签名证书对其进行签名
去年我写了一个脚本,为我做了所有的事情 – 创build一个虚假的CA,并签署该CA的证书。 如果需要链接完整,请确保将ca.crt的内容添加到最终的PEM文件中。
http://tacticalvim.wordpress.com/2010/06/20/sslkeygen-sh-complete-ssl-cert-creation-helper-script/
根据它的使用情况,你仍然会与伪造的签名者得到CA的问题,但它可能在技术上符合你的目的。
我已经解决了这个问题,但这是答案。
我设法使用以下网站生成我自己的证书: ConfiguringApache2ForSSLTLSMutualAuthentication
我已经在两台PC之间的openssl上进行了testing,并在Sierra Wireless调制解调器和openssl服务器之间的电波上进行了testing。