现在申请ssl证书首先需要提交csr证书
生成这个证书一般可以在服务器做,因为linux上相关软件基本上都是齐全的。
通过ssh连接服务器,cd到一个容易记住的目录。
执行命名生成CSR文件和重要的私钥KEY。
这里以baishujun.com为例了。
openssl req -new -newkey rsa:2048 -nodes -keyout baishujun.com.key -out baishujun.com.csr
这句话命令同时生成了key和csr
生成CSR的时候需要填写国家,公司、域名那些内容。有两个关键点
国家一定是大写!!比如中国CN
hostname就是我们的域名:www.baishujun.com
其它随便写了。
然后把csr下载下来,复制内容到ssl网站申请SSL公钥。
下载下来apache的公钥之后,一般是3个文件,类似这样
3588de0df9e757eb.crt,3588de0df9e757eb.pem和gd_bundle-g2-g1.crt
apache的ssl证书,把3588de0df9e757eb.crt,gd_bundle-g2-g1.crt及baishujun.com.key放到相应目录就行了。
但是如果是nginx环境了,就需要自己合并一下证书,命令是这样
cat /usr/3588de0df9e757eb.crt /usr/gd_bundle-g2-g1.crt >> /www/baishujun_com/baishujun.com.crt
这样就得到了nginx的crt证书。
划重点:cat后面文件的顺序不能调换!!bundle文件必须在后!
否则将出现证书与key不相匹配的错误“Starting nginx: nginx: [emerg] SSL_CTX_use_PrivateKey_file(“…../cert/baishujun.com.key”) failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)”
记录一下犯过的愚蠢小错误吧