
Allzweck-Kryptographie-Bibliothek und SSL/TLS-Toolkit für Verschlüsselung, Entschlüsselung, X.509-Zertifikatsverwaltung und sichere Kommunikationsprotokolle.
OpenSSL 1.0.1g 7 Apr 2014
Copyright (c) 1998-2011 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson Alle Rechte vorbehalten.
Das OpenSSL-Projekt ist eine gemeinschaftliche Initiative zur Entwicklung eines robusten, kommerziell nutzbaren, voll ausgestatteten Open-Source-Toolkits, das die Protokolle Secure Sockets Layer (SSL v2/v3) und Transport Layer Security (TLS v1) sowie eine vollwertige Allzweck-Kryptographiebibliothek implementiert. Das Projekt wird von einer weltweiten Gemeinschaft Freiwilliger verwaltet, die das Internet nutzen, um das OpenSSL-Toolkit und die zugehörige Dokumentation zu kommunizieren, zu planen und zu entwickeln.
OpenSSL basiert auf der hervorragenden SSLeay-Bibliothek, die von Eric A. Young und Tim J. Hudson entwickelt wurde. Das OpenSSL-Toolkit ist unter einer Doppellizenz (der OpenSSL-Lizenz plus der SSLeay-Lizenz) lizenziert, was im Wesentlichen bedeutet, dass Sie es frei beschaffen und für kommerzielle und nicht-kommerzielle Zwecke verwenden können, solange Sie die Bedingungen beider Lizenzen erfüllen.
Das OpenSSL-Toolkit umfasst:
libssl.a: Implementierung von SSLv2, SSLv3, TLSv1 und des erforderlichen Codes zur Unterstützung von SSLv2, SSLv3 und TLSv1 in einem einzigen Server und Client.
libcrypto.a: Allgemeine Verschlüsselungs- und X.509-v1/v3-Komponenten, die von SSL/TLS benötigt werden, aber nicht wirklich logisch dazugehören. Es enthält Routinen für Folgendes:
Chiffren
libdes - EAYs libdes-DES-Verschlüsselungspaket, das einige Jahre
im Netz kursierte und dann von ihm als Teil von SSLeay neu
lizenziert wurde. Es enthält 15 'Modi/Variationen' von DES
(1-, 2- und 3-Schlüssel-Versionen von ecb, cbc, cfb und ofb;
pcbc und eine allgemeinere Form von cfb und ofb) einschließlich desx
im cbc-Modus, ein schnelles crypt(3) sowie Routinen zum Lesen
von Passwörtern über die Tastatur.
RC4-Verschlüsselung,
RC2-Verschlüsselung - 4 verschiedene Modi: ecb, cbc, cfb und ofb.
Blowfish-Verschlüsselung - 4 verschiedene Modi: ecb, cbc, cfb und ofb.
IDEA-Verschlüsselung - 4 verschiedene Modi: ecb, cbc, cfb und ofb.
Digest-Verfahren
MD5- und MD2-Message-Digest-Algorithmen, schnelle Implementierungen,
SHA- (SHA-0) und SHA-1-Message-Digest-Algorithmen,
MDC2-Message-Digest. Ein auf DES basierender Hash, der auf Smartcards beliebt ist.
Public-Key
RSA-Verschlüsselung/-Entschlüsselung/-Generierung.
Die Anzahl der Bits ist unbegrenzt.
DSA-Verschlüsselung/-Entschlüsselung/-Generierung.
Die Anzahl der Bits ist unbegrenzt.
Diffie-Hellman-Schlüsselaustausch/-Schlüsselgenerierung.
Die Anzahl der Bits ist unbegrenzt.
X.509v3-Zertifikate
X509-Kodierung/-Dekodierung in/aus binärem ASN1 und eine PEM-
basierte ASCII-Binärkodierung, die die Verschlüsselung mit einem
privaten Schlüssel unterstützt. Programm zur Erzeugung von RSA- und
DSA-Zertifikatsanforderungen und zur Erzeugung von RSA- und DSA-Zertifikaten.
Systeme
Die üblichen Digital-Envelope-Routinen und die Base64-Kodierung. Höherer
Zugriff auf Chiffren und Digests über Namen. Neue Chiffren können zur
Laufzeit geladen werden. Das BIO-IO-System, eine einfache nicht blockierende
IO-Abstraktion. Unterstützte Methoden sind Dateideskriptoren,
Sockets, Socket-Accept, Socket-Connect, Speicherpuffer, Pufferung, SSL-
Client/Server, Dateizeiger, Verschlüsselung, Digest, nicht blockierende Tests
und null.
Datenstrukturen
Ein dynamisch wachsendes Hash-System
Ein einfacher Stapel (Stack).
Ein Konfigurationslader, der ein Format ähnlich MS-.ini-Dateien verwendet.
openssl: Ein Befehlszeilenwerkzeug, das verwendet werden kann für: Erzeugung von RSA-, DH- und DSA-Schlüsselparametern Erzeugung von X.509-Zertifikaten, CSRs und CRLs Berechnung von Message Digests Ver- und Entschlüsselung mit Chiffren SSL/TLS-Client- und Server-Tests Verarbeitung von signierter oder verschlüsselter S/MIME-Post
Verschiedene Unternehmen besitzen verschiedene Patente für verschiedene Algorithmen an verschiedenen Orten der Welt. SIE sind dafür verantwortlich, dass Ihre Nutzung von Algorithmen legal ist, indem Sie prüfen, ob es in Ihrem Land Patente gibt. Die Datei enthält einige der Patente, die uns bekannt sind oder von denen gemunkelt wird, dass sie existieren. Dies ist keine vollständige Liste.
RSA Security besitzt Softwarepatente auf den RC5-Algorithmus. Wenn Sie diese Chiffre verwenden möchten, müssen Sie RSA Security bezüglich der Lizenzbedingungen kontaktieren. Ihre Website ist http://www.rsasecurity.com/.
RC4 ist eine Marke von RSA Security, daher sollte dieses Etikett möglicherweise nur mit Genehmigung von RSA Security verwendet werden.
Der IDEA-Algorithmus ist von Ascom in Österreich, Frankreich, Deutschland, Italien, Japan, den Niederlanden, Spanien, Schweden, der Schweiz, Großbritannien und den USA patentiert. Sie sollten kontaktiert werden, wenn dieser Algorithmus verwendet werden soll; ihre Website ist http://www.ascom.ch/.
NTT und Mitsubishi besitzen Patente und anhängige Patente auf den Camellia- Algorithmus, erlauben aber eine kostenlose Nutzung ohne ausdrückliche Lizenzvereinbarung: http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html
Um dieses Paket unter einem Unix-Derivat zu installieren, lesen Sie die Datei INSTALL. Für eine Win32-Plattform lesen Sie die Datei INSTALL.W32. Für OpenVMS-Systeme lesen Sie INSTALL.VMS.
Lesen Sie die Dokumentation im Verzeichnis doc/. Sie ist recht grob, listet aber die Funktionen auf; Sie werden wahrscheinlich den Code ansehen müssen, um herauszufinden, wie man sie verwendet. Sehen Sie sich die Beispielprogramme an.
Für einige Plattformen gibt es bekannte Probleme, die den Benutzer oder den Anwendungsautor betreffen können. Wir versuchen, diese in doc/PROBLEMS zu sammeln, mit aktuellen Überlegungen, wie sie in einer zukünftigen Version von OpenSSL gelöst werden sollten.
Informationen darüber, wie Sie kommerziellen technischen Support erhalten, finden Sie auf der OpenSSL-Website www.openssl.org.
Wenn Sie Probleme mit OpenSSL haben, führen Sie bitte zuerst die folgenden Schritte durch:
- Laden Sie den aktuellen Snapshot von ftp://ftp.openssl.org/snapshot/ herunter,
um zu sehen, ob das Problem bereits behoben wurde
- Entfernen Sie die ASM-Versionen der Bibliotheken
- Entfernen Sie die Optimierungsflags des Compilers
Wenn Sie einen Fehler melden möchten, nehmen Sie bitte die folgenden Informationen in jeden Fehlerbericht auf:
- Auf Unix-Systemen:
Selbsttestbericht, erzeugt mit 'make report'
- Auf anderen Systemen:
OpenSSL-Version: Ausgabe von 'openssl version -a'
Betriebssystemname, -version, Hardwareplattform
Compiler-Details (Name, Version)
- Anwendungsdetails (Name, Version)
- Problembeschreibung (Schritte, die das Problem reproduzieren, falls bekannt)
- Stack-Traceback (falls die Anwendung einen Core-Dump erzeugt)
Melden Sie den Fehler über den Request Tracker (http://www.openssl.org/support/rt.html) per E-Mail an das OpenSSL-Projekt:
[email protected]
Beachten Sie, dass der Request Tracker NICHT für allgemeine Hilfe oder Support-Anfragen verwendet werden sollte. Nur weil etwas nicht so funktioniert, wie Sie es erwarten, bedeutet das nicht unbedingt einen Fehler in OpenSSL.