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

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

我正在尝试使用 centos 6.4 中的 genkey 命令生成密钥。一切似乎都顺利,但我收到此错误消息bad certificate request error -8016,并且没有生成密钥/证书。

答案1

这看起来像是一个错误报告于此处在 RHEL/CentOS 6.4 crypto-utils 中。CentOS 论坛

问题描述:自 EL 6.4 开始,新版本的 NSS 将 MD5 签名视为无效。1 keyutils 使用 md5 签名生成 ssl 证书。自 EL 6.4 起,尝试生成 ssl 自签名证书会导致段错误。

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

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

答案2

首先,您必须是 root 才能生成密钥。问题可能是您没有删除安装过程中生成的假密钥和证书。要修复它,您应该首先转到目录/etc/httpd/conf。然后以 root 身份运行以删除假密钥和证书

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

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

genkey www.example.com

欲了解更多信息,可以查看此处(http://www.centos.org/docs/5/html/5.1/Deployment_Guide/s2-secureserver-generatingkey.html)。

答案3

作为一种解决方法,可以通过设置环境变量来手动启用对 MD5 签名的支持NSS_HASH_ALG_SUPPORT=+MD5,但不建议这样做。

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

NSS 3.14 发行说明

相关内容