這個腳本是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服務器上。