Skip to content
FAQ 45.5 KiB
Newer Older
Ulf Möller's avatar
Ulf Möller committed
OpenSSL  -  Frequently Asked Questions
--------------------------------------

Ulf Möller's avatar
Ulf Möller committed
* Which is the current version of OpenSSL?
Ulf Möller's avatar
Ulf Möller committed
* Where is the documentation?
* How can I contact the OpenSSL developers?
* Where can I get a compiled version of OpenSSL?
* Why aren't tools like 'autoconf' and 'libtool' used?
Lutz Jänicke's avatar
Lutz Jänicke committed
* What is an 'engine' version?
* How do I check the authenticity of the OpenSSL distribution?
* How does the versioning scheme work?
* Do I need patent licenses to use OpenSSL?
Ulf Möller's avatar
Ulf Möller committed
* Can I use OpenSSL with GPL software? 

[USER] Questions on using the OpenSSL applications

Ulf Möller's avatar
Ulf Möller committed
* Why do I get a "PRNG not seeded" error message?
Bodo Möller's avatar
Bodo Möller committed
* Why do I get an "unable to write 'random state'" error message?
Dr. Stephen Henson's avatar
Dr. Stephen Henson committed
* How do I create certificates or certificate requests?
* Why can't I create certificate requests?
Dr. Stephen Henson's avatar
Dr. Stephen Henson committed
* Why does <SSL program> fail with a certificate verify error?
* Why can I only use weak ciphers when I connect to a server using OpenSSL?
Dr. Stephen Henson's avatar
Dr. Stephen Henson committed
* How can I create DSA certificates?
* Why can't I make an SSL connection using a DSA certificate?
* How can I remove the passphrase on a private key?
* Why can't I use OpenSSL certificates with SSL client authentication?
* Why does my browser give a warning about a mismatched hostname?
Dr. Stephen Henson's avatar
Dr. Stephen Henson committed
* How do I install a CA certificate into a browser?
* Why is OpenSSL x509 DN output not conformant to RFC2253?
* What is a "128 bit certificate"? Can I create one with OpenSSL?
Dr. Stephen Henson's avatar
Dr. Stephen Henson committed
* Why does OpenSSL set the authority key identifier extension incorrectly?
Bodo Möller's avatar
Bodo Möller committed
* How can I set up a bundle of commercial root CA certificates?

[BUILD] Questions about building and testing OpenSSL

* Why does the linker complain about undefined symbols?
Ulf Möller's avatar
Ulf Möller committed
* Why does the OpenSSL test fail with "bc: command not found"?
* Why does the OpenSSL test fail with "bc: 1 no implemented"?
* Why does the OpenSSL test fail with "bc: stack empty"?
* Why does the OpenSSL compilation fail on Alpha Tru64 Unix?
* Why does the OpenSSL compilation fail with "ar: command not found"?
* Why does the OpenSSL compilation fail on Win32 with VC++?
* What is special about OpenSSL on Redhat?
* Why does the OpenSSL compilation fail on MacOS X?
* Why does the OpenSSL test suite fail on MacOS X?
Andy Polyakov's avatar
Andy Polyakov committed
* Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]?
* Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type"?
Andy Polyakov's avatar
Andy Polyakov committed
* Why does the OpenSSL test suite fail in sha512t on x86 CPU?
* Why does compiler fail to compile sha512.c?
Andy Polyakov's avatar
Andy Polyakov committed
* Test suite still fails, what to do?
Dr. Stephen Henson's avatar
Dr. Stephen Henson committed
* I think I've found a bug, what should I do?
* I'm SURE I've found a bug, how do I report it?
* I've found a security issue, how do I report it?
[PROG] Questions about programming with OpenSSL

* Is OpenSSL thread-safe?
* I've compiled a program under Windows and it crashes: why?
* How do I read or write a DER encoded buffer using the ASN1 functions?
Dr. Stephen Henson's avatar
Dr. Stephen Henson committed
* OpenSSL uses DER but I need BER format: does OpenSSL support BER?
* I've tried using <M_some_evil_pkcs12_macro> and I get errors why?
* I've called <some function> and it fails, why?
* I just get a load of numbers for the error output, what do they mean?
* Why do I get errors about unknown algorithms?
* Why can't the OpenSSH configure script detect OpenSSL?
* Can I use OpenSSL's SSL library with non-blocking I/O?
* Why doesn't my server application receive a client certificate?
* Why does compilation fail due to an undefined symbol NID_uniqueIdentifier?
Dr. Stephen Henson's avatar
Dr. Stephen Henson committed
* I think I've detected a memory leak, is this a bug?
Lutz Jänicke's avatar
Lutz Jänicke committed
* Why does Valgrind complain about the use of uninitialized data?
Dr. Stephen Henson's avatar
Dr. Stephen Henson committed
* Why doesn't a memory BIO work when a file does?
Dr. Stephen Henson's avatar
Dr. Stephen Henson committed
* Where are the declarations and implementations of d2i_X509() etc?

===============================================================================

