我一直试图让stunnel使用我的签名证书(使用我在Firefox中信任的CA )。错误是:
127.0.0.1:5559使用无效的安全证书。证书仅对127.0.0.1错误代码: SSL_ERROR_BAD_CERT_DOMAIN有效
但是,127.0.0.1使用的是可选的DNS名称。下面是我的OpenSSL配置文件:
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
CN = chacheserver.net
[v3_req]
keyUsage = digitalSignature, keyEncipherment, dataEncipherment, keyAgreement
extendedKeyUsage = serverAuth, clientAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = chacheserver.net
DNS.2 = *.chacheserver.net
DNS.3 = *.*.chacheserver.net
DNS.4 = *.*.*.chacheserver.net
DNS.5 = 192.168.1.130
DNS.6 = 192.168.1.70
DNS.7 = 192.168.2.130
DNS.8 = 192.168.2.70
DNS.9 = 192.168.8.70
DNS.10 = 192.168.8.130
DNS.11 = 127.0.0.1发布于 2016-05-02 07:29:05
尝试用IP. (而不是DNS.类型)标记您的IP。
也就是说,让您的部分看起来像这样:
[alt_names]
DNS.1 = chacheserver.net
DNS.2 = *.chacheserver.net
DNS.3 = *.*.chacheserver.net
DNS.4 = *.*.*.chacheserver.net
DNS.5 = 192.168.1.130
DNS.6 = 192.168.1.70
DNS.7 = 192.168.2.130
DNS.8 = 192.168.2.70
DNS.9 = 192.168.8.70
DNS.10 = 192.168.8.130
DNS.11 = 127.0.0.1
IP.1 = 192.168.1.130
IP.2 = 192.168.1.70
IP.3 = 192.168.2.130
IP.4 = 192.168.2.70
IP.5 = 192.168.8.70
IP.6 = 192.168.8.130
IP.7 = 127.0.0.1一些崩溃的浏览器(我认为是较老的Internet )实际上希望IP被标记为"DNS“。因此,为了向后兼容,您可以保留标识为IP的IP,还可以添加带有ID "IP“类型的IP。
我不认为很多客户会接受超过一个通配符。
因此,他们可能会接受这些:
DNS.1 = chacheserver.net
DNS.2 = *.chacheserver.net但拒绝这些:
DNS.3 = *.*.chacheserver.net
DNS.4 = *.*.*.chacheserver.net发布于 2016-05-01 20:09:30
您已经将127.0.0.1添加到证书的替代DNS中,但127.0.0.1是一个IP地址,而不是域名。DNS字段需要使用域名,这意味着客户端对IP的域名进行查找并获取localhost。因为这不匹配("127.0.0.1" != "localhost"),所以会得到不匹配的错误。
您要寻找的字段是subjectAltName。这允许您设置其他通用名称(CNs),包括IP地址。
https://security.stackexchange.com/questions/122059
复制相似问题