Java verwendet OpenSSL, um zu erkennen, ob die Website OCSP unterstützt
Dieser Artikel bringt Ihnen relevantes Wissen über Java. Es wurde vorgeschlagen, CRL zu ersetzen. Moderne Webserver unterstützen im Allgemeinen auch die Standardkonfiguration von OCSP. Ich hoffe, es wird für alle hilfreich sein.
Empfohlene Studie: „Java-Video-Tutorial“
OCSP Online Certificate Status Protocol wurde als Ersatz für CRL vorgeschlagen. Moderne Webserver unterstützen im Allgemeinen OCSP, und OCSP ist auch für moderne Webserver Standard.
Aber nicht alle Webserver unterstützen OCSP-Heften. Aber in der Praxis müssen wir möglicherweise wissen, inwieweit eine bestimmte Website OCSP unterstützt.
Websites, die OCSP-Heftung unterstützen
Wie kann festgestellt werden, ob eine Website OCSP-Heftung unterstützt?
Am einfachsten ist es, die Website eines Drittanbieters aufzurufen, um die Zertifikatsinformationen der Website zu überprüfen. Beispielsweise haben wir zuvor entrust.ssllabs.com erwähnt. Durch Eingabe der entsprechenden Website-Informationen finden Sie im Abschnitt „Protokolldetails“ die spezifischen Informationen darüber, ob die Website OCSP-Stapling unterstützt, wie unten gezeigt:
openssl s_client -connect www.squarespace.com:443
-----BEGIN CERTIFICATE-----
und -----END CERTIFICATE-----< eingeben / Speichern Sie einfach den Inhalt zwischen Code>. <p><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
Dann lautet der letzte Befehl wie folgt:
openssl x509 -text -noout -in ca.pem
Hier verwenden wir einen sed -n-Befehl, um die Ausgabe abzufangen, die mit -----BEGIN
beginnt und mit ---- endet. -END< Daten am Ende von /code>. </p><p>Endlich haben wir das Zertifikat der Website erhalten. </p><p>Zusätzlich zum Zertifikat der Website selbst wird das Zertifikat der Website selbst von anderen Zertifikaten signiert. Diese Zertifikate werden als Zwischenzertifikate bezeichnet. Wir benötigen die gesamte Zertifikatskette. </p><h2 id="Verwenden-Sie-auch-den-Befehl-code-openssl-s-client-showcerts-code-von-openssl-um-alle-Zertifikatsketten-abzurufen">Verwenden Sie auch den Befehl <code>openssl s_client -showcerts
von openssl, um alle Zertifikatsketten abzurufen:
Authority Information Access: OCSP - URI:http://ocsp.digicert.com CA Issuers - URI:http://cacerts.digicert.com/DigiCertTLSRSASHA2562020CA1-1.crt
Wenn Sie die Datei „chain.pem“ öffnen, können Sie feststellen, dass die Datei zwei Zertifikate enthält, das oberste ist das Zertifikat des Servers selbst, und das zweite ist das Zwischenzertifikat, das zum Signieren des Serverzertifikats verwendet wird.
Holen Sie sich die OCSP-Responder-Adresse
Wenn das Zertifikat die Adresse des OCSP-Responders enthält, können Sie den folgenden Befehl verwenden, um sie abzurufen:
openssl ocsp -issuer chain.pem -cert ca.pem -text -url http://ocsp.digicert.com
Wir können die OCSP-Responder-Adresse der Website abrufen: http:/ /ocsp.digicert .com
.
Es gibt eine andere Möglichkeit, die Adresse des OCSP-Responders zu erhalten:
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
Dieser Befehl gibt alle Informationen des Zertifikats aus. Wir können den folgenden Inhalt sehen:
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
wobei OCSP - URI die Adresse des OCSP-Responders ist .
OCSP-Anfrage senden
Mit der Adresse des OCSP-Responders können wir eine OCSP-Überprüfung durchführen. In diesem Befehl müssen wir das Zertifikat und das Zwischenzertifikat des Servers verwenden.
Der spezifische Anforderungsbefehl lautet wie folgt:
This Update: Apr 30 04:21:01 2022 GMT Next Update: May 7 03:36:01 2022 GMT
Wir können zwei Teile aus der Ausgabe erhalten. Der erste Teil sind OCSP-Anforderungsdaten, bei denen es sich um die OCSP-Anforderungsdaten handelt:
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
Aus den Anforderungsdaten können wir die Details sehen OCSP-Anfragedatenstruktur, einschließlich Emittenteninhalt und OCSP-Nonce.
Der zweite Teil sind die Antwortdaten. Leider haben wir die folgenden Anfragefehler-Antwortdaten erhalten:
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视频教程》
Das obige ist der detaillierte Inhalt vonJava verwendet OpenSSL, um zu erkennen, ob die Website OCSP unterstützt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

Spring Boot vereinfacht die Schaffung robuster, skalierbarer und produktionsbereiteter Java-Anwendungen, wodurch die Java-Entwicklung revolutioniert wird. Der Ansatz "Übereinkommen über Konfiguration", der dem Feder -Ökosystem inhärent ist, minimiert das manuelle Setup, Allo
