近期评论

tls密钥生成技巧

ssl和tls的加密过程就不说了。主要讲下密钥的制作过程。

编写密钥生成是的dn信息配置,免得要手动输入很麻烦。
vim thy.conf
#####################################################
[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no

[ req_dn ]
C=CN
ST=GD
L=SZ
O=mopon
OU=devops
CN=mail.mopon.cn
emailAddress=postmaster@mopon.cn

[ cert_type ]
nsCertType = server
#####################################################

编写密钥的shell脚本:
vim thy.sh
#####################################################
#!/bin/sh
rm -rf ./*.pem

openssl genrsa -des3 -out ./tls_cakey.pem 2048

openssl req -config thy.conf \
-new -x509 -days 365 \
-key ./tls_cakey.pem -out ./tls_cacert.pem

openssl req -config thy.conf \
-new -x509 -nodes -days 365 \
-out ./tls_cert.pem -keyout ./tls_key.pem || exit 2

chmod 0600 ./*.pem

echo
openssl x509 -subject -fingerprint -noout -in ./tls_cert.pem || exit 2

cp ./tls_cacert.pem /etc/postfix/
cp ./tls_key.pem /etc/postfix/
cp ./tls_cert.pem /etc/postfix/
#####################################################

然后开始制作密钥,证书等文件。
sh thy.sh
提示输入密码,输入一个4个字符以上的密码即可。
Generating RSA private key, 2048 bit long modulus
…………………………………………………………..+++
……………………………+++
e is 65537 (0x10001)
Enter pass phrase for ./tls_cakey.pem:
Verifying – Enter pass phrase for ./tls_cakey.pem:
Enter pass phrase for ./tls_cakey.pem:
Generating a 1024 bit RSA private key
……………………….++++++
………..++++++
writing new private key to './tls_key.pem'
—–

subject= /C=CN/ST=GD/L=SZ/O=mopon/OU=devops/CN=mail.mopon.cn/emailAddress=postmaster@mopon.cn
SHA1 Fingerprint=24:36:CF:A9:31:49:F1:EB:7B:DC:20:88:0C:84:C5:B4:08:16:99:87

如果成功的话会有上面的输出结果,并产生了4个pem文件。smtp只用到了其中3个:
tls_cacert.pem,tls_key.pem和tls_cert.pem

dovecot只用到其中两个:
tls_key.pem和tls_cert.pem

6 Responses to “tls密钥生成技巧”

Leave a Reply