
Instantané du code source OpenSSL 1.0.1g, fournissant une bibliothèque SSL/TLS et de cryptographie à usage général avec chiffrements, condensés et gestion des certificats X.509.
OpenSSL 1.0.1g 7 avr. 2014
Copyright (c) 1998-2011 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson All rights reserved.
Le projet OpenSSL est un effort collaboratif visant à développer une boîte à outils robuste, de qualité commerciale, complète et open source mettant en œuvre les protocoles Secure Sockets Layer (SSL v2/v3) et Transport Layer Security (TLS v1) ainsi qu'une bibliothèque de cryptographie à usage général de haute sécurité. Le projet est géré par une communauté mondiale de bénévoles qui utilisent Internet pour communiquer, planifier et développer la boîte à outils OpenSSL et sa documentation associée.
OpenSSL est basé sur l'excellente bibliothèque SSLeay développée par Eric A. Young et Tim J. Hudson. La boîte à outils OpenSSL est distribuée sous une double licence (la licence OpenSSL plus la licence SSLeay), ce qui signifie essentiellement que vous êtes libre de l'obtenir et de l'utiliser à des fins commerciales et non commerciales tant que vous respectez les conditions des deux licences.
La boîte à outils OpenSSL inclut :
libssl.a : Implémentation de SSLv2, SSLv3, TLSv1 et le code nécessaire pour prendre en charge à la fois SSLv2, SSLv3 et TLSv1 dans un seul serveur et client.
libcrypto.a : Généralités sur le chiffrement et les éléments X.509 v1/v3 requis par SSL/TLS mais qui n'en font pas logiquement partie. Il comprend des routines pour les éléments suivants :
Ciphers
libdes - le package de chiffrement DES libdes d'EAY qui circulait sur le net
depuis quelques années, puis a été relicencié par lui dans le cadre de SSLeay.
Il comprend 15 'modes/variations' de DES (versions à 1, 2 et 3 clés d'ecb,
cbc, cfb et ofb ; pcbc et une forme plus générale de cfb et ofb) y compris desx
en mode cbc, un crypt(3) rapide, et des routines de lecture de mots de passe
depuis le clavier.
Chiffrement RC4,
Chiffrement RC2 - 4 modes différents, ecb, cbc, cfb et ofb.
Chiffrement Blowfish - 4 modes différents, ecb, cbc, cfb et ofb.
Chiffrement IDEA - 4 modes différents, ecb, cbc, cfb et ofb.
Digests
Algorithmes de résumé de message MD5 et MD2, implémentations rapides,
algorithmes de résumé de message SHA (SHA-0) et SHA-1,
résumé de message MDC2. Un hachage basé sur DES populaire sur les cartes à puce.
Clé publique
Génération/chiffrement/déchiffrement RSA.
Aucune limite sur le nombre de bits.
Génération/chiffrement/déchiffrement DSA.
Aucune limite sur le nombre de bits.
Échange de clés/génération de clés Diffie-Hellman.
Aucune limite sur le nombre de bits.
Certificats X.509v3
Encodage/décodage X509 vers/depuis le binaire ASN1 et un encodage
binaire-ASCII basé sur PEM qui prend en charge le chiffrement avec une
clé privée. Programme pour générer des demandes de certificats RSA et DSA
et pour générer des certificats RSA et DSA.
Systèmes
Les routines normales d'enveloppe numérique et d'encodage base64. Accès
de plus haut niveau aux chiffrements et digests par nom. De nouveaux chiffrements peuvent être
chargés à l'exécution. Le système d'E/S BIO qui est une abstraction d'E/S
simple non bloquante. Les méthodes actuellement prises en charge sont les descripteurs de fichiers,
sockets, acceptation de socket, connexion socket, tampon mémoire, mise en mémoire tampon, SSL
client/serveur, pointeur de fichier, chiffrement, digest, test non bloquant
et null.
Structures de données
Un système de hachage à croissance dynamique
Une pile simple.
Un chargeur de configuration utilisant un format similaire aux fichiers .ini de MS.
openssl : Un outil en ligne de commande qui peut être utilisé pour : Création de paramètres de clé RSA, DH et DSA Création de certificats X.509, CSR et CRL Calcul de résumés de message Chiffrement et déchiffrement avec des chiffrements Tests client et serveur SSL/TLS Gestion des courriers signés ou chiffrés S/MIME
Diverses entreprises détiennent divers brevets pour divers algorithmes dans divers endroits du monde. VOUS êtes responsable de vous assurer que votre utilisation de tout algorithme est légale en vérifiant s'il existe des brevets dans votre pays. Le fichier contient certains des brevets que nous connaissons ou dont l'existence est supposée. Ce n'est pas une liste définitive.
RSA Security détient des brevets logiciels sur l'algorithme RC5. Si vous avez l'intention d'utiliser ce chiffrement, vous devez contacter RSA Security pour les conditions de licence. Leur page web est http://www.rsasecurity.com/.
RC4 est une marque déposée de RSA Security, donc l'utilisation de cette étiquette ne devrait peut-être se faire qu'avec l'autorisation de RSA Security.
L'algorithme IDEA est breveté par Ascom en Autriche, France, Allemagne, Italie, Japon, Pays-Bas, Espagne, Suède, Suisse, Royaume-Uni et États-Unis. Ils doivent être contactés si cet algorithme doit être utilisé ; leur page web est http://www.ascom.ch/.
NTT et Mitsubishi détiennent des brevets et des demandes de brevet sur l'algorithme Camellia, mais en autorisent l'utilisation gratuitement sans exiger d'accord de licence explicite : http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html
Pour installer ce package sous un dérivé d'Unix, lisez le fichier INSTALL. Pour une plateforme Win32, lisez le fichier INSTALL.W32. Pour les systèmes OpenVMS, lisez INSTALL.VMS.
Lisez la documentation dans le répertoire doc/. Elle est assez grossière, mais elle liste les fonctions ; vous devrez probablement regarder le code pour comprendre comment les utiliser. Regardez les programmes d'exemple.
Pour certaines plateformes, il existe des problèmes connus qui peuvent affecter l'utilisateur ou l'auteur de l'application. Nous essayons de les rassembler dans doc/PROBLEMS, avec des réflexions actuelles sur la manière de les résoudre dans une future version d'OpenSSL.
Consultez le site web d'OpenSSL www.openssl.org pour les détails sur la façon d'obtenir un support technique commercial.
Si vous rencontrez des problèmes avec OpenSSL, veuillez d'abord suivre les étapes suivantes :
- Téléchargez l'instantané actuel depuis ftp://ftp.openssl.org/snapshot/
pour voir si le problème a déjà été résolu
- Supprimez les versions ASM des bibliothèques
- Supprimez les indicateurs d'optimisation du compilateur
Si vous souhaitez signaler un bogue, veuillez inclure les informations suivantes dans tout rapport de bogue :
- Sur les systèmes Unix :
Rapport d'auto-test généré par 'make report'
- Sur les autres systèmes :
Version d'OpenSSL : sortie de 'openssl version -a'
Nom du système d'exploitation, version, plateforme matérielle
Détails du compilateur (nom, version)
- Détails de l'application (nom, version)
- Description du problème (étapes pour reproduire le problème, si connues)
- Trace de la pile (si l'application génère un core dump)
Signalez le bogue au projet OpenSSL via le Request Tracker (http://www.openssl.org/support/rt.html) par courrier à :
[email protected]
Notez que le Request Tracker ne doit PAS être utilisé pour une assistance générale ou des demandes de support. Ce n'est pas parce que quelque chose ne fonctionne pas comme vous le souhaitez que c'est nécessairement un bogue dans OpenSSL.