?? makecert
字號:
#!/bin/sh #set -xif [ $# == 1 ]; then DAYS=1095elif [ $# == 2 ]; then DAYS=$2else echo "Usage: makeCert test.example.org [days]" echo " makeCert alice@example.org [days]" echo "days is how long the certificate is valid" echo "days set to 0 generates an invalid certificate" exit 0fiDOMAIN=`echo $1 | perl -ne '{print "$1\n" if (/\.(.*)$/)}' ` ADDR=$1echo "making cert for ${DOMAIN} ${ADDR}"rm -f ${ADDR}_*.pemrm -f ${ADDR}.p12case ${ADDR} in*:*) ALTNAME="URI:${ADDR}" ;;*@*) ALTNAME="URI:sip:${ADDR},URI:im:${ADDR},URI:pres:${ADDR}" ;;*) ALTNAME="DNS:${DOMAIN},DNS:${ADDR},URI:sip:${ADDR}" ;;esac #ALTNAME="URI:sip:pekka.nrc.sipit.net,URI:sip:nrc.sipit.net"rm -f demoCA/index.txttouch demoCA/index.txtrm -f demoCA/newcerts/*export ALTNAMEopenssl genrsa -out ${ADDR}_key.pem 2048openssl req -new -config openssl.cnf -reqexts cj_req \ -sha1 -key ${ADDR}_key.pem \ -out ${ADDR}.csr -days ${DAYS} <<EOFUSCaliforniaSan Josesipit${ADDR}EOFif [ $DAYS == 0 ]; thenopenssl ca -extensions cj_cert -config openssl.cnf \ -passin pass:password -policy policy_anything \ -md sha1 -batch -notext -out ${ADDR}_cert.pem \ -startdate 990101000000Z \ -enddate 000101000000Z \ -infiles ${ADDR}.csrelseopenssl ca -extensions cj_cert -config openssl.cnf \ -passin pass:password -policy policy_anything \ -md sha1 -days ${DAYS} -batch -notext -out ${ADDR}_cert.pem \ -infiles ${ADDR}.csrfiopenssl pkcs12 -passin pass:password \ -passout pass:password -export \ -out ${ADDR}.p12 -in ${ADDR}_cert.pem \ -inkey ${ADDR}_key.pem -name ${ADDR} -certfile demoCA/cacert.pemopenssl x509 -in ${ADDR}_cert.pem -noout -textcase ${ADDR} in*@*) mv ${ADDR}_key.pem user_key_${ADDR}.pem; \ mv ${ADDR}_cert.pem user_cert_${ADDR}.pem ;;*) mv ${ADDR}_key.pem domain_key_${ADDR}.pem; \ mv ${ADDR}_cert.pem domain_cert_${ADDR}.pem ;;esac
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -