我试图使用OpenSSL从证书中构建一个链(或者只是从某个地方获取它),最好使用命令行界面。
我在internet上找到了一些例子,但我被这样一个问题所困扰:“我从哪里获得证书的CA颁发者?”
例如,检查本网站的openssl命令cheatsheet,您会发现该命令
openssl s_client-showcerts-host example.com-端口443
因此,我不能直接从证书中获得链,但我应该向某处索取链。
现在我的问题是:我从哪里获得主机名,我可以在哪里发送对链的请求?
我看了两张证书。
使用openssl
,我可以使用以下命令询问发行者:
openssl x509-incertfile-noout-isslisher
而我分别得到
老实说,我不知道如何处理这些结果....
然后,用命令调查
openssl x509-text-in certFile
我找到了友邦保险的扩展:
但是使用google,我不知道如何使用OpenSSL
....我可能可以使用wget
,但我没有从StackExchange获得的相同格式...
所以,最后,我的问题是:
openssl
获取CA颁发者,而无需自己解析输出?(类似于openSSL x509-causser-in certfile
)PS:我在最后试图实现的是验证一个证书,遍历完整的证书链,并检查链中每个证书的所有OCSP或CRL......如果您有C++中的工作示例,或者只是使用OpenSSL CLI,我将非常感激:)
编辑:
我现在正在做的是自己创建链。
使用AIA扩展,我获取CA颁发者URI,下载CA颁发者证书(如果需要,转换为PEM),等等,直到我再也找不到CA颁发者。那么,很可能是根CA。
之后,我手动收集所有的pem并创建链。
我知道这有点老了,已经解决了,但我想我应该添加一个小脚本,从x509输出中解析出CA颁发者:
getcaissuer() {
openssl x509 -noout -text -in $1 | awk '/^[ \t]+CA Issuers[ \t]+-[ \t]+URI:/ { print gensub(/^.*URI:(.*)$/,"\\1","g",$0); }'
}
# usage: getcaissuer <certificate>
我正在使用X509Certificates实现通信,并正在努力验证证书。 下一个问题:需要验证签名的证书,并对照父证书进行检查,但在执行此操作时,如下所示: 它抛出,签名错误,java.security.SignatureException:签名不匹配。 是否有其他方法,我应该检查发行人或验证证书?我错过了什么吗? 亨里克·贝斯特
我正在Windows服务器2016上的wamp上使用洋红色社区版2.2。每当我尝试登录以通过系统同步您的Magento市场购买时 “SSL 证书问题:无法获取本地颁发者证书” 我尝试了这个论坛中其他一些线程中提供的解决方案来下载cacert。pem并在php.ini中执行以下设置 curl . cainfo = " C:\ wamp 64 \ bin \ PHP \ PHP 7 . 1 . 9 \
我想使用OCSP检查证书,这是来自服务器在TLS握手。 我使用Bouncy Castle作为OCSP实现的提供者,而BC验证方法一般需要X509Certificate作为参数。
我正在Windows7上运行PHP版本5.6.3作为XAMPP的一部分。 当我尝试使用Mandrill API时,我得到以下错误: 未捕获异常“Mandrill_HttpError”,消息为“API调用消息/send-template失败:SSL证书问题:无法获取本地颁发者证书” 我已经尝试了在StackOverflow上读到的所有内容,包括向php.ini文件添加以下内容: 当然可以从http:
问题内容: 我正在Windows 7上将PHP版本5.6.3作为XAMPP的一部分运行。 当我尝试使用Mandrill API时,出现以下错误: 消息“ API调用消息/发送模板失败”的未捕获异常“ Mandrill_HttpError”:SSL证书问题:无法获取本地颁发者证书 我已经尝试了我在StackOverflow上阅读的所有内容,包括将以下内容添加到php.ini文件中: 当然,还可以从h
我正在使用和创建。我正在使用该公司的VPN。 通过kubectl create-f./rc/mongo-rc.yaml命令创建了RC。 使用kubectl describe pod mongo-5zttk命令时出现以下kubernetes事件: 当我尝试使用访问网址时: 我可以成功地从泊坞中心注册表中提取 映像。 环境信息: minikube版本:v1.14.1 kubectl 客户端版本:v1.