如果我使用OpenSSL创建一个X509证书,该证书使用CA证书签名,并包括X509v3 SAN(主题替代名称)扩展,则生成的证书包含两次SAN扩展,而如果证书是自签名的,则SAN扩展仅出现一次(我会认为正确)。
复制步骤:
$ openssl version
OpenSSL 1.0.2n 7 Dec 2017
$ openssl genrsa -out example.key 2048
$ openssl req -new -key example.key -out example.csr
# ... confirm certificate defaults only enter "example.com" as Common Name
$ echo subjectAltName=DNS:example.com,DNS:www.example.com > example.cnf
$ openssl x509 -req -sha256 -days 7300 -text -extfile example.cnf \
-in example.csr -signkey example.key \
-CA ../ca.crt -CAkey ../ca.key -set_serial 01 \
-out example.crt
之后,如果我输入证书,“X509v3受试者替代名称”部分将打印两次:
$ openssl x509 -in example.crt -text -noout
...
X509v3 extensions:
X509v3 Subject Alternative Name:
DNS:example.com, DNS:www.example.com
X509v3 Subject Alternative Name:
DNS:example.com, DNS:www.example.com
...
如果未使用CA且证书通过以下方式进行自签名,则情况并非如此:
$ openssl x509 -req -sha256 -days 7300 -text -extfile example.cnf \
-in example.csr -signkey example.key \
-out example.crt
我可以使用OpenSSL 1.0.2n以及OpenSSL 0.9.8zh验证此行为。
这是一个OpenSSL错误还是有任何有效的解释?
请参阅@dave_thompson_085的答案:
同时使用-signkey
和-CAkey
没有任何意义,会引发这种奇怪的副作用。
我已经通过终端在远程ubuntu机器中逐一使用以下命令生成了一个SSL自签名证书: T我已经将添加到本地计算机的cacerts中,使用命令提示符中的keytool作为admin。还将添加到“受信任的根证书颁发机构”中。他发出对Postman上的远程ubuntu机器服务器的HTTPS请求可以正常工作,但在IntelliJ上就不行了,我可以放心地得到:
最近,Chrome已经停止使用我自己签名的SSL证书,并认为它们不安全。当我查看选项卡中的证书时,我可以看到它说 主题备选名称缺少此站点的证书不包含包含域名或IP地址的主题备选名称扩展名。 证书错误站点的证书链存在问题(net::ERR\u CERT\u COMMON\u NAME\u无效)。 我怎样才能解决这个问题?
> 我通过终端在远程ubuntu机器中逐一使用以下命令生成了一个SSL自签名证书:a。b。c.d。(在此步骤中,提供公共名称)e。F。 我已经将server.crt添加到本地计算机的cacerts中,使用命令提示符中的keytool作为admin 还将server.crt添加到“受信任的根证书颁发机构”中 现在的问题是,Postman上对远程ubuntu机器服务器的HTTPS请求可以正常工作,但在
我正在云中的Ubuntu12.10服务器(AWS)上运行一个Apache CouchDB实例(1.3.0版)。我正在尝试让SSL在我的couchDB实例上工作。 基本的SSL设置非常简单。我已将我的证书和密钥放在一个目录中,并在我的本地应用程序中取消了以下行的注释。ini文件 我还确保这些文件的所有权是正确的。 这很好,couchDB服务器启动,您可以导航到https://mycouchdbser
问题内容: 我有一个网络应用程序,允许用户上传pkcs12。我将pkcs12作为二进制存储在数据库中。有什么办法让我知道pkcs12中的证书是自签名的还是CA签名的? 我正在tomcat上运行Java Web应用程序,并且可以使用openssl。 问题答案: 但是,我认为还有一些更重要的事情要解决- 为什么 人们想了解自签名证书。目标是什么?解决了什么问题?在大多数情况下,可能尝试将证书分为自签名
我需要用DSA公钥验证X509证书签名。我的证书文件x509.crt,我的DSA公钥在一个名为dsa_pub.key的文件中 我正试图为此使用openssl。我已经阅读了openssl验证文档,但在其中找不到任何有关DSA的参考。 当我运行以下命令时,我可以在证书中看到我的DSA公钥: 但是,在使用文件DSA_pub.key中的DSA公钥验证cert.crt时,我遇到了麻烦 如果您有任何建议,我将