10.mk - wwj-2017-1117/AES_OK GitHub Wiki
制作服务端证书完整步骤.md
0、准备工作 cd /home/wj/ mdir -p ca/demoCA # 目的是和 openssl.cnf 保持一致 cd /home/wj/ca/demoCA touch index.txt echo 1000 > serial mkdir newcerts
1、使用# openssl version -a 找到 openssldir 路径,把里面的 openssl.cnf 文件拷贝到 /home/wj/ca/demoCA 目录下
2、修改拷贝过来的 openssl.cnf 文件相关配置(只修改这一项) dir = /home/wj/ca/demoCA
3、首先,先生成服务端秘钥(key 文件),其中"2048"表示采用2048位RSA算法加密,推荐使用该长度。
openssl genrsa -des3 -passout pass:123456 -out server.key 2048
( 参数 -des3 指的是加密算法,当然也可以选用其他你认为安全的算法, 例如: -aes256)
4、生成 Certificate Signing Request(CSR) 生成的csr文件交给CA签名后形成服务端自己的证书(信息与之后制作的ca证书的信息要一致!)
[email protected]"
openssl req -new -passin pass:123456 -key server.key -out server.csr -config openssl.cnf -subj "/C=CN/ST=ZG/L=SH/O=huawei/OU=wireless/CN=huawei.com/emailAddress=5、制作CA顶级证书
CSR文件必须有CA的签名才可形成证书,可将此文件发送到verisign等地方由它验证,要交一大笔钱,我们这里只是做测试用,因此可以自己做CA根证书。 创建根ca证书时,请设置长点的时间(-days 3650 10年),一旦ca证书过期,由该证书签发的所有证书都将会过期。 执行命令时,请加上-config指定配置文件,不然openssl默认会去读取/etc/pki/tls/openssl.cnf 下的配置文件
一次生成key和证书
[email protected]"
openssl req -new -x509 -days 3650 -passout pass:123456 -keyout ca.key -out ca.crt -config openssl.cnf -subj "/C=CN/ST=ZG/L=SH/O=huawei/OU=wireless/CN=huawei.com/emailAddress=查看ca证书
openssl x509 -text -noout -in ca.crt 10年证明我们刚才设置的3650天生效了。
6、用生成的CA的证书为刚才生成的server.csr文件签名(-days 3650 证书有效期10年):
openssl ca -days 3650 -in server.csr -out server.crt -cert ca.crt -passin pass:123456 -keyfile ca.key -config openssl.cnf
7、查看和验证证书
查看证书:
openssl x509 -noout -text -in server.crt
验证证书:
openssl verify -CAfile ca.crt server.crt
计算MD5和SHA1
MD5 digest
openssl dgst -md5 filename
SHA1 digest
openssl dgst -sha1 filename