
OpenSSL-Toolkit, das SSL/TLS-Protokolle und eine Allzweck-Kryptographie-Bibliothek mit Chiffren, Digests, Public-Key-Algorithmen und X.509-Zertifikatsverarbeitung implementiert.
OpenSSL 1.0.1g 7 Apr 2014
Copyright (c) 1998-2011 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson All rights reserved.
Das OpenSSL-Projekt ist eine gemeinschaftliche Initiative zur Entwicklung einer robusten, professionellen, voll ausgestatteten Open-Source-Toolkit-Implementierung der Protokolle Secure Sockets Layer (SSL v2/v3) und Transport Layer Security (TLS v1) sowie einer vollwertigen Allzweck-Kryptographie-Bibliothek. Das Projekt wird von einer weltweiten Gemeinschaft von Freiwilligen verwaltet, die das Internet nutzen, um zu kommunizieren, zu planen und das OpenSSL-Toolkit sowie die dazugehörige Dokumentation zu entwickeln.
OpenSSL basiert auf der hervorragenden SSLeay-Bibliothek, die von Eric A. Young und Tim J. Hudson entwickelt wurde. Das OpenSSL-Toolkit steht unter einer dualen Lizenz (der OpenSSL-Lizenz plus der SSLeay-Lizenz), was im Grunde bedeutet, dass Sie es frei für kommerzielle und nicht-kommerzielle Zwecke nutzen 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-Funktionen, die von SSL/TLS benötigt werden, aber nicht wirklich logisch dazu gehören. Es enthält Routinen für Folgendes:
Chiffren
libdes - EAY's libdes DES-Verschlüsselungspaket, das einige Jahre im Netz
kursierte und dann von ihm als Teil von SSLeay neu lizenziert wurde.
Es umfasst 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, einer schnellen
crypt(3)-Implementierung und Routinen zum Einlesen von Passwörtern
von der 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.
Digests
MD5- und MD2-Message-Digest-Algorithmen, schnelle Implementierungen,
SHA- (SHA-0) und SHA-1-Message-Digest-Algorithmen,
MDC2-Message-Digest. Ein DES-basierter Hash, der auf Smartcards beliebt ist.
Öffentliche Schlüssel
RSA-Verschlüsselung/Entschlüsselung/Generierung.
Es gibt keine Begrenzung der Bitanzahl.
DSA-Verschlüsselung/Entschlüsselung/Generierung.
Es gibt keine Begrenzung der Bitanzahl.
Diffie-Hellman-Schlüsselaustausch/Schlüsselgenerierung.
Es gibt keine Begrenzung der Bitanzahl.
X.509v3-Zertifikate
X509-Kodierung/Dekodierung in/aus binärem ASN1 und einer PEM-
basierten ASCII-Binärkodierung, die Verschlüsselung mit einem
privaten Schlüssel unterstützt. Programm zur Erstellung von RSA- und
DSA-Zertifikatsanfragen und zur Erstellung von RSA- und DSA-Zertifikaten.
Systeme
Die üblichen digitalen Umschlag-Routinen und Base64-Kodierung. Höherer
Zugriff auf Chiffren und Digests nach Namen. Neue Chiffren können zur
Laufzeit geladen werden. Das BIO-E/A-System, eine einfache nicht blockierende
E/A-Abstraktion. Aktuell 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 Hashing-System.
Ein einfacher Stack.
Ein Konfigurations-Lader, der ein ähnliches Format wie MS .ini-Dateien verwendet.
openssl: Ein Kommandozeilenwerkzeug, das verwendet werden kann für: Erstellung von RSA-, DH- und DSA-Schlüsselparametern Erstellung von X.509-Zertifikaten, CSRs und CRLs Berechnung von Message Digests Verschlüsselung und Entschlüsselung mit Chiffren SSL/TLS-Client- und Server-Tests Verarbeitung von S/MIME-signierten oder -verschlüsselten E-Mails
Verschiedene Unternehmen halten verschiedene Patente für verschiedene Algorithmen an verschiedenen Orten auf 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, von denen wir wissen 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 sich für Lizenzbedingungen an RSA Security wenden. Deren Webseite ist http://www.rsasecurity.com/.
RC4 ist eine Marke von RSA Security, daher sollte dieses Label 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; deren Webseite ist http://www.ascom.ch/.
NTT und Mitsubishi haben Patente und schwebende Patentanmeldungen für den Camellia-Algorithmus, erlauben jedoch die Nutzung kostenlos ohne eine 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 ziemlich grob, listet aber die Funktionen auf; Sie werden wahrscheinlich den Code ansehen müssen, um herauszufinden, wie man sie verwendet. Schauen Sie sich die Beispielprogramme an.
Für einige Plattformen gibt es bekannte Probleme, die den Benutzer oder Anwendungsautor betreffen können. Wir versuchen, diese in doc/PROBLEMS zu sammeln, zusammen mit aktuellen Gedanken, wie sie in einer zukünftigen Version von OpenSSL gelöst werden sollten.
Siehe die OpenSSL-Website www.openssl.org für Details zur Beschaffung von kommerziellem technischen Support.
Wenn Sie Probleme mit OpenSSL haben, führen Sie bitte zunächst 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 ASM-Versionen der Bibliotheken.
- Entfernen Sie Compiler-Optimierungsflags.
Wenn Sie einen Fehler melden möchten, fügen Sie bitte die folgenden Informationen in jeden Fehlerbericht ein:
- Auf Unix-Systemen:
Selbsttestbericht, generiert durch 'make report'
- Auf anderen Systemen:
OpenSSL-Version: Ausgabe von 'openssl version -a'
Betriebssystemname, -version, Hardware-Plattform
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 an das OpenSSL-Projekt über den Request Tracker (http://www.openssl.org/support/rt.html) per E-Mail an:
[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, dass es sich um einen Fehler in OpenSSL handelt.