Cet article vous apporte des connaissances pertinentes sur java. Le protocole d'état des certificats en ligne OCSP a été proposé pour remplacer la CRL ; les serveurs Web modernes prennent généralement en charge OCSP, et OCSP est également pris en charge par la configuration standard, jetons-y un coup d'œil. J'espère que cela sera utile à tout le monde.
Étude recommandée : "Tutoriel vidéo Java"
Le protocole de statut de certificat en ligne OCSP a été proposé pour remplacer la CRL. Les serveurs Web modernes prennent généralement en charge OCSP, et OCSP est également la norme pour les serveurs Web modernes.
Mais tous les serveurs Web ne prennent pas en charge l'agrafage OCSP. Mais dans le travail réel, nous aurons peut-être besoin de savoir dans quelle mesure un site Web spécifique prend en charge OCSP.
Comment déterminer si un site Web prend en charge l'agrafage OCSP ?
Le moyen le plus simple consiste à accéder à un site Web tiers pour vérifier les informations de certificat du site Web. Par exemple, nous avons déjà mentionné entrust.ssllabs.com En saisissant les informations du site Web correspondantes, dans la section
Détails du protocole, vous pouvez trouver les informations spécifiques indiquant si le site Web prend en charge l'agrafage OCSP, comme indiqué ci-dessous :
Vous peut voir Lorsque vous accédez à ce site Web, l'agrafage OCSP est activé. Mais en réalité, la plupart des sites Web dans le monde ne permettent pas l’agrafage OCSP.
En plus de vérifier l'agrafage OCSP sur des sites Web tiers, existe-t-il un autre moyen ?
En fait, nous pouvons le faire facilement en utilisant l'artefact openssl. Bien entendu, le principe est que ce site Web prend en charge https.
Ensuite, nous expliquerons en détail l'ensemble du processus depuis l'obtention du certificat du serveur jusqu'à la vérification si le serveur prend en charge l'agrafage OCSP.
Le site Web à vérifier dans cet article est le site Web officiel de Microsoft www.squarespace.com, qui est un site Web prenant en charge l'agrafage OCSP.
Pour vérifier si le serveur prend en charge OSCP, nous devons d'abord obtenir le certificat du serveur. Vous pouvez utiliser openssl s_client -connect fourni par openssl pour terminer ce travail.
openssl s_client -connect www.squarespace.com:443
Cette commande affichera tout le contenu de l'établissement de connexion, y compris les informations de certificat du site Web auquel accéder.
Parce que nous n'avons besoin que du certificat du site Web, nous devons mettre -----BEGIN CERTIFICATE-----
et -----END CERTIFICATE-----< / Enregistrez simplement le contenu entre le code>. <code>-----BEGIN CERTIFICATE-----
和-----END CERTIFICATE-----
之间的内容保存即可。
那么最终的命令如下:
openssl s_client -connect www.squarespace.com:443 | sed -n '/-----BEGIN/,/-----END/p' > ca.pem
这里我们使用一个sed -n命令从输出中截取以-----BEGIN
开头和以-----END
结尾的数据。
最终我们得到了网站的证书。
除了网站本身的证书之外,网站的证书本身是由其他的证书来签发的,这些证书叫做intermediate certificate,我们需要获取到整个证书链。
同样使用openssl的openssl s_client -showcerts
命令可以获取所有的证书链:
openssl s_client -showcerts -connect www.squarespace.com:443 | sed -n '/-----BEGIN/,/-----END/p' > chain.pem
如果你打开chain.pem文件可以发现,文件里面有两个证书,最上面的一个就是服务器本身的证书,而第二个就是用于签名服务器证书的intermediate certificate。
如果证书中包含有OCSP responder的地址,那么可以用下面的命令来获取:
openssl x509 -noout -ocsp_uri -in ca.pem
我们可以得到网站的ocsp responder地址是:http://ocsp.digicert.com
openssl x509 -text -noout -in ca.pem
-----BEGIN
et se terminant par ---- -END< Données à la fin de /code>. <p></p>Enfin, nous avons obtenu le certificat du site Internet. <p></p>En plus du certificat du site Web lui-même, le certificat du site Web lui-même est signé par d'autres certificats. Ces certificats sont appelés certificats intermédiaires. Nous devons obtenir l'intégralité de la chaîne de certificats. <h2></h2>Utilisez également la commande <code>openssl s_client -showcerts
d'openssl pour obtenir toutes les chaînes de certificats : Authority Information Access: OCSP - URI:http://ocsp.digicert.com CA Issuers - URI:http://cacerts.digicert.com/DigiCertTLSRSASHA2562020CA1-1.crt
openssl ocsp -issuer chain.pem -cert ca.pem -text -url http://ocsp.digicert.com
http:/ /ocsp.digicert .com
. Il existe une autre façon d'obtenir l'adresse du répondeur ocsp : OCSP Request Data: Version: 1 (0x0) Requestor List: Certificate ID: Hash Algorithm: sha1 Issuer Name Hash: 521EE36C478119A9CB03FAB74E57E1197AF1818B Issuer Key Hash: 09262CA9DCFF639140E75867E2083F74F6EAF165 Serial Number: 120014F1EC2395D56FDCC4DCB700000014F1EC Request Extensions: OCSP Nonce: 04102873CFC7831AB971F3FDFBFCF3953EC5
OCSP Response Data: OCSP Response Status: successful (0x0) Response Type: Basic OCSP Response Version: 1 (0x0) Responder Id: B76BA2EAA8AA848C79EAB4DA0F98B2C59576B9F4 Produced At: Apr 30 04:36:26 2022 GMT Responses: Certificate ID: Hash Algorithm: sha1 Issuer Name Hash: E4E395A229D3D4C1C31FF0980C0B4EC0098AABD8 Issuer Key Hash: B76BA2EAA8AA848C79EAB4DA0F98B2C59576B9F4 Serial Number: 0F21C13200AE502D52BBE8DFEAB0F807 Cert Status: good This Update: Apr 30 04:21:01 2022 GMT Next Update: May 7 03:36:01 2022 GMT
This Update: Apr 30 04:21:01 2022 GMT Next Update: May 7 03:36:01 2022 GMT
Error querying OCSP responder 4346349100:error:27FFF072:OCSP routines:CRYPTO_internal:server response error:/AppleInternal/Library/BuildRoots/66382bca-8bca-11ec-aade-6613bcf0e2ee/Library/Caches/com.apple.xbs/Sources/libressl/libressl-2.8/crypto/ocsp/ocsp_ht.c:251:Code=400,Reason=Bad Request
openssl s_client -tlsextdebug -status -connect www.squarespace.com:443
OCSP response: ====================================== OCSP Response Data: OCSP Response Status: successful (0x0) Response Type: Basic OCSP Response Version: 1 (0x0) Responder Id: B76BA2EAA8AA848C79EAB4DA0F98B2C59576B9F4 Produced At: Apr 27 04:36:26 2022 GMT Responses: Certificate ID: Hash Algorithm: sha1 Issuer Name Hash: E4E395A229D3D4C1C31FF0980C0B4EC0098AABD8 Issuer Key Hash: B76BA2EAA8AA848C79EAB4DA0F98B2C59576B9F4 Serial Number: 0F21C13200AE502D52BBE8DFEAB0F807 Cert Status: good This Update: Apr 27 04:21:02 2022 GMT Next Update: May 4 03:36:02 2022 GMT
openssl s_client -tlsextdebug -status -connect www.squarespace.com:443
从输出中,我们可以看到下面的数据:
OCSP response: ====================================== OCSP Response Data: OCSP Response Status: successful (0x0) Response Type: Basic OCSP Response Version: 1 (0x0) Responder Id: B76BA2EAA8AA848C79EAB4DA0F98B2C59576B9F4 Produced At: Apr 27 04:36:26 2022 GMT Responses: Certificate ID: Hash Algorithm: sha1 Issuer Name Hash: E4E395A229D3D4C1C31FF0980C0B4EC0098AABD8 Issuer Key Hash: B76BA2EAA8AA848C79EAB4DA0F98B2C59576B9F4 Serial Number: 0F21C13200AE502D52BBE8DFEAB0F807 Cert Status: good This Update: Apr 27 04:21:02 2022 GMT Next Update: May 4 03:36:02 2022 GMT
上面的命令直接输出了OCSP response结果,从结果中我们很清楚的看到该网站是否支持OCSP和OCSP stapling。
推荐学习:《java视频教程》
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!