
openssl openssl-4.0.3
Allzweck-TLS- und Kryptobibliothek
Willkommen beim OpenSSL-Projekt
[![openssl logo]][www.openssl.org]
[![github actions ci badge]][github actions ci]
OpenSSL ist ein robustes, kommerziell einsetzbares, voll funktionsfähiges Open-Source-Toolkit für die Protokolle Transport Layer Security (TLS, früher SSL), Datagram TLS (DTLS) und QUIC.
Die Protokollimplementierungen basieren auf einer vollwertigen Allzweck-Kryptografiebibliothek, die auch eigenständig verwendet werden kann. Ebenfalls enthalten ist ein Kryptografiemodul, das gemäß FIPS-Standards validiert wurde.
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].
Inhaltsverzeichnis
Überblick
Das OpenSSL-Toolkit umfasst:
-
libssl eine Implementierung aller TLS-Protokollversionen bis TLSv1.3 ([RFC 8446]), der DTLS-Protokollversionen bis DTLSv1.3 ([RFC 9147]) und des QUIC-Version-1-Protokolls ([RFC 9000]).
-
libcrypto eine vollwertige Allzweck-Kryptografiebibliothek. Sie bildet die Grundlage der TLS-Implementierung, kann aber auch unabhängig verwendet werden.
-
openssl das OpenSSL-Kommandozeilenwerkzeug, ein Schweizer Taschenmesser für kryptografische Aufgaben, Tests und Analysen. Es kann verwendet werden für
- die Erstellung von Schlüsselparametern
- die Erstellung von X.509-Zertifikaten, CSRs und CRLs
- die Berechnung von Nachrichtendigests
- Ver- und Entschlüsselung
- SSL/TLS/DTLS- sowie Client- und Servertests
- QUIC-Client-Tests
- die Verarbeitung von S/MIME-signierten oder verschlüsselten E-Mails
- und mehr...
Download
Für den Produktiveinsatz
Quellcode-Tarballs der offiziellen Releases können von openssl-library.org/source/ heruntergeladen werden. Das OpenSSL-Projekt vertreibt das Toolkit nicht in binärer Form.
Für eine Vielzahl von Betriebssystemen sind jedoch vorkompilierte Versionen des OpenSSL-Toolkits verfügbar. Insbesondere unter Linux und anderen Unix-Betriebssystemen wird normalerweise empfohlen, gegen die vorkompilierten Shared Libraries zu linken, die vom Distributor oder Hersteller 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 [Binaries] in unserem Wiki.
Für Tests und Entwicklung
Obwohl Tests und Entwicklung theoretisch auch mit den Quellcode-Tarballs durchgeführt werden könnten, bietet eine lokale Kopie des Git-Repositories mit der gesamten Projekthistorie deutlich mehr Einblick in die Codebasis.
Das Haupt-Git-Repository von OpenSSL ist privat. Es gibt einen öffentlichen GitHub-Mirror unter [github.com/openssl/openssl], der bei jedem Commit automatisch vom ersteren aktualisiert wird.
Eine lokale Kopie des Git-Repositories kann durch Klonen vom GitHub-Mirror erhalten werden mit
git clone https://github.com/openssl/openssl.git
Wenn Sie beabsichtigen, zu OpenSSL beizutragen, sei es um Fehler zu beheben oder neue Funktionen beizusteuern, müssen Sie den GitHub-Mirror forken und stattdessen Ihren öffentlichen Fork klonen.
git clone https://github.com/yourname/openssl.git
Dies ist notwendig, weil die gesamte Entwicklung von OpenSSL heutzutage über GitHub-Pull-Requests erfolgt. Weitere Details finden Sie unter Mitwirken.
Build und Installation
Nachdem Sie den Quellcode erhalten haben, werfen Sie einen Blick in die Datei INSTALL für detaillierte Anweisungen zum Bauen und Installieren von OpenSSL. 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 für die DOS-Plattform mit DJGPP
- Hinweise für die OpenVMS-Plattform
- Hinweise zu Perl
- Hinweise zu Valgrind
Spezifische Hinweise zum Upgrade auf OpenSSL 3.x von früheren Versionen finden Sie auf der Manpage [ossl-guide-migration(7ossl)].
Dokumentation
README-Dateien
Es gibt einige README.md-Dateien im obersten Verzeichnis der Quellcode-Distribution, die zusätzliche Informationen zu bestimmten Themen enthalten.
- Informationen zur OpenSSL-QUIC-Protokollimplementierung
- Informationen zur OpenSSL-Provider-Architektur
- Informationen zur Verwendung des FIPS-validierten OpenSSL-Moduls
Der OpenSSL-Leitfaden
Es gibt einige Tutorial- und Einführungsseiten zu wichtigen OpenSSL-Themen im [OpenSSL Guide].
Manpages
Die Manpages für den Master-Branch und alle aktuellen stabilen Releases sind online verfügbar.
Demos
Es gibt zahlreiche Quellcode-Demos zur Verwendung verschiedener OpenSSL-Funktionen im Demos-Unterordner.
Wiki
Es gibt ein [GitHub Wiki], das derzeit nicht sehr aktiv ist.
Lizenz
OpenSSL ist unter der Apache License 2.0 lizenziert, was bedeutet, dass Sie es frei für kommerzielle und nicht-kommerzielle Zwecke erwerben und nutzen dürfen, solange Sie die Bedingungen erfüllen.
Weitere Details finden Sie in der Datei LICENSE.txt.
Support
Es gibt verschiedene Möglichkeiten, mit uns in Kontakt zu treten. Der richtige Kanal hängt von Ihrem Anliegen ab. Weitere Details finden Sie in der Datei SUPPORT.