]>
Commit | Line | Data |
---|---|---|
d02b48c6 RE |
1 | SSLeay 0.8.1b 29-Jun-1998 |
2 | Copyright (c) 1997, Eric Young | |
3 | All rights reserved. | |
4 | ||
5 | This directory contains Eric Young's (eay@cryptsoft.com) implementation | |
6 | of SSL and supporting libraries. | |
7 | ||
8 | The current version of this library is available from | |
9 | ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/SSLeay-x.x.x.tar.gz | |
10 | ||
11 | There are patches to a number of internet applications which can be found in | |
12 | ftp://ftp.psy.uq.oz.au/pub/Crypto/SSLapps/ | |
13 | ||
14 | A Web page containing the SSLeay FAQ written by Tim Hudson <tjh@cryptsoft.com> | |
15 | can be found at | |
16 | http://www.psy.uq.oz.au/~ftp/Crypto | |
17 | ||
18 | Additional documentation is being slowly written by Eric Young, and is being | |
19 | added to http://www.cryptsoft.com/ssleay/doc. It will normally also be | |
20 | available on http://www.psy.uq.oz.au/~ftp/Crypto/ssleay | |
21 | ||
22 | This Library and programs are FREE for commercial and non-commercial | |
23 | usage. The only restriction is that I must be attributed with the | |
24 | development of this code. See the COPYRIGHT file for more details. | |
25 | Donations would still be accepted :-). | |
26 | ||
27 | THIS LIBRARY IS NOT %100 COMPATABLE WITH SSLeay 0.6.6 | |
28 | ||
29 | The package includes | |
30 | ||
31 | libssl.a: | |
32 | My implementation of SSLv2, SSLv3 and the required code to support | |
33 | both SSLv2 and SSLv3 in the one server. | |
34 | ||
35 | libcrypto.a: | |
36 | General encryption and X509 stuff needed by SSL but not | |
37 | actually logically part of it. It includes routines for the following: | |
38 | ||
39 | Ciphers | |
40 | libdes - My libdes DES encryption package which has been floating | |
41 | around the net for a few years. It includes 15 | |
42 | 'modes/variations' of DES (1, 2 and 3 key versions of ecb, | |
43 | cbc, cfb and ofb; pcbc and a more general form of cfb and ofb) | |
44 | including desx in cbc mode, | |
45 | a fast crypt(3), and routines to read passwords from the | |
46 | keyboard. | |
47 | RC4 encryption, | |
48 | RC2 encryption - 4 different modes, ecb, cbc, cfb and ofb. | |
49 | Blowfish encryption - 4 different modes, ecb, cbc, cfb and ofb. | |
50 | IDEA encryption - 4 different modes, ecb, cbc, cfb and ofb. | |
51 | ||
52 | Digests | |
53 | MD5 and MD2 message digest algorithms, fast implementations, | |
54 | SHA (SHA-0) and SHA-1 message digest algorithms, | |
55 | MDC2 message digest. A DES based hash that is polular on smart cards. | |
56 | ||
57 | Public Key | |
58 | RSA encryption/decryption/generation. There is no limit | |
59 | on the number of bits. | |
60 | DSA encryption/decryption/generation. There is no limit on the | |
61 | number of bits. | |
62 | Diffie-Hellman key-exchange/key generation. There is no limit | |
63 | on the number of bits. | |
64 | ||
65 | X509v3 certificates | |
66 | X509 encoding/decoding into/from binary ASN1 and a PEM | |
67 | based ascii-binary encoding which supports encryption with | |
68 | a private key. | |
69 | Program to generate RSA and DSA certificate requests and to | |
70 | generate RSA and DSA certificates. | |
71 | ||
72 | Systems | |
73 | The normal digital envelope routines and base64 encoding. | |
74 | Higher level access to ciphers and digests by name. New ciphers can be | |
75 | loaded at run time. | |
76 | The BIO io system which is a simple non-blocking IO abstraction. | |
77 | Current methods supported are file descriptors, sockets, | |
78 | socket accept, socket connect, memory buffer, buffering, | |
79 | SSL client/server, file pointer, encryption, digest, | |
80 | non-blocking testing and null. | |
81 | Data structures | |
82 | A dynamically growing hashing system | |
83 | A simple stack. | |
84 | A Configuration loader that uses a format similar to MS .ini files. | |
85 | ||
86 | Programs in this package include | |
87 | enc - a general encryption program that can encrypt/decrypt using | |
88 | one of 17 different cipher/mode combinations. The | |
89 | input/output can also be converted to/from base64 | |
90 | ascii encoding. | |
91 | dgst - a generate message digesting program that will generate | |
92 | message digests for any of md2, md5, sha (sha-0 or sha-1) | |
93 | or mdc2. | |
94 | asn1parse - parse and display the structure of an asn1 encoded | |
95 | binary file. | |
96 | rsa - Manipulate RSA private keys. | |
97 | dsa - Manipulate DSA private keys. | |
98 | dh - Manipulate Diffie-Hellman parameter files. | |
99 | dsaparam- Manipulate and generate DSA parameter files. | |
100 | crl - Manipulate certificate revocation lists. | |
101 | crt2pkcs7- Generate a pkcs7 object containing a crl and a certificate. | |
102 | x509 - Manipulate x509 certificates, self-sign certificates. | |
103 | req - Manipulate PKCS#10 certificate requests and also | |
104 | generate certificate requests. | |
105 | genrsa - Generates an arbitrary sized RSA private key. | |
106 | gendh - Generates a set of Diffie-Hellman parameters, the prime | |
107 | will be a strong prime. | |
108 | ca - Create certificates from PKCS#10 certificate requests. | |
109 | This program also maintains a database of certificates | |
110 | issued. | |
111 | verify - Check x509 certificate signatures. | |
112 | speed - Benchmark SSLeay's ciphers. | |
113 | s_server- A test SSL server. | |
114 | s_client- A test SSL client. | |
115 | s_time - Benchmark SSL performance of SSL server programs. | |
116 | errstr - Convert from SSLeay hex error codes to a readable form. | |
117 | ||
118 | Documents avaliable are | |
119 | A Postscript and html reference manual | |
120 | (written by Tim Hudson tjh@cryptsoft.com). | |
121 | ||
122 | A list of text protocol references I used. | |
123 | An initial version of the library manual. | |
124 | ||
125 | To install this package, read the INSTALL file. | |
126 | For the Microsoft word, read MICROSOFT | |
127 | This library has been compiled and tested on Solaris 2.[34] (sparc and x86), | |
128 | SunOS 4.1.3, DGUX, OSF1 Alpha, HPUX 9, AIX 3.5(?), IRIX 5.[23], | |
129 | LINUX, NeXT (intel), linux, Windows NT, Windows 3.1, MSDOS 6.22. | |
130 | ||
131 | Multithreading has been tested under Windows NT and Solaris 2.5.1 | |
132 | ||
133 | Due to time constraints, the current release has only be rigorously tested | |
134 | on Solaris 2.[45], Linux and Windows NT. | |
135 | ||
136 | For people in the USA, it is possible to compile SSLeay to use RSA | |
137 | Inc.'s public key library, RSAref. From my understanding, it is | |
138 | claimed by RSA Inc. to be illegal to use my public key routines inside the USA. | |
139 | Read doc/rsaref.doc on how to build with RSAref. | |
140 | ||
141 | Read the documentation in the doc directory. It is quite rough, | |
142 | but it lists the functions, you will probably have to look at | |
143 | the code to work out how to used them. I will be working on | |
144 | documentation. Look at the example programs. | |
145 | ||
146 | There should be a SSL reference manual which is being put together by | |
147 | Tim Hudson (tjh@cryptsoft.com) in the same location as this | |
148 | distribution. This contains a lot more information that is very | |
149 | useful. For a description of X509 Certificates, their use, and | |
150 | certification, read rfc1421, rfc1422, rfc1423 and rfc1424. ssl/README | |
151 | also goes over the mechanism. | |
152 | ||
153 | We have setup some mailing lists for use by people that are interested | |
154 | in helping develop this code and/or ask questions. | |
155 | ssl-bugs@mincom.oz.au | |
156 | ssl-users@mincom.oz.au | |
157 | ssl-bugs-request@mincom.oz.au | |
158 | ssl-users-request@mincom.oz.au | |
159 | ||
160 | I have recently read about a new form of software, that which is in | |
161 | a permanent state of beta release. Linux and Netscape are 2 good | |
162 | examples of this, and I would also add SSLeay to this category. | |
163 | The Current stable release is 0.6.6. It has a few minor problems. | |
164 | 0.8.0 is not call compatable so make sure you have the correct version | |
165 | of SSLeay to link with. | |
166 | ||
167 | eric (Jun 1997) | |
168 | ||
169 | Eric Young (eay@cryptsoft.com) | |
170 | 86 Taunton St. | |
171 | Annerley 4103. | |
172 | Australia. | |
173 |