1.創建私鑰
openssl genrsa -des3 -out privkey.pem 2048
這個會生成一個私鑰文件,如果不期望加密,則去除-des3這個選項
2.創建請求籤名證書
openssl req -new -key privkey.pem -out cert.csr
這個會生成一個請求籤名證書文件,然後將文件發送給CA即可
3.創建自簽名證書
如果沒有ca,可以自己給自己簽名
openssl req -new -x509 -key privkey.pem -out cacert.cer -days 1095
4.創建中文自簽名證書
上面創建的證書裏面只能是英文,不能是中文。如果要創建中文證書,則必須通過修改openssl.cnf模板文件。
首先將模板文件裏面的一些缺省東西修改爲中文,然後使用iconv存儲爲utf8格式
iconv -f gbk -t utf-8 openssl.cnf > openssl_utf8.cnf
然後使用openssl簽名,指明-utf8的格式和-config的配置文件
openssl req -utf8 -new -x509 -key privkey.pem -config openssl_utf8.cnf -out cacert.cer -days 1095
對於中文的簽名請求證書的方法也是一樣的。
5.對請求籤名證書進行簽名
前面已經生成了一個簽名請求文件,下面我們按照我們是CA對證書進行簽名
openssl ca -batch -utf8 -in cert.csr -out cert.cer -config ca/openssl.cnf
簽名證書的用途和功能可以由openssl.cnf文件中的
nsCertType = client, email, objsign,server
keyUsage = nonRepudiation, digitalSignature, keyEncipherment