Ich habe gerade OpenSSL und den Lynx-Webbrowser kompiliert. Ich möchte HTTPS-Websites durchsuchen. Meines Wissens nach muss ich Zertifikate von den von diesen Websites verwendeten Zertifizierungsstellen erhalten und benötige außerdem eine Art eigenes Zertifikat. Der Webbrowser ruft OpenSSL ordnungsgemäß auf, aber ich kann nicht im Internet surfen, da ich keine anfängliche Liste mit Zertifizierungsstellenzertifikaten habe.
Hat jemand eine Dokumentation, die erklärt, wie man diese Zertifikate erhält und sie von OpenSSL nutzen lässt?
Danke
Antwort1
Damit Ihr Browser SSL/TLS verarbeiten kann, müssen Sie in Ihrem Browser Stammzertifikate verschiedener Zertifizierungsstellen installieren. Mit diesen Zertifikaten erkennt Ihr Browser Signet-Schlüssel und akzeptiert sie. Sie könnenüberprüfe hierfür die Liste der in Mozilla installierten CAs sowie die Zertifikate selbst.
PS: Zur Installation von Zertifikaten müssen Sie die Dokumentation Ihres Browsers prüfen.
Antwort2
Hat jemand eine Dokumentation, die erklärt, wie man diese Zertifikate erhält und sie von OpenSSL nutzen lässt?
Von Lynx'sREADME.sslcerts
:
VORBEREITENDE VERFAHREN:
Es wird davon ausgegangen, dass OpenSSL korrekt installiert wurde, dass das Standard-Zertifikatsverzeichnis /usr/local/ssl/certs ist (oft ist es /etc/ssl/certs, aber wir brauchen einen Ausgangspunkt für die Diskussion) und dass Lynx mit --with-ssl kompiliert wurde.
Der Standardspeicherort für Zertifikate auf Ihrem System kann ein anderer sein oder es gibt keinen. Sie müssen diesen Speicherort in den folgenden Anweisungen durch /usr/local/ssl/certs ersetzen und/oder Umgebungsvariablen festlegen.
Um den Standardspeicherort für Zertifikate auf Ihrem System zu ermitteln, können Sie den folgenden Befehl ausführen:
strings libcrypto.a | grep -in cert | less
Suchen Sie in dieser Ausgabe nach
SSL_CERT_DIR
undSSL_CERT_FILE
und den Zeilen direkt darüber. Dies ist Ihr Standardspeicherort für Zertifikate bzw. das CA-Zertifikatspaket cert.pem. Sie müssen natürlich wissen, wo libcrypto.a zu finden ist.Beispielausgabe:
7490:/etc/ssl/certs 7491:/etc/ssl/cert.pem 7492:SSL_CERT_DIR 7493:SSL_CERT_FILE
Andere mögliche Beispielausgabe:
31555:/usr/local/ssl/certs 31556:/usr/local/ssl/cert.pem 31557:SSL_CERT_DIR 31558:SSL_CERT_FILE
Beachten Sie, dass bei der Installation von OpenSSL das Dienstprogramm c_rehash in einem Bin-Verzeichnis installiert wird (Standard
/usr/local/ssl/bin
). Sie müssen wissen, wo es sich auf Ihrem System befindet. Der Befehl:whereis c_rehash
wird wahrscheinlich brauchbare Ergebnisse liefern.
Beachten Sie auch, dass mit OpenSSL kein CA-Zertifikatspaket verteilt wird. Das OpenSSL-Team hat sich ausdrücklich dazu entschieden, dies NICHT zu tun. Das Abrufen eines Satzes vertrauenswürdiger Zertifikate bleibt dem Installateur überlassen.
Es ist nicht mehr ganz so einfach, das Bündel vertrauenswürdiger Stammzertifikate aus einer aktuellen Version von Internet Explorer zu extrahieren. Mehrere Zertifikate können nicht mehr als DER-formatierte Datei exportiert werden. Die Extraktion eines einzelnen Zertifikats ist der einzige Export für DER, und DER ist das, was in PEM konvertiert.
Benutzer mit Zugriff auf Apple OS X können alle Zertifikate aus Keychain Access System Roots als .pem-Datei exportieren. Platzieren Sie diese in SSL_CERT_DIR, hashen Sie sie und fertig.
Das MirOS BSD-Projekt stellt sie ebenfalls bereit. Das Verfahren zum Konvertieren und Installieren wird später in diesem Dokument ausführlich beschrieben. Wenn Sie einfach kommerziell bereitgestellte Zertifikate benötigen, denen Lynx vertraut, können Sie ein paar Zeilen weiter unten zum Abschnitt INSTALLIEREN ODER AKTUALISIEREN DES CA-BUNDLES springen.
Extrahierte Mozilla-Zertifikatspakete stehen im Curl-Projekt zum Download bereit.http://curl.haxx.se/docs/caextract.htmlzusammen mit einem Skript zum Extrahieren aus dem Mozilla-Quellcode.