Postfix错误“Warning: cannot get RSA private key from file”问题解决
这几天在架设年级的Group Mail,Kaijia在尝试使用Postfix架设SMTP服务器时遇到了邮件无法接受的情况,查看了系统日志/var/log/mail.info找到了一下记录:
1 2 3 4 |
Nov 9 07:57:24 mail postfix/smtpd[24567]: warning: cannot get RSA private key from file /etc/postfix/kaijia.me.key: disabling TLS support Nov 9 07:57:24 mail postfix/smtpd[24567]: warning: TLS library problem: 24567:error:0906406D:PEM routines:PEM_def_callback:problems getting password:pem_lib.c:111: Nov 9 07:57:24 mail postfix/smtpd[24567]: warning: TLS library problem: 24567:error:0906A068:PEM routines:PEM_do_header:bad password read:pem_lib.c:454: Nov 9 07:57:24 mail postfix/smtpd[24567]: warning: TLS library problem: 24567:error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib:ssl_rsa.c:669: |
Google之后发现是由于私钥被加密造成的,Kaijia在SMTP中使用的私钥和在《Firefox不信任StartSSL证书问题解决》一文中使用的私钥相同,均需要密码才能查看内容。在这之前,Apache服务器启动时会询问密码以解开密钥,而Postfix启动时不会询问密码,因此无法解开密钥,于是就出现了无法读取RSA private key的问题。
解决此问题需要通过openssl去掉私钥的密码短语就可以了,在命令行中运行:
1 2 3 |
cd /path/to/your/ssl/key/ mv 私钥文件.key 私钥文件.key.original openssl rsa -in 私钥文件.key.original -out 私钥文件.key |
此时会提示输入密码,输入后确认。此时私钥就已移除密码,之后Postfix就可以正常收到邮件了。
评论