[MISC] ========================================================================
Ulf Möller's avatar
Ulf Möller committed
* Which is the current version of OpenSSL?

The current version is available from <URL: http://www.openssl.org>.
Dr. Stephen Henson's avatar
Dr. Stephen Henson committed
OpenSSL 1.0.1e was released on Feb 11, 2013.
Ulf Möller's avatar
Ulf Möller committed

In addition to the current stable release, you can also access daily
snapshots of the OpenSSL development version at <URL:
ftp://ftp.openssl.org/snapshot/>, or get it by anonymous Git access.
Ulf Möller's avatar
Ulf Möller committed


Ulf Möller's avatar
Ulf Möller committed
* Where is the documentation?

OpenSSL is a library that provides cryptographic functionality to
applications such as secure web servers.  Be sure to read the
documentation of the application you want to use.  The INSTALL file
explains how to install this library.

OpenSSL includes a command line utility that can be used to perform a
variety of cryptographic functions.  It is described in the openssl(1)
manpage.  Documentation for developers is currently being written. Many
manual pages are available; overviews over libcrypto and
Ulf Möller's avatar
Ulf Möller committed
libssl are given in the crypto(3) and ssl(3) manpages.

The OpenSSL manpages are installed in /usr/local/ssl/man/ (or a
different directory if you specified one as described in INSTALL).
In addition, you can read the most current versions at
<URL: http://www.openssl.org/docs/>. Note that the online documents refer
to the very latest development versions of OpenSSL and may include features
not present in released versions. If in doubt refer to the documentation
that came with the version of OpenSSL you are using. The pod format
documentation is included in each OpenSSL distribution under the docs
directory.
Ulf Möller's avatar
Ulf Möller committed

For information on parts of libcrypto that are not yet documented, you
might want to read Ariel Glenn's documentation on SSLeay 0.9, OpenSSL's
predecessor, at <URL: http://www.columbia.edu/~ariel/ssleay/>.  Much
of this still applies to OpenSSL.

There is some documentation about certificate extensions and PKCS#12
in doc/openssl.txt

Ulf Möller's avatar
Ulf Möller committed
The original SSLeay documentation is included in OpenSSL as
Ulf Möller's avatar
Ulf Möller committed
doc/ssleay.txt.  It may be useful when none of the other resources
Ulf Möller's avatar
Ulf Möller committed
help, but please note that it reflects the obsolete version SSLeay
0.6.6.


* How can I contact the OpenSSL developers?

The README file describes how to submit bug reports and patches to
OpenSSL.  Information on the OpenSSL mailing lists is available from
<URL: http://www.openssl.org>.


* Where can I get a compiled version of OpenSSL?
You can finder pointers to binary distributions in
Dr. Stephen Henson's avatar
Dr. Stephen Henson committed
<URL: http://www.openssl.org/related/binaries.html> .
Some applications that use OpenSSL are distributed in binary form.
When using such an application, you don't need to install OpenSSL
yourself; the application will include the required parts (e.g. DLLs).
If you want to build OpenSSL on a Windows system and you don't have
a C compiler, read the "Mingw32" section of INSTALL.W32 for information
on how to obtain and install the free GNU C compiler.
A number of Linux and *BSD distributions include OpenSSL.
* Why aren't tools like 'autoconf' and 'libtool' used?
Ulf Möller's avatar
Ulf Möller committed
autoconf will probably be used in future OpenSSL versions. If it was
less Unix-centric, it might have been used much earlier.
Lutz Jänicke's avatar
Lutz Jänicke committed
* What is an 'engine' version?

With version 0.9.6 OpenSSL was extended to interface to external crypto
hardware. This was realized in a special release '0.9.6-engine'. With
Nils Larsch's avatar
Nils Larsch committed
version 0.9.7 the changes were merged into the main development line,
so that the special release is no longer necessary.
* How do I check the authenticity of the OpenSSL distribution?

We provide MD5 digests and ASC signatures of each tarball.
Use MD5 to check that a tarball from a mirror site is identical:

   md5sum TARBALL | awk '{print $1;}' | cmp - TARBALL.md5

You can check authenticity using pgp or gpg. You need the OpenSSL team
member public key used to sign it (download it from a key server, see a
list of keys at <URL: http://www.openssl.org/about/>). Then
* How does the versioning scheme work?

After the release of OpenSSL 1.0.0 the versioning scheme changed. Letter 
releases (e.g. 1.0.1a) can only contain bug and security fixes and no
new features. Minor releases change the last number (e.g. 1.0.2) and 
can contain new features that retain binary compatibility. Changes to
the middle number are considered major releases and neither source nor
binary compatibility is guaranteed.

Therefore the answer to the common question "when will feature X be
backported to OpenSSL 1.0.0/0.9.8?" is "never" but it could appear
in the next minor release.

[LEGAL] =======================================================================
* Do I need patent licenses to use OpenSSL?
The patents section of the README file lists patents that may apply to
you if you want to use OpenSSL.  For information on intellectual
property rights, please consult a lawyer.  The OpenSSL team does not
offer legal advice.

Loading
Loading full blame…