Cent OS genkey坏证书请求错误-8016

我试图在centos 6.4中使用genkey命令来生成密钥。 每一件事似乎都很好,但我得到这个错误消息bad certificate request error -8016并没有生成密钥/证书。

这看起来像是在RHEL / CentOS 6.4 crypto-utils中报告的错误。 在CentOS论坛上也有报道。

问题描述:自从EL 6.4以来,新版本的NSS认为MD5签名是无效的。 1个 keyutils生成了带有md5签名的ssl证书。 由于EL 6.4试图生成一个ssl自签名证书导致segfault。

可能的解决方法 – 从错误报告 – 手动生成文件

 Manual creation works (creates an sha1 signed certificate): openssl genrsa -out ca.key 2048 openssl req -new -x509 -days 1095 -key ca.key -out ca.crt -subj "/CN=ca.puzzle.ch /O=Puzzle ITC/L=Bern/ST=Bern/C=CH" openssl genrsa -out server.key 2048 openssl req -new -key server.key -out server.csr -subj "/CN=server.example.com/O=Puzzle ITC/L=Bern/ST=Bern/C=CH" openssl x509 -req -days 1095 -CA ca.crt -CAkey ca.key -set_serial 01 -in server.csr -out server.crt openssl x509 -in server.crt -text Signature Algorithm: sha1WithRSAEncryption 

首先,你必须是根生成密钥。 可能问题在于您没有删除在安装过程中生成的假密钥和证书。 要解决这个问题,你应该首先进入/etc/httpd/conf目录。 然后通过以root身份运行来删除伪造的密钥和证书

 rm ssl.key/server.keyrm ssl.crt/server.crt 

完成这些步骤后,您可以使用genkey生成必要的密钥。 例如,如果你想为example.com生成一个密钥,你应该在你的terminal中运行这个命令

 genkey www.example.com 

有关更多信息,请点击此处( http://www.centos.org/docs/5/html/5.1/Deployment_Guide/s2-secureserver-generatingkey.html )。

作为一种解决方法,可以通过设置环境variablesNSS_HASH_ALG_SUPPORT=+MD5来手动启用对MD5签名的支持,但不鼓励。

使用MD5哈希algorithm的证书签名现在将被拒绝。 通过设置“NSS_HASH_ALG_SUPPORT = + MD5”的环境variables或使用NSS_SetAlgorithmPolicy函数,可以手动启用对MD5的支持(但不鼓励)。 请注意,名称中包含“MD5”的SSL密码套件不会因此更改而被禁用; 这些密码套件使用HMAC-MD5,而不是普通的MD5,并且仍然被认为是安全的。

NSS 3.14发行说明