blob: 832bb9d72750b4bad9ec480934c4dfe07bdf5f24 [file] [log] [blame]
Ulf Möllerf9a7c342000-02-23 17:03:06 +00001OpenSSL - Frequently Asked Questions
2--------------------------------------
3
Ulf Möller49976df2000-02-23 23:46:17 +00004* Which is the current version of OpenSSL?
Ulf Möllerf9a7c342000-02-23 17:03:06 +00005* Where is the documentation?
6* How can I contact the OpenSSL developers?
Ulf Möllerc1ce32f2000-02-23 17:09:50 +00007* Do I need patent licenses to use OpenSSL?
Ulf Möllerf9a7c342000-02-23 17:03:06 +00008* Is OpenSSL thread-safe?
9* Why do I get a "PRNG not seeded" error message?
Ulf Möller49976df2000-02-23 23:46:17 +000010* Why does the linker complain about undefined symbols?
Ulf Möller2b670ea2000-02-23 19:26:59 +000011* Where can I get a compiled version of OpenSSL?
Ulf Möllerf9a7c342000-02-23 17:03:06 +000012
13
Ulf Möller49976df2000-02-23 23:46:17 +000014* Which is the current version of OpenSSL?
15
16The current version is available from <URL: http://www.openssl.org>.
17OpenSSL 0.9.4 was released on August 9th, 1999.
18
19In addition to the current stable release, you can also access daily
20snapshots of the OpenSSL development version at <URL:
21ftp://ftp.openssl.org/snapshot/>, or get it by anonymous CVS access.
22
23
Ulf Möllerf9a7c342000-02-23 17:03:06 +000024* Where is the documentation?
25
26OpenSSL is a library that provides cryptographic functionality to
27applications such as secure web servers. Be sure to read the
28documentation of the application you want to use. The INSTALL file
29explains how to install this library.
30
31OpenSSL includes a command line utility that can be used to perform a
32variety of cryptographic functions. It is described in the openssl(1)
33manpage. Documentation for developers is currently being written. A
34few manual pages already are available; overviews over libcrypto and
35libssl are given in the crypto(3) and ssl(3) manpages.
36
37The OpenSSL manpages are installed in /usr/local/ssl/man/ (or a
38different directory if you specified one as described in INSTALL).
39In addition, you can read the most current versions at
40<URL: http://www.openssl.org/docs/>.
41
42For information on parts of libcrypto that are not yet documented, you
43might want to read Ariel Glenn's documentation on SSLeay 0.9, OpenSSL's
44predecessor, at <URL: http://www.columbia.edu/~ariel/ssleay/>. Much
45of this still applies to OpenSSL.
46
47The original SSLeay documentation is included in OpenSSL as
48doc/ssleay.txt. It may be useful when none of the other ressources
49help, but please note that it reflects the obsolete version SSLeay
500.6.6.
51
52
53* How can I contact the OpenSSL developers?
54
55The README file describes how to submit bug reports and patches to
56OpenSSL. Information on the OpenSSL mailing lists is available from
57<URL: http://www.openssl.org>.
58
59
Ulf Möllerc1ce32f2000-02-23 17:09:50 +000060* Do I need patent licenses to use OpenSSL?
Ulf Möllerf9a7c342000-02-23 17:03:06 +000061
62The patents section of the README file lists patents that may apply to
63you if you want to use OpenSSL. For information on intellectual
64property rights, please consult a lawyer. The OpenSSL team does not
65offer legal advice.
66
67You can configure OpenSSL so as not to use RC5 and IDEA by using
68 ./config no-rc5 no-idea
69
70Until the RSA patent expires, U.S. users may want to use
71 ./config no-rc5 no-idea no-rsa
72
73Please note that you will *not* be able to communicate with most of
74the popular web browsers without RSA support.
75
76
77* Is OpenSSL thread-safe?
78
79Yes. On Windows and many Unix systems, OpenSSL automatically uses the
80multi-threaded versions of the standard libraries. If your platform
81is not one of these, consult the INSTALL file.
82
83Multi-threaded applications must provide two callback functions to
Ulf Möllerbe7ae172000-02-23 18:10:42 +000084OpenSSL. This is described in the threads(3) manpage.
Ulf Möllerf9a7c342000-02-23 17:03:06 +000085
86
87* Why do I get a "PRNG not seeded" error message?
88
89Cryptographic software needs a source of unpredictable data to work
90correctly. Many open source operating systems provide a "randomness
91device" that serves this purpose. On other systems, applications have
92to call the RAND_add() or RAND_seed() function with appropriate data
93before generating keys or performing public key encryption.
94
95Some broken applications do not do this. As of version 0.9.5, the
96OpenSSL functions that need randomness report an error if the random
97number generator has not been seeded with at least 128 bits of
98randomness. If this error occurs, please contact the author of the
99application you are using. It is likely that it never worked
100correctly. OpenSSL 0.9.5 makes the error visible by refusing to
101perform potentially insecure encryption.
Ulf Möller2b670ea2000-02-23 19:26:59 +0000102
103
Ulf Möller49976df2000-02-23 23:46:17 +0000104* Why does the linker complain about undefined symbols?
105
106Maybe the compilation was interruped, and make doesn't notice that
107something is missing. Run "make clean; make".
108
109If you used ./Configure instead of ./config, make sure that you
110selected the right target. File formats may differ slightly between
111OS versions (for example sparcv8/sparcv9, or a.out/elf).
112
113If that doesn't help, you may want to try using the current snapshot.
114If the problem persists, please submit a bug report.
115
116
Ulf Möller2b670ea2000-02-23 19:26:59 +0000117* Where can I get a compiled version of OpenSSL?
118
119Some applications that use OpenSSL are distributed in binary form.
120When using such an application, you don't need to install OpenSSL
121yourself; the application will include the required parts (e.g. DLLs).
122
123If you want to install OpenSSL on a Windows system and you don't have
124a C compiler, read the "Mingw32" section of INSTALL.W32 for information
125on how to obtain and install the free GNU C compiler.
126
127A number of Linux and *BSD distributions include OpenSSL.