119 lines
5.5 KiB
Text
119 lines
5.5 KiB
Text
|
|
OpenSSL 0.9.1c 22-Dec-1998
|
|
|
|
Copyright (c) 1998 The OpenSSL Project
|
|
Copyright (c) 1995-1998 Eric Young
|
|
All rights reserved.
|
|
|
|
The OpenSSL Project is a collaborative effort to develop a robust,
|
|
commercial-grade, fully featured, and Open Source toolkit implementing the
|
|
Transport Layer Security (TLS v1) and Secure Sockets Layer (SSL v2/v3)
|
|
protocols with full-strength cryptography world-wide. The project is managed
|
|
by a worldwide community of volunteers that use the Internet to communicate,
|
|
plan, and develop the OpenSSL tookit and its related documentation.
|
|
|
|
OpenSSL is based on the excellent SSLeay library developed from Eric A. Young
|
|
and Tim J. Hudson. The OpenSSL toolkit is licensed under a BSD-style licence,
|
|
which basically means that you are free to get and use it for commercial and
|
|
non-commercial purposes.
|
|
|
|
The package includes:
|
|
|
|
libssl.a:
|
|
Implementation of SSLv2, SSLv3, TLSv1 and the required code to support
|
|
both SSLv2, SSLv3 and TLSv1 in the one server.
|
|
|
|
libcrypto.a:
|
|
General encryption and X.509 stuff needed by TLS/SSL but not actually
|
|
logically part of it. It includes routines for the following:
|
|
|
|
Ciphers
|
|
libdes - EAY's libdes DES encryption package which has been floating
|
|
around the net for a few years. It includes 15
|
|
'modes/variations' of DES (1, 2 and 3 key versions of ecb,
|
|
cbc, cfb and ofb; pcbc and a more general form of cfb and
|
|
ofb) including desx in cbc mode, a fast crypt(3), and
|
|
routines to read passwords from the keyboard.
|
|
RC4 encryption,
|
|
RC2 encryption - 4 different modes, ecb, cbc, cfb and ofb.
|
|
Blowfish encryption - 4 different modes, ecb, cbc, cfb and ofb.
|
|
IDEA encryption - 4 different modes, ecb, cbc, cfb and ofb.
|
|
|
|
Digests
|
|
MD5 and MD2 message digest algorithms, fast implementations,
|
|
SHA (SHA-0) and SHA-1 message digest algorithms,
|
|
MDC2 message digest. A DES based hash that is polular on smart cards.
|
|
|
|
Public Key
|
|
RSA encryption/decryption/generation.
|
|
There is no limit on the number of bits.
|
|
DSA encryption/decryption/generation.
|
|
There is no limit on the number of bits.
|
|
Diffie-Hellman key-exchange/key generation.
|
|
There is no limit on the number of bits.
|
|
|
|
X.509v3 certificates
|
|
X509 encoding/decoding into/from binary ASN1 and a PEM
|
|
based ascii-binary encoding which supports encryption with a
|
|
private key. Program to generate RSA and DSA certificate
|
|
requests and to generate RSA and DSA certificates.
|
|
|
|
Systems
|
|
The normal digital envelope routines and base64 encoding. Higher
|
|
level access to ciphers and digests by name. New ciphers can be
|
|
loaded at run time. The BIO io system which is a simple non-blocking
|
|
IO abstraction. Current methods supported are file descriptors,
|
|
sockets, socket accept, socket connect, memory buffer, buffering, SSL
|
|
client/server, file pointer, encryption, digest, non-blocking testing
|
|
and null.
|
|
|
|
Data structures
|
|
A dynamically growing hashing system
|
|
A simple stack.
|
|
A Configuration loader that uses a format similar to MS .ini files.
|
|
|
|
Programs in this package include:
|
|
|
|
enc - a general encryption program that can encrypt/decrypt using
|
|
one of 17 different cipher/mode combinations. The
|
|
input/output can also be converted to/from base64
|
|
ascii encoding.
|
|
dgst - a generate message digesting program that will generate
|
|
message digests for any of md2, md5, sha (sha-0 or sha-1)
|
|
or mdc2.
|
|
asn1parse - parse and display the structure of an asn1 encoded
|
|
binary file.
|
|
rsa - Manipulate RSA private keys.
|
|
dsa - Manipulate DSA private keys.
|
|
dh - Manipulate Diffie-Hellman parameter files.
|
|
dsaparam- Manipulate and generate DSA parameter files.
|
|
crl - Manipulate certificate revocation lists.
|
|
crt2pkcs7- Generate a pkcs7 object containing a crl and a certificate.
|
|
x509 - Manipulate x509 certificates, self-sign certificates.
|
|
req - Manipulate PKCS#10 certificate requests and also
|
|
generate certificate requests.
|
|
genrsa - Generates an arbitrary sized RSA private key.
|
|
gendh - Generates a set of Diffie-Hellman parameters, the prime
|
|
will be a strong prime.
|
|
ca - Create certificates from PKCS#10 certificate requests.
|
|
This program also maintains a database of certificates
|
|
issued.
|
|
verify - Check x509 certificate signatures.
|
|
speed - Benchmark SSLeay's ciphers.
|
|
s_server- A test SSL server.
|
|
s_client- A test SSL client.
|
|
s_time - Benchmark SSL performance of SSL server programs.
|
|
errstr - Convert from SSLeay hex error codes to a readable form.
|
|
|
|
To install this package, read the INSTALL file.
|
|
For the Microsoft world, read INSTALL.W32 file.
|
|
|
|
For people in the USA, it is possible to compile SSLeay to use RSA Inc.'s
|
|
public key library, RSAref. From my understanding, it is claimed by RSA Inc.
|
|
to be illegal to use my public key routines inside the USA. Read
|
|
doc/rsaref.doc on how to build with RSAref.
|
|
|
|
Read the documentation in the doc directory. It is quite rough, but it lists
|
|
the functions, you will probably have to look at the code to work out how to
|
|
used them. I will be working on documentation. Look at the example programs.
|
|
|