上一节介绍了OpenSSL的目录结构,本节介绍一下SSL证书的制作。
OpenSSL安装后建议把其中的bin目录添加到系统环境变量中,方便以后操作。
-
建立一个新的目录SSL专门用来制作证书。
-
建立证书目录
我们使用默认配置openssl.cfg,那么就要建立配置中要求的目录demoCA,使用脚本CA.pl
CA.pl -newca
把OpenSSL安装目录下的serial文件拷贝到demoCA目录下即可。
-
我们不使用demoCA提供的根证书,自己制作根证书,创建根证书的密钥文件pmroot.key
ps: 必须输入密钥
openssl genrsa -des3 -out pmroot.key
-
创建根证书的申请文件pmroot.csr
openssl req -new -key pmroot.key -out pmroot.csr
-
创建一个为期十年的根证书pmroot.crt
openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey pmroot.key -in pmroot.csr -out pmroot.crt
-
生成服务器端密钥文件pmserver.key
openssl genrsa -des3 -out pmserver.key
-
生成服务器端证书申请文件pmserver.csr
openssl req -new -key pmserver.key -out pmserver.csr
-
若需要客户端证书,安装上述证书操作分别生成pmclient.key和pmclient.csr即可。
-
生成的csr文件必须有CA的签名才可形成证书,用前面生成的CA证书为pmserver.csr,pmclient.csr文件签名:
openssl ca -days 3650 -in pmserver.csr -out pmserver.crt -cert pmroot.crt -keyfile pmroot.key
openssl ca -days 3650 -in pmclient.csr -out pmclient.crt -cert pmroot.crt -keyfile pmroot.key
这样我们需要的全部文件便生成了。
另:client使用的文件有:pmroot.crt,pmclient.crt,pmclient.key
server使用的文件有:pmroot.crt,pmserver.crt,pmserver.key
crt文件和key文件可以合到一个pfx文件里。
合并命令:openssl pkcs12 -export -in pmserver.crt -inkey pmserver.key -out pmserver.pfx