Syndicate
Site (RSS, Atom)
Contact
Weblog status
Total entries: 50
Last entry: 2016-10-17 22:22:03
Last updated: 2016-10-18 07:57:57
powered by vim, bash, cat, grep, sed, and nb 3.4.2

2009-09-06 17:53:50

HTTPS Zertifikat testen

Ein für HTTPS genutztes Zertifikat läßt sich mit openssl leicht in der Kommandozeile testen. Doch wie testet man es "von außen" per HTTPS, wenn man keinen GUI-Webbrowser zur Verfügung hat, nicht nutzen möchte oder "auf Nummer Sicher" gehen möchte?

Man benötigt als einziges Tool hierfür openssl. Zuerst baut man eine Verbindung zu dem Webserver auf (Ausgabe gekürzt):

> openssl s_client -connect www.spiegel.de:443
CONNECTED(00000003)
...
---
Certificate chain
...
(c)05/CN=www.spiegel.de
...
---
Server certificate
-----BEGIN CERTIFICATE-----
... (Hier folgt die ASCII-Darstellung des Zertifikats)
-----END CERTIFICATE-----
...
(c)05/CN=www.spiegel.de
...
VeriSign
---
No client certificate CA names sent
---
SSL handshake has read 2274 bytes and written 324 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-MD5
Server public key is 1024 bit
SSL-Session:
    Protocol  : TLSv1
    Cipher    : RC4-MD5
    Session-ID:
...
    Session-ID-ctx: 
    Master-Key:
...
    Key-Arg   : None
    Krb5 Principal: None
    Start Time: 1252251464
    Timeout   : 300 (sec)
---

An dieser Stelle kann man sich eine Datei schicken lassen. Wir versuchen, einen 404-Fehler hervor zu rufen und geben den folgenden HTTP-Request ein:

GET /xxxxxxx HTTP/1.0
Host: www.spiegel.de

(Die meisten Webserver akzeptieren ein einfaches LF statt CRLF. Die Leerzeile muß sein.)

Die Antwort:

HTTP/1.0 302 Moved Temporarily
Date: Sun, 06 Sep 2009 15:38:13 GMT
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.0.3SP1
(build: CVSTag=JBoss_4_0_3_SP1 date=200510231054)/Tomcat-5.5
Location: http://www.spiegel.de/xxxxxxx/
Content-Length: 0
X-Cache: MISS from www.spiegel.de
Content-Type: text/plain
X-Cache: MISS from lnxp-1318.srv.mediaways.net
Via: 1.1 www.spiegel.de, 1.0 lnxp-1318.srv.mediaways.net:80
(squid/2.6.STABLE20)
Connection: close

read:errno=0

Wir packen das Zertifikat von oben in eine Datei und prüfen diese:

> cat 1
-----BEGIN CERTIFICATE-----
MIIEwjCCBCugAwIBAg...
...
0xy8GxMry+xw2n90KFi25lEEA3FdBQ==
-----END CERTIFICATE-----
> openssl x509 -noout -text -in 1
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            53:fd:4c:e1:4d:3e:b5:13:82:2b:06:6d:8f:51:19:22
        Signature Algorithm: sha1WithRSAEncryption
        Issuer: O=VeriSign Trust Network, OU=VeriSign, Inc.,
OU=VeriSign International Server CA - Class 3,
OU=www.verisign.com/CPS Incorp.by Ref.  LIABILITY LTD.(c)97
VeriSign
        Validity
            Not Before: Aug 25 00:00:00 2009 GMT
            Not After : Oct 23 23:59:59 2014 GMT
        Subject: C=DE, ST=Hamburg, L=Hamburg, O=SPIEGEL ONLINE
GmbH, OU=Terms of use at www.verisign.com/rpa (c)00, OU=Terms of
use at www.verisign.com/rpa (c)05, CN=www.spiegel.de
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1024 bit)
              Modulus (1024 bit):
                00:99:db:d5:a8:e6:a5:d4:3a:00:ec:98:8f:21:ff:
                f6:f2:5b:b6:0f:97:74:e7:0d:07:8a:8a:56:49:81:
                95:48:bd:e1:a8:33:31:c8:84:7d:41:54:f2:a9:36:
                8c:41:20:98:7f:fc:a1:b4:58:25:92:18:e4:41:52:
                d9:9f:da:58:c0:02:c2:9a:49:31:a5:d2:ac:f3:31:
                5a:2f:33:e6:78:4a:b7:e5:96:8a:03:55:af:8d:09:
                81:6d:4a:18:22:5f:30:99:8c:c3:b7:71:92:07:e9:
                9f:a6:8d:ea:1a:d6:a6:a7:6c:6f:f8:3a:4f:09:8f:
                03:86:7f:f5:fa:b6:82:35:cf
              Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: 
            CA:FALSE
            X509v3 Key Usage: 
            Digital Signature, Key Encipherment
            X509v3 Certificate Policies: 
            Policy: 2.16.840.1.113733.1.7.23.3
              CPS: https://www.verisign.com/rpa

            X509v3 CRL Distribution Points: 
            URI:http://SVRIntl-crl.verisign.com/SVRIntl.crl

            X509v3 Extended Key Usage: 
            TLS Web Server Authentication, TLS Web Client
Authentication, Netscape Server Gated Crypto
            Authority Information Access: 
            OCSP - URI:http://ocsp.verisign.com
            CA Issuers -
URI:http://SVRIntl-aia.verisign.com/SVRIntl-aia.cer

            1.3.6.1.5.5.7.1.12: 
              0`.^.\0Z0X0V..image/gif...
    Signature Algorithm: sha1WithRSAEncryption
        66:50:1c:55:00:7c:dd:fe:31:e8:51:47:4e:92:7c:77:e1:5e:
        af:3b:7e:88:17:7a:a1:b6:bb:7f:57:68:04:bd:d6:62:c4:d3:
        31:b5:28:f0:2c:f7:23:27:ad:eb:b8:8c:2f:3e:6d:ec:00:5c:
        07:ab:a3:46:2f:32:c1:3f:d8:5b:6e:1f:7f:ff:e9:d3:a3:d6:
        2d:e0:d1:ec:88:ac:00:ad:cd:79:8c:27:56:69:c6:f0:44:27:
        eb:2a:52:4a:f6:bc:55:8e:58:1d:e5:4a:df:7d:1b:e1:d3:1c:
        bc:1b:13:2b:cb:ec:70:da:7f:74:28:58:b6:e6:51:04:03:71:
        5d:05

Posted by Frank W. Bergmann | Permanent link | File under: ssl, openssl, shell, http