Java openssl,如何查看是否使用openssl

  Java openssl,如何查看是否使用openssl

  这篇文章给你带来了一些关于java的知识。提出了OCSP在线证书状态协议来取代CRL。对于现代web服务器,OCSP是普遍支持的,OCSP也是现代web服务器的标准。下面就来看看吧,希望对你有帮助。

  如何解决写爬虫IP受阻的问题?立即使用。

  提出了OCSP在线证书状态协议来取代CRL。一般来说,现代web服务器支持OCSP,OCSP也是现代web服务器的标准。

  但是,并非所有web服务器都支持OCSP装订。但在实践中,我们可能需要知道特定网站的OCSP支持程度。

  

支持OCSP stapling的网站

  如何判断网站是否支持OCSP装订?

  最简单的方法就是去第三方网站查询网站的证书信息。比如我们之前提到的entrust.ssllabs.com,通过输入相应的网站信息,在

  在协议详情部分,可以找到网站是否支持OCSP装订的具体信息,如下图:

  你可以在这个网站上看到OCSP装订开始了。但事实上,世界上大多数网站都不开放OCSP钉钉。

  那么除了在第三方网站查OCSP订书还有其他方法吗?

  事实上,我们可以很容易地用openssl工件做到这一点。当然前提是这个网站支持https。

  接下来,我们将详细说明从获取服务器的证书到验证服务器是否支持OCSP装订的整个过程。

  本文要验证的网站是微软官网中的www.squarespace.com,是一个支持OCSP装订的网站。

  

获取服务器的证书

  要验证服务器是否支持OSCP,我们首先需要获取该服务器的证书,可以用openssl提供的openssl s _ client-connect来完成。

  OpenSSL s _ client-connect www.squarespace.com:443该命令将输出连接的所有内容,包括要访问的网站的证书信息。

  因为我们只需要网站的证书,我们需要保存- BEGIN CERTIFICATE -和-end certificate-之间的内容。

  那么最后的命令如下:

  OpenSSL _ client-connect www.squarespace.com:443 sed -n /- begin/,/- end/p ca . PEM在这里,我们使用sed-n命令从输出中截取以-begin开始并以-END结束的数据。

  我们终于拿到了网站的证书。

  除了网站本身的证书,网站本身的证书是其他证书颁发的。这些证书称为中间证书,我们需要获取整个证书链。

  您还可以使用openssl的openssl s _ client-show certs命令来获取所有证书链:

  OpenSSL _ client-show certs-connect www.squarespace.com:443 sed-n /-begin/,/-end/p chain.pem如果打开chain . PEM文件,可以发现文件中有两个证书,最上面的一个是服务器本身的证书,第二个是用于签署服务器证书的中间证书。

  

获取OCSP responder地址

  如果证书中包含OCSP响应方的地址,可以使用以下命令获取该地址:

  OpenSSL 509-noout-ocsp _ uri-Inca . PEM我们可以得到网站的ocsp响应者的地址:http://ocsp.digicert.com。

  还有另一种方法可以获得ocsp应答器的地址:

  OpenSSL 509-text-noout-Inca . PEM该命令将输出证书的所有信息,我们可以看到以下内容:

  权威信息访问:

  OCSP-URI:http://ocsp . digicert . com

  CA发行方-cacerts.digicert.com/digicerttlsrsasha2562020ca1-1.crt URI:http://,其中OCSP-URI是OCSP响应方的地址。

  

