介绍
介绍
如果我们需要一张SSL证书,又不想花钱,又不想麻烦,可以自己制作一个。
自己制作的SSL证书的好处是分分钟搞定,简单,快捷。
缺点是证书不受信任,浏览器会显示不安全。
教程
创建 server.key 文件
openssl genrsa -des3 -out server.key 1024
创建 server.csr 文件
有六项信息必须填写,其中“Common Name”就是证书的域名不要写错了
命令
openssl req -new -key server.key -out server.csr -config /etc/pki/tls/openssl.cnf
必填项
Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:Beijing Locality Name (eg, city) [Default City]:District east Organization Name (eg, company) [Default Company Ltd]:TONGFU.net Organizational Unit Name (eg, section) []:TONGFU.net Common Name (eg, your name or your server's hostname) []:tongfu.net
创建 ca.crt 和 ca.key 文件
有六项信息必须填写,其中“Common Name”就是证书的域名不要写错了
命令
openssl req -new -x509 -keyout ca.key -out ca.crt -config /etc/pki/tls/openssl.cnf
必填项
Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:Beijing Locality Name (eg, city) [Default City]:District east Organization Name (eg, company) [Default Company Ltd]:TONGFU.net Organizational Unit Name (eg, section) []:TONGFU.net Common Name (eg, your name or your server's hostname) []:tongfu.net
如果没有文件 /etc/pki/CA/index.txt 就创建一个
touch /etc/pki/CA/index.txt
如果没有文件 /etc/pki/CA/serial 就创建一个
echo "00" > /etc/pki/CA/serial
创建 server.crt 文件
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config /etc/pki/tls/openssl.cnf
最后会生成如下文件
ca.crt ca.key server.crt server.csr server.key
创建免密key文件
创建后使用server.key.unsecure就可以在重启web服务的时候不需要输入密码了
openssl rsa -in server.key -out server.key.unsecure
总结
通过以上的方法就可以随意制作SSL证书了,通过SSL证书可以给Nginx或者Apache这样的web服务器配置HTTPS访问方式。HTTPS方式传输是加密的,过程传输的数据很难被破解。
不过,由于我们自己制作的证书,我们自己是可以轻松解码的,所以浏览器才会提示不安全了。