这个脚本是ssl自签名证书生成用的便捷脚本,只需要改里面SUBJECT,分别是国家、省份、城市、公司、部门
#!/bin/sh # create self-signed server certificate: read -p "Enter your domain [www.example.com]: " DOMAIN echo "Create server key..." openssl genrsa -des3 -out $DOMAIN.key 1024 echo "Create server certificate signing request..." SUBJECT="/C=US/ST=Mars/L=iTranswarp/O=iTranswarp/OU=iTranswarp/CN=$DOMAIN" openssl req -new -subj $SUBJECT -key $DOMAIN.key -out $DOMAIN.csr echo "Remove password..." mv $DOMAIN.key $DOMAIN.origin.key openssl rsa -in $DOMAIN.origin.key -out $DOMAIN.key echo "Sign SSL certificate..." openssl x509 -req -days 3650 -in $DOMAIN.csr -signkey $DOMAIN.key -out $DOMAIN.crt echo "OK"
运行脚本效果,假设你的域名是www.test.com
,那么按照提示输入:www.test.com
$ ./gencert.sh Enter your domain [www.example.com]: www.test.com Create server key... Generating RSA private key, 1024 bit long modulus .................++++++ .....++++++ e is 65537 (0x10001) Enter pass phrase for www.test.com.key:输入口令 Verifying - Enter pass phrase for www.test.com.key:输入口令 Create server certificate signing request... Enter pass phrase for www.test.com.key:输入口令 Remove password... Enter pass phrase for www.test.com.origin.key:输入口令 writing RSA keySign SSL certificate... Signature ok subject=/C=US/ST=Mars/L=iTranswarp/O=iTranswarp/OU=iTranswarp/CN=www.test.com Getting Private keyTODO: OK
这样证书就生成好了,注意4次输入的口令都是一样的。
在当前目录下会创建出4个文件:
www.test.com.crt:自签名的证书
www.test.com.csr:证书的请求
www.test.com.key:不带口令的Key
www.test.com.origin.key:带口令的Key
Web服务器需要把www.test.com.crt
发给浏览器验证,然后用www.test.com.key
解密浏览器发送的数据,剩下两个文件不需要上传到Web服务器上。