开发包:openssl-1.0.2a
(1)建立目录
建立主目录E:/openssl/demoCA
主目录下建立certs, private,crl,newcerts文件夹
主目录下创建index.txt和serial文件,其中serial写入01
(2)配置文件的更改
注:需要配置环境变量OPENSSL_CONF
修改dir为E:/openssl/demoCA
修改private_key为$dir/private/privkey.pem
(3)证书制作
(3.1) 生成CA的根目录证书和私钥(包括公钥) cacert.pem privkey.pem
openssl req -x509 -newkey rsa -out cacert.pem -outform PEM -days 356
mv privkey.pem private/privkey.pem #将CA的私钥放到指定的private中
(4)验证证书
(4.1)验证证书
将newcerts/01.pem移动到e:/中,验证E:/01.pem
按下面的指令验证:
verify -CAfile cacert.pem e:/01.pem
(4.2)另一种方式验证证书
之前的方式直接指定了-CAfile,即根证书。可以使用另外一种方式,指定路径,不用指定具体的根证书。
(4.2.1)计算哈希值
x509 -hash -in cacert.pem -noout
得到结果为91f372f2
修改cacert.pem为91f372f2.0
(4.2.2)
verify -CApath ./ e:/01.pem #验证通过。可以尝试不把01.pem改名,则不会通过验证。
(1)建立目录
建立主目录E:/openssl/demoCA
主目录下建立certs, private,crl,newcerts文件夹
主目录下创建index.txt和serial文件,其中serial写入01
(2)配置文件的更改
注:需要配置环境变量OPENSSL_CONF
修改dir为E:/openssl/demoCA
修改private_key为$dir/private/privkey.pem
(3)证书制作
(3.1) 生成CA的根目录证书和私钥(包括公钥) cacert.pem privkey.pem
openssl req -x509 -newkey rsa -out cacert.pem -outform PEM -days 356
mv privkey.pem private/privkey.pem #将CA的私钥放到指定的private中
(3.2) 生成证书请求和客户的私钥(包括公钥)
openssl req -newkey rsa:1024 -keyout testkey.pem -keyform PEM -out testreq.pem -outform PEM
(3.3) 颁发证书
openssl ca -in testreq.pem(4)验证证书
(4.1)验证证书
将newcerts/01.pem移动到e:/中,验证E:/01.pem
按下面的指令验证:
verify -CAfile cacert.pem e:/01.pem
(4.2)另一种方式验证证书
之前的方式直接指定了-CAfile,即根证书。可以使用另外一种方式,指定路径,不用指定具体的根证书。
(4.2.1)计算哈希值
x509 -hash -in cacert.pem -noout
得到结果为91f372f2
修改cacert.pem为91f372f2.0
(4.2.2)
verify -CApath ./ e:/01.pem #验证通过。可以尝试不把01.pem改名,则不会通过验证。