ERR_SSL_KEY_USAGE_INCOMPATIBLE 解决方案

ERR_SSL_KEY_USAGE_INCOMPATIBLE 解决方案

我最近在使用自签名证书时,在 Chrome 中遇到了错误消息 ERR_SSL_KEY_USAGE_INCOMPATIBLE。我花了几个小时尝试解决这个问题,最后用以下方法重新生成证书:

openssl req -new -x509 -days 36500 -nodes -newkey rsa:2048 -keyout cert.key -out cert.crt -extensions v3_req

希望这对其他人有帮助。

答案1

我通过改变来解决这个问题keyUsage = keyEncipherment, dataEncipherment在文件keyUsage = nonRepudiation, digitalSignature, keyEncipherment部分中v3_reqreq.confacme.sh是的,chrome 75 现在没有错误。

我的问题可能有点不同。原始配置使用 tls1.2 没问题,但ERR_SSL_KEY_USAGE_INCOMPATIBLE使用 tls1.3 就不行了。

生成认证的命令如下。

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout cert.key -out cert.crt -config req.conf -extensions v3_req

我的 req.conf 的全部内容

[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
# C = US
# ST = California
# L = Los Angeles
# O = Internet Corporation for Assigned Names and Numbers
# OU = IT Operations
CN = home.arpa
[v3_req]
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = home.arpa
DNS.2 = *.home.arpa
IP.1 = 192.168.1.1
IP.2 = fe80::123:4567:89ab:cdef

答案2

此问题与‘v3_req’ SSL 配置中的‘KeyUsage’参数的值有关。

从配置中删除“KeyUsage”意味着任何使用对于证书都是有效的。出于某种原因(我尚未确定),如果指定了 keyusage,Chrome 75/76 将拒绝通过本地主机的自签名证书的密钥。

从 v3_req 中删除“KeyUsage”参数并重新生成证书可以修复该问题,因此 Tiffany 发布的命令将起作用,因为未指定 KeyUsage。

相关内容