OpenSSL ist ein robustes, kommerzielles Open-Source-Toolkit mit vollem Funktionsumfang für die Protokolle TLS (früher SSL), DTLS und QUIC (derzeit nur clientseitig).
Die Protokollimplementierungen basieren auf einer umfassenden kryptografischen Allzweckbibliothek, die auch eigenständig verwendet werden kann. Ebenfalls enthalten ist ein kryptografisches Modul, das entsprechend den FIPS-Standards validiert ist.
OpenSSL stammt von der SSLeay-Bibliothek ab, die von Eric A. Young und Tim J. Hudson entwickelt wurde.
Die offizielle Homepage des OpenSSL-Projekts ist www.openssl.org.
Überblick
Herunterladen
Erstellen und installieren
Dokumentation
Lizenz
Unterstützung
Mitwirken
Gesetzmäßigkeiten
Das OpenSSL-Toolkit umfasst:
libssl ist eine Implementierung aller TLS-Protokollversionen bis TLSv1.3 (RFC 8446), DTLS-Protokollversionen bis DTLSv1.2 (RFC 6347) und des QUIC-Protokolls (derzeit nur clientseitig) Version 1 (RFC 9000).
libcrypto ist eine umfassende kryptografische Allzweckbibliothek. Es stellt die Grundlage der TLS-Implementierung dar, kann aber auch unabhängig davon verwendet werden.
openssl , das OpenSSL-Befehlszeilentool, ein Schweizer Taschenmesser für kryptografische Aufgaben, Tests und Analysen. Es kann verwendet werden für
Erstellung von Schlüsselparametern
Erstellung von X.509-Zertifikaten, CSRs und CRLs
Berechnung von Message Digests
Verschlüsselung und Entschlüsselung
SSL/TLS/DTLS sowie Client- und Servertests
QUIC-Clienttests
Umgang mit S/MIME-signierter oder verschlüsselter E-Mail
und mehr...
Quellcode-Tarballs der offiziellen Veröffentlichungen können unter www.openssl.org/source heruntergeladen werden. Das OpenSSL-Projekt verteilt das Toolkit nicht in binärer Form.
Für eine Vielzahl von Betriebssystemen stehen jedoch vorkompilierte Versionen des OpenSSL-Toolkits zur Verfügung. Insbesondere unter Linux und anderen Unix-Betriebssystemen wird normalerweise empfohlen, eine Verknüpfung mit den vorkompilierten gemeinsam genutzten Bibliotheken herzustellen, die vom Distributor oder Anbieter bereitgestellt werden.
Wir führen außerdem eine Liste von Drittanbietern, die OpenSSL-Binärdateien für verschiedene Betriebssysteme (einschließlich Windows) erstellen, auf der Seite „Binärdateien“ in unserem Wiki.
Obwohl Tests und Entwicklung theoretisch auch mithilfe der Quell-Tarballs durchgeführt werden könnten, bietet Ihnen eine lokale Kopie des Git-Repositorys mit dem gesamten Projektverlauf viel mehr Einblick in die Codebasis.
Das offizielle OpenSSL-Git-Repository befindet sich unter git.openssl.org. Es gibt einen GitHub-Spiegel des Repositorys unter github.com/openssl/openssl, der bei jedem Commit automatisch von ersterem aktualisiert wird.
Eine lokale Kopie des Git-Repositorys kann durch Klonen aus dem ursprünglichen OpenSSL-Repository mit erhalten werden
git clone git://git.openssl.org/openssl.git
oder vom GitHub-Spiegel mit
git clone https://github.com/openssl/openssl.git
Wenn Sie beabsichtigen, zu OpenSSL beizutragen, entweder um Fehler zu beheben oder neue Funktionen beizutragen, müssen Sie das OpenSSL-Repository openssl/openssl auf GitHub forken und stattdessen Ihren öffentlichen Fork klonen.
git clone https://github.com/yourname/openssl.git
Dies ist notwendig, da die gesamte Entwicklung von OpenSSL heutzutage über GitHub-Pull-Requests erfolgt. Weitere Einzelheiten finden Sie unter Mitwirken.
Nachdem Sie die Quelle erhalten haben, sehen Sie sich die INSTALL-Datei an, um detaillierte Anweisungen zum Erstellen und Installieren von OpenSSL zu erhalten. Für einige Plattformen werden die Installationsanweisungen durch ein plattformspezifisches Dokument ergänzt.
Hinweise für UNIX-ähnliche Plattformen
Hinweise für Android-Plattformen
Hinweise für Windows-Plattformen
Hinweise zur DOS-Plattform mit DJGPP
Hinweise zur OpenVMS-Plattform
Hinweise zu Perl
Hinweise zu Valgrind
Spezifische Hinweise zum Upgrade auf OpenSSL 3.x von früheren Versionen finden Sie in der Handbuchseite ossl-guide-migration(7ossl).
Auf der obersten Ebene der Quelldistribution befinden sich einige README.md-Dateien, die zusätzliche Informationen zu bestimmten Themen enthalten.
Informationen zur Implementierung des OpenSSL QUIC-Protokolls
Informationen zur OpenSSL-Provider-Architektur
Informationen zur Verwendung des OpenSSL FIPS-validierten Moduls
Informationen zur alten OpenSSL Engine-Architektur
Im OpenSSL-Handbuch finden Sie einige Tutorial- und Einführungsseiten zu einigen wichtigen OpenSSL-Themen.
Die Handbuchseiten für den Master-Zweig und alle aktuellen stabilen Versionen sind online verfügbar.
OpenSSL-Master
OpenSSL 3.0
OpenSSL 3.1
OpenSSL 3.2
Im Unterordner „demos“ finden Sie zahlreiche Quellcode-Demos zur Nutzung verschiedener OpenSSL-Funktionen.
Es gibt ein Wiki unter wiki.openssl.org, das derzeit nicht sehr aktiv ist. Es enthält viele nützliche Informationen, die jedoch nicht alle aktuell sind.
OpenSSL ist unter der Apache-Lizenz 2.0 lizenziert, was bedeutet, dass Sie es kostenlos für kommerzielle und nichtkommerzielle Zwecke erhalten und nutzen können, solange Sie die Bedingungen erfüllen.
Weitere Einzelheiten finden Sie in der Datei LICENSE.txt.
Es gibt verschiedene Möglichkeiten, mit uns in Kontakt zu treten. Der richtige Kanal hängt von Ihren Anforderungen ab. Weitere Einzelheiten finden Sie in der SUPPORT-Datei.
Wenn Sie interessiert und bereit sind, einen Beitrag zum OpenSSL-Projekt zu leisten, werfen Sie bitte einen Blick auf die CONTRIBUTING-Datei.
Eine Reihe von Ländern schränken die Verwendung oder den Export von Kryptografie ein. Wenn Sie möglicherweise solchen Einschränkungen unterliegen, sollten Sie rechtlichen Rat einholen, bevor Sie versuchen, kryptografischen Code zu entwickeln oder zu verbreiten.
Copyright (c) 1998-2024 Die Autoren des OpenSSL-Projekts
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
Alle Rechte vorbehalten.