blob: 3da6e849a1499ed0ee3ce379f2433c05777ed9e4 [file] [log] [blame]
Ulf Möllerf9a7c342000-02-23 17:03:06 +00001OpenSSL - Frequently Asked Questions
2--------------------------------------
3
4* Where is the documentation?
5* How can I contact the OpenSSL developers?
Ulf Möllerc1ce32f2000-02-23 17:09:50 +00006* Do I need patent licenses to use OpenSSL?
Ulf Möllerf9a7c342000-02-23 17:03:06 +00007* Is OpenSSL thread-safe?
8* Why do I get a "PRNG not seeded" error message?
Ulf Möller2b670ea2000-02-23 19:26:59 +00009* Where can I get a compiled version of OpenSSL?
Ulf Möllerf9a7c342000-02-23 17:03:06 +000010
11
12* Where is the documentation?
13
14OpenSSL is a library that provides cryptographic functionality to
15applications such as secure web servers. Be sure to read the
16documentation of the application you want to use. The INSTALL file
17explains how to install this library.
18
19OpenSSL includes a command line utility that can be used to perform a
20variety of cryptographic functions. It is described in the openssl(1)
21manpage. Documentation for developers is currently being written. A
22few manual pages already are available; overviews over libcrypto and
23libssl are given in the crypto(3) and ssl(3) manpages.
24
25The OpenSSL manpages are installed in /usr/local/ssl/man/ (or a
26different directory if you specified one as described in INSTALL).
27In addition, you can read the most current versions at
28<URL: http://www.openssl.org/docs/>.
29
30For information on parts of libcrypto that are not yet documented, you
31might want to read Ariel Glenn's documentation on SSLeay 0.9, OpenSSL's
32predecessor, at <URL: http://www.columbia.edu/~ariel/ssleay/>. Much
33of this still applies to OpenSSL.
34
35The original SSLeay documentation is included in OpenSSL as
36doc/ssleay.txt. It may be useful when none of the other ressources
37help, but please note that it reflects the obsolete version SSLeay
380.6.6.
39
40
41* How can I contact the OpenSSL developers?
42
43The README file describes how to submit bug reports and patches to
44OpenSSL. Information on the OpenSSL mailing lists is available from
45<URL: http://www.openssl.org>.
46
47
Ulf Möllerc1ce32f2000-02-23 17:09:50 +000048* Do I need patent licenses to use OpenSSL?
Ulf Möllerf9a7c342000-02-23 17:03:06 +000049
50The patents section of the README file lists patents that may apply to
51you if you want to use OpenSSL. For information on intellectual
52property rights, please consult a lawyer. The OpenSSL team does not
53offer legal advice.
54
55You can configure OpenSSL so as not to use RC5 and IDEA by using
56 ./config no-rc5 no-idea
57
58Until the RSA patent expires, U.S. users may want to use
59 ./config no-rc5 no-idea no-rsa
60
61Please note that you will *not* be able to communicate with most of
62the popular web browsers without RSA support.
63
64
65* Is OpenSSL thread-safe?
66
67Yes. On Windows and many Unix systems, OpenSSL automatically uses the
68multi-threaded versions of the standard libraries. If your platform
69is not one of these, consult the INSTALL file.
70
71Multi-threaded applications must provide two callback functions to
Ulf Möllerbe7ae172000-02-23 18:10:42 +000072OpenSSL. This is described in the threads(3) manpage.
Ulf Möllerf9a7c342000-02-23 17:03:06 +000073
74
75* Why do I get a "PRNG not seeded" error message?
76
77Cryptographic software needs a source of unpredictable data to work
78correctly. Many open source operating systems provide a "randomness
79device" that serves this purpose. On other systems, applications have
80to call the RAND_add() or RAND_seed() function with appropriate data
81before generating keys or performing public key encryption.
82
83Some broken applications do not do this. As of version 0.9.5, the
84OpenSSL functions that need randomness report an error if the random
85number generator has not been seeded with at least 128 bits of
86randomness. If this error occurs, please contact the author of the
87application you are using. It is likely that it never worked
88correctly. OpenSSL 0.9.5 makes the error visible by refusing to
89perform potentially insecure encryption.
Ulf Möller2b670ea2000-02-23 19:26:59 +000090
91
92* Where can I get a compiled version of OpenSSL?
93
94Some applications that use OpenSSL are distributed in binary form.
95When using such an application, you don't need to install OpenSSL
96yourself; the application will include the required parts (e.g. DLLs).
97
98If you want to install OpenSSL on a Windows system and you don't have
99a C compiler, read the "Mingw32" section of INSTALL.W32 for information
100on how to obtain and install the free GNU C compiler.
101
102A number of Linux and *BSD distributions include OpenSSL.