发送OCSP请求

  有了OCSP响应者的地址,我们可以验证OCSP。在这个命令中,我们需要使用服务器证书和中间证书。

  具体的请求命令如下:

  http://ocsp.digicert.com OCSP-issuer chain . PEM-cert ca . PEM-text-URL我们可以从输出中得到两个部分。第一部分是OCSP请求数据,即ocsp请求数据:

  OCSP请求数据:

  版本:1 (0x0)

  申请人列表:

  证书ID:

  哈希算法:sha1

  发行人名称哈希:521 ee 36 c 478119 a9 CB 03 fab 74 e 57 e 1197 af 1818 b

  颁发者密钥哈希:09262 ca 9 dcff 639140 e 75867 e 2083 f 74 f 6 EAF 165

  序列号:120014 f1ec 2395d 56 fdcc 4 dcb 700000014 f1ec

  请求延期:

  线证书状态协议现时:

  04102873 CFC 7831 ab 971 F3 fdfbfcf 3953 EC 5从请求数据中,我们可以看到详细的线证书状态协议请求数据结构,包括发行者的内容和OCSP现在。

  第二部分是响应数据,很遗憾我们得到了下面的请求错误响应数据:

  线证书状态协议回复数据:

  线证书状态协议响应状态:成功(0x0)

  回应类型:基本线证书状态协议回应

  版本:1 (0x0)

  应答者id:b 76 ba 2 ea A8 aa 848 c 79 ea B4 da 0 f 98 b 2c 59576 B9 f 4

  制作时间:格林威治时间2022年四月30日04时36分26秒

  回应:

  证书ID:

  哈希算法:sha1

  发行者名称哈希:e4e 395 a 229d 3d 4 C1 c 31 ff 0980 c 0 B4 EC 0098 aabd 8

  发行者密钥哈希:b 76 ba 2 ea A8 aa 848 c 79 ea B4 da 0 f 98 b 2c 59576 B9 f 4

  序列号:0f 21 c 13200 AE 502d 52 bbe 8d feab 0f 807

  证书状态:良好

  本次更新:格林威治时间2022年四月30日04:21:01

  下次更新:格林威治时间2022年5月七日03:36:01上面返回结果中,证书状态:良好表示的是线证书状态协议请求成功了,这个网站是一个支持线证书状态协议协议的网站。

  后面的两行是线证书状态协议上次更新的时间和下次更新的时间:

  本次更新:格林威治时间2022年四月30日04:21:01

  下次更新:格林威治时间2022年5月七日03:36:01说明这个网站还支持线证书状态协议装订。

  另外,请求某些网站的线证书状态协议网址的时候可能会得到下面的异常:

  查询线证书状态协议响应程序时出错

  4346349100:错误:27FFF072:OCSP例程:加密内部:服务器响应错误:/apple internal/Library/build root/66382 BCA-8 BCA-11ec-aade-6613 BCF 0 e 2 ee/Library/Caches/com。苹果。xbs/Sources/libres sl/libres sl-2.8/CRYPTO/ocsp/ocsp _ ht。c:251:代码=400,原因=错误请求为什么会这样呢?

  这是因为ocsp.msocsp.com这个网站不支持线证书状态协议默认的HTTP 1.0请求,在HTTP 1.0请求中默认是没有圣体这个请求头的。所以我们需要添加上圣体请求头,然后再执行一次即可。

  

一个更加简单的方法

   以上我们实际上是将请求拆开来一步步执行的。我们还可以使用心脏出血一步执行任务如下:

  OpenSSL s _ client-tlsextdebug-status-connect www.squarespace.com:443从输出中,我们可以看到下面的数据:

  线证书状态协议回应:

  ======================================

  线证书状态协议回复数据:

  线证书状态协议响应状态:成功(0x0)

  回应类型:基本线证书状态协议回应

  版本:1 (0x0)

  应答者id:b 76 ba 2 ea A8 aa 848 c 79 ea B4 da 0 f 98 b 2c 59576 B9 f 4

  制作时间:格林威治时间2022年四月27日04时36分26秒

  回应:

  证书ID:

  哈希算法:sha1

  发行者名称哈希:e4e 395 a 229d 3d 4 C1 c 31 ff 0980 c 0 B4 EC 0098 aabd 8

  发行者密钥哈希:b 76 ba 2 ea A8 aa 848 c 79 ea B4 da 0 f 98 b 2c 59576 B9 f 4

  序列号:0f 21 c 13200 AE 502d 52 bbe 8d feab 0f 807

  证书状态:良好

  本次更新:格林威治时间2022年四月27日04:21:02

  下次更新:格林威治时间2022年5月四日03:36:02上面的命令直接输出了线证书状态协议的回应结果,从结果中我们很清楚的看到该网站是否支持线证书状态协议和线证书状态协议装订。

  推荐学习: 《java视频教程》 以上就是爪哇使用心脏出血检测网站是否支持线证书状态协议的详细内容,更多请关注我们其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: