Java utilise openssl pour détecter si le site Web prend en charge ocsp
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.
Sites Web prenant en charge l'agrafage 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.
Obtenir le certificat du serveur
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地址
如果证书中包含有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
Copier après la connexion
À partir des données de la requête, nous pouvons voir le détail. Structure des données de la demande OCSP, y compris le contenu de l'émetteur et le nom occasionnel OCSP. La deuxième partie concerne les données de réponse. Malheureusement, nous avons obtenu les données de réponse d'erreur de requête suivantes : 🎜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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

Spring Boot simplifie la création d'applications Java robustes, évolutives et prêtes à la production, révolutionnant le développement de Java. Son approche "Convention sur la configuration", inhérente à l'écosystème de ressort, minimise la configuration manuelle, allo
