- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我们如何删除关于重复问题的错误横幅?
这个问题不是 Why does requestjs reject a self-signed SSL certificate that works with Firefox? 的重复问题.虽然该问题的答案可能会产生类似的配置文件,但该问题并未在 subjectAltName
中使用 DNS:
。这是一个关键点,因为我们可以通过 Google 轻松找到的所有示例都使用 DNS:
,它不适用于 IP 地址。
这个问题不是 Exception on using IP address in certificate name 的重复问题.虽然该问题的答案可能会生成类似的配置文件,但该问题完全缺少 subjectAltName
。
这个问题也不是 Using ip address for common name in server certificate does not work in Android? 的重复问题出于同样的原因。
回到实际问题
我想编写一个响应 localhost
和 127.0.0.1
的 SSL 服务器。各种网站都说这可以使用 subjectAltName
来实现。所以我使用以下 openssl
配置文件创建了一个服务器证书:
distinguished_name = dn
x509_extensions = v3_ca
[req]
prompt = no
[dn]
0.CN = localhost
1.CN = 127.0.0.1
[v3_ca]
subjectAltName = DNS:localhost,DNS:127.0.0.1
服务器正在发送 subjectAltName
。例如,由 s_client
验证:
% echo | openssl s_client -showcerts -CAfile keys/cert.pem -connect localhost:8443 | grep -i -A 2 certificate
depth=0 CN = localhost, CN = 127.0.0.1
verify return:1
DONE
Certificate chain
0 s:/CN=localhost/CN=127.0.0.1
i:/CN=localhost/CN=127.0.0.1
-----BEGIN CERTIFICATE-----
MIIC9jCCAd6gAwIBAgIJANlipKdvxVlUMA0GCSqGSIb3DQEBCwUAMCgxEjAQBgNV
BAMMCWxvY2FsaG9zdDESMBAGA1UEAwwJMTI3LjAuMC4xMB4XDTE5MDcyMzAxMjcw
--
-----END CERTIFICATE-----
---
Server certificate
subject=/CN=localhost/CN=127.0.0.1
issuer=/CN=localhost/CN=127.0.0.1
--
No client certificate CA names sent
Peer signing digest: SHA512
Server Temp Key: X25519, 253 bits
我们也可以用一个简单的 Python 客户端来验证它,它会报告:
Cipher is ECDHE-RSA-AES256-GCM-SHA384, SSL protocol is TLSv1.2, bits=256
Peer cert is {'subjectAltName': (('DNS', 'localhost'), ('DNS', '127.0.0.1')), 'notBefore': u'Jul 23 01:27:02 2019 GMT', 'serialNumber': u'D962A4A76FC55954', 'notAfter': 'Jul 22 01:27:02 2020 GMT', 'version': 3L, 'subject': ((('commonName', u'localhost'),), (('commonName', u'127.0.0.1'),)), 'issuer': ((('commonName', u'localhost'),), (('commonName', u'127.0.0.1'),))}
Hello from SSL server!
不幸的是,curl
只能识别名字:
% curl --cacert keys/cert.pem https://localhost:8443
Hello from SSL server!
% curl --cacert keys/cert.pem https://127.0.0.1:8443
curl: (51) SSL: no alternative certificate subject name matches target host name '127.0.0.1'
%
我们如何让 curl
(和其他程序)注意 subjectAltName
,整个 subjectAltName
,只有 subjectAltName
?
更新
也许它适用于此:
distinguished_name = dn
x509_extensions = v3_ca
[req]
prompt = no
[dn]
CN = IGNORED
[v3_ca]
subjectAltName = DNS:localhost,IP:127.0.0.1
这些东西是否记录在任何地方?
最佳答案
关于ssl - curl 无法识别 subjectAltName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57155618/
我遇到了与此票证相同的问题,但在过去 5 天内尚未解决,因此与该用户不同,我不确定这是否是 DNS 问题。我发布了我的问题版本,因为另一个问题的答案是“它解决了它自己”(这在我的情况下没有发生)。 H
我们如何删除关于重复问题的错误横幅? 这个问题不是 Why does requestjs reject a self-signed SSL certificate that works with Fi
我目前正在使用以下代码为其他域生成带有 subjectAltName 的 CSR。 $domains = ["example.com", "www.example.com"]; $san = impl
一点点背景 : 我正在构建一个 certificate authority使用 M2Crypto 和 Django,所以请在投票结束前三思而后行! :) 我的方法是最终用户由电子邮件地址识别,他们的自
我已经申请了一个证书(用于 IIS 7 上的 SSL),其中包含多个 subjectAltNames。我读到有些人可能不喜欢这样做,因为公众能够看到不同站点之间的链接。 (这无关紧要,因为证书供内部使
生成的 CSR 是否包含 SubjectAltName 我已将 openssl.cnf 文件配置为支持扩展,当我转储 CSR 时我可以看到主题可用而不是 SubjectAltName CSR就是这样产
我需要使用 pyOpenSSL 从 Python 生成 SSL 证书。有谁知道是否可以设置 subjectAltName?从文档(https://pythonhosted.org/pyOpenSSL/
对于“otherName”的 subjectAltName,OpenSSL 似乎总是显示“不支持”。 写入的字符串(通过 M2Crypto 和直接在命令行通过 openssl.cnf): 1.2.3.
我正在尝试使用 logstash-forwarder 连接到 logstash。他们的通信基于 ssl,所以我生成一个自签名证书如下 this .然后我在 logstash-forwarder 端收到
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我有一些 pyOpenSSL 给我的数据,'0\r\x82\x0bexample.com'。这应该是 subjectAltName X509 扩展名的值。我尝试使用 pyasn1(并基于 pyasn1
我正在创建 CA 证书。我想添加带有一些值的 subjectAltName 扩展名,例如电子邮件或 crl 或公共(public)证书位置等。 package main import ( "c
X509v3 可以包含 IP subject Alternative Name 中的地址字段延期。 作为验证服务器身份的应用程序,应该如何验证IP地址字段? 如果同时存在 DNS 名称和 IP 地址?
我正在尝试使用 DirName 类型的 SubjectAltName 生成自签名证书。其他类型的 SubjectAltName(如 DNS)可以正常工作,但 DirName 将无法正常工作。重现相当简
Chrome 58 弃用了省略主题备用名称 (SAN) 的自签名证书。我使用 Mono.Security.X509 X509CertificateBuilder() 在“本地主机”上为 Windows
我试图抑制以下警告: /usr/lib/python2.7/site-packages/urllib3/connection.py:251: SecurityWarning: Certificate
我正在寻找一种在 IIS 6.0 证书创建向导中的证书请求中添加主题备用名称的方法。看来我只能填写主题字段而不能填写主题备用名称。 尝试使用 certreq.exe 遵循本指南 ( http://su
我刚刚设置了我的第一个需要 ssl 的应用程序。 这是 RoR 应用程序,托管在 Heroku 上。 我已将 SSL Endpoint 插件添加到我的应用程序中。我从 DNSimple 购买了 SSL
我正在尝试从 C++ 代码创建带有 subjectAltName 的自签名请求(尝试将 this 等动态自签名证书实现到实际版本的 OpenResty,但没有针对 subjectAltName 的解决
我是一名优秀的程序员,十分优秀!