| OLD | NEW |
| 1 OpenSSL - Frequently Asked Questions | 1 OpenSSL - Frequently Asked Questions |
| 2 -------------------------------------- | 2 -------------------------------------- |
| 3 | 3 |
| 4 [MISC] Miscellaneous questions | 4 [MISC] Miscellaneous questions |
| 5 | 5 |
| 6 * Which is the current version of OpenSSL? | 6 * Which is the current version of OpenSSL? |
| 7 * Where is the documentation? | 7 * Where is the documentation? |
| 8 * How can I contact the OpenSSL developers? | 8 * How can I contact the OpenSSL developers? |
| 9 * Where can I get a compiled version of OpenSSL? | 9 * Where can I get a compiled version of OpenSSL? |
| 10 * Why aren't tools like 'autoconf' and 'libtool' used? | 10 * Why aren't tools like 'autoconf' and 'libtool' used? |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 * Why does the OpenSSL compilation fail with "ar: command not found"? | 45 * Why does the OpenSSL compilation fail with "ar: command not found"? |
| 46 * Why does the OpenSSL compilation fail on Win32 with VC++? | 46 * Why does the OpenSSL compilation fail on Win32 with VC++? |
| 47 * What is special about OpenSSL on Redhat? | 47 * What is special about OpenSSL on Redhat? |
| 48 * Why does the OpenSSL compilation fail on MacOS X? | 48 * Why does the OpenSSL compilation fail on MacOS X? |
| 49 * Why does the OpenSSL test suite fail on MacOS X? | 49 * Why does the OpenSSL test suite fail on MacOS X? |
| 50 * Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]? | 50 * Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]? |
| 51 * Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type
"? | 51 * Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type
"? |
| 52 * Why does the OpenSSL test suite fail in sha512t on x86 CPU? | 52 * Why does the OpenSSL test suite fail in sha512t on x86 CPU? |
| 53 * Why does compiler fail to compile sha512.c? | 53 * Why does compiler fail to compile sha512.c? |
| 54 * Test suite still fails, what to do? | 54 * Test suite still fails, what to do? |
| 55 * I think I've found a bug, what should I do? |
| 56 * I'm SURE I've found a bug, how do I report it? |
| 57 * I've found a security issue, how do I report it? |
| 55 | 58 |
| 56 [PROG] Questions about programming with OpenSSL | 59 [PROG] Questions about programming with OpenSSL |
| 57 | 60 |
| 58 * Is OpenSSL thread-safe? | 61 * Is OpenSSL thread-safe? |
| 59 * I've compiled a program under Windows and it crashes: why? | 62 * I've compiled a program under Windows and it crashes: why? |
| 60 * How do I read or write a DER encoded buffer using the ASN1 functions? | 63 * How do I read or write a DER encoded buffer using the ASN1 functions? |
| 61 * OpenSSL uses DER but I need BER format: does OpenSSL support BER? | 64 * OpenSSL uses DER but I need BER format: does OpenSSL support BER? |
| 62 * I've tried using <M_some_evil_pkcs12_macro> and I get errors why? | 65 * I've tried using <M_some_evil_pkcs12_macro> and I get errors why? |
| 63 * I've called <some function> and it fails, why? | 66 * I've called <some function> and it fails, why? |
| 64 * I just get a load of numbers for the error output, what do they mean? | 67 * I just get a load of numbers for the error output, what do they mean? |
| 65 * Why do I get errors about unknown algorithms? | 68 * Why do I get errors about unknown algorithms? |
| 66 * Why can't the OpenSSH configure script detect OpenSSL? | 69 * Why can't the OpenSSH configure script detect OpenSSL? |
| 67 * Can I use OpenSSL's SSL library with non-blocking I/O? | 70 * Can I use OpenSSL's SSL library with non-blocking I/O? |
| 68 * Why doesn't my server application receive a client certificate? | 71 * Why doesn't my server application receive a client certificate? |
| 69 * Why does compilation fail due to an undefined symbol NID_uniqueIdentifier? | 72 * Why does compilation fail due to an undefined symbol NID_uniqueIdentifier? |
| 70 * I think I've detected a memory leak, is this a bug? | 73 * I think I've detected a memory leak, is this a bug? |
| 71 * Why does Valgrind complain about the use of uninitialized data? | 74 * Why does Valgrind complain about the use of uninitialized data? |
| 72 * Why doesn't a memory BIO work when a file does? | 75 * Why doesn't a memory BIO work when a file does? |
| 73 * Where are the declarations and implementations of d2i_X509() etc? | 76 * Where are the declarations and implementations of d2i_X509() etc? |
| 74 | 77 |
| 75 =============================================================================== | 78 =============================================================================== |
| 76 | 79 |
| 77 [MISC] ======================================================================== | 80 [MISC] ======================================================================== |
| 78 | 81 |
| 79 * Which is the current version of OpenSSL? | 82 * Which is the current version of OpenSSL? |
| 80 | 83 |
| 81 The current version is available from <URL: http://www.openssl.org>. | 84 The current version is available from <URL: http://www.openssl.org>. |
| 82 OpenSSL 1.0.0 was released on Mar 29th, 2010. | 85 OpenSSL 1.0.0f was released on Jan 4th, 2012. |
| 83 | 86 |
| 84 In addition to the current stable release, you can also access daily | 87 In addition to the current stable release, you can also access daily |
| 85 snapshots of the OpenSSL development version at <URL: | 88 snapshots of the OpenSSL development version at <URL: |
| 86 ftp://ftp.openssl.org/snapshot/>, or get it by anonymous CVS access. | 89 ftp://ftp.openssl.org/snapshot/>, or get it by anonymous CVS access. |
| 87 | 90 |
| 88 | 91 |
| 89 * Where is the documentation? | 92 * Where is the documentation? |
| 90 | 93 |
| 91 OpenSSL is a library that provides cryptographic functionality to | 94 OpenSSL is a library that provides cryptographic functionality to |
| 92 applications such as secure web servers. Be sure to read the | 95 applications such as secure web servers. Be sure to read the |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 * How can I contact the OpenSSL developers? | 127 * How can I contact the OpenSSL developers? |
| 125 | 128 |
| 126 The README file describes how to submit bug reports and patches to | 129 The README file describes how to submit bug reports and patches to |
| 127 OpenSSL. Information on the OpenSSL mailing lists is available from | 130 OpenSSL. Information on the OpenSSL mailing lists is available from |
| 128 <URL: http://www.openssl.org>. | 131 <URL: http://www.openssl.org>. |
| 129 | 132 |
| 130 | 133 |
| 131 * Where can I get a compiled version of OpenSSL? | 134 * Where can I get a compiled version of OpenSSL? |
| 132 | 135 |
| 133 You can finder pointers to binary distributions in | 136 You can finder pointers to binary distributions in |
| 134 http://www.openssl.org/related/binaries.html . | 137 <URL: http://www.openssl.org/related/binaries.html> . |
| 135 | 138 |
| 136 Some applications that use OpenSSL are distributed in binary form. | 139 Some applications that use OpenSSL are distributed in binary form. |
| 137 When using such an application, you don't need to install OpenSSL | 140 When using such an application, you don't need to install OpenSSL |
| 138 yourself; the application will include the required parts (e.g. DLLs). | 141 yourself; the application will include the required parts (e.g. DLLs). |
| 139 | 142 |
| 140 If you want to build OpenSSL on a Windows system and you don't have | 143 If you want to build OpenSSL on a Windows system and you don't have |
| 141 a C compiler, read the "Mingw32" section of INSTALL.W32 for information | 144 a C compiler, read the "Mingw32" section of INSTALL.W32 for information |
| 142 on how to obtain and install the free GNU C compiler. | 145 on how to obtain and install the free GNU C compiler. |
| 143 | 146 |
| 144 A number of Linux and *BSD distributions include OpenSSL. | 147 A number of Linux and *BSD distributions include OpenSSL. |
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 | 459 |
| 457 The OpenSSL software is shipped without any root CA certificate as the | 460 The OpenSSL software is shipped without any root CA certificate as the |
| 458 OpenSSL project does not have any policy on including or excluding | 461 OpenSSL project does not have any policy on including or excluding |
| 459 any specific CA and does not intend to set up such a policy. Deciding | 462 any specific CA and does not intend to set up such a policy. Deciding |
| 460 about which CAs to support is up to application developers or | 463 about which CAs to support is up to application developers or |
| 461 administrators. | 464 administrators. |
| 462 | 465 |
| 463 Other projects do have other policies so you can for example extract the CA | 466 Other projects do have other policies so you can for example extract the CA |
| 464 bundle used by Mozilla and/or modssl as described in this article: | 467 bundle used by Mozilla and/or modssl as described in this article: |
| 465 | 468 |
| 466 http://www.mail-archive.com/modssl-users@modssl.org/msg16980.html | 469 <URL: http://www.mail-archive.com/modssl-users@modssl.org/msg16980.html> |
| 467 | 470 |
| 468 | 471 |
| 469 [BUILD] ======================================================================= | 472 [BUILD] ======================================================================= |
| 470 | 473 |
| 471 * Why does the linker complain about undefined symbols? | 474 * Why does the linker complain about undefined symbols? |
| 472 | 475 |
| 473 Maybe the compilation was interrupted, and make doesn't notice that | 476 Maybe the compilation was interrupted, and make doesn't notice that |
| 474 something is missing. Run "make clean; make". | 477 something is missing. Run "make clean; make". |
| 475 | 478 |
| 476 If you used ./Configure instead of ./config, make sure that you | 479 If you used ./Configure instead of ./config, make sure that you |
| (...skipping 21 matching lines...) Expand all Loading... |
| 498 tests, get GNU bc from ftp://ftp.gnu.org or from your OS distributor. | 501 tests, get GNU bc from ftp://ftp.gnu.org or from your OS distributor. |
| 499 | 502 |
| 500 | 503 |
| 501 * Why does the OpenSSL test fail with "bc: 1 no implemented"? | 504 * Why does the OpenSSL test fail with "bc: 1 no implemented"? |
| 502 | 505 |
| 503 On some SCO installations or versions, bc has a bug that gets triggered | 506 On some SCO installations or versions, bc has a bug that gets triggered |
| 504 when you run the test suite (using "make test"). The message returned is | 507 when you run the test suite (using "make test"). The message returned is |
| 505 "bc: 1 not implemented". | 508 "bc: 1 not implemented". |
| 506 | 509 |
| 507 The best way to deal with this is to find another implementation of bc | 510 The best way to deal with this is to find another implementation of bc |
| 508 and compile/install it. GNU bc (see http://www.gnu.org/software/software.html | 511 and compile/install it. GNU bc (see <URL: http://www.gnu.org/software/software.
html> |
| 509 for download instructions) can be safely used, for example. | 512 for download instructions) can be safely used, for example. |
| 510 | 513 |
| 511 | 514 |
| 512 * Why does the OpenSSL test fail with "bc: stack empty"? | 515 * Why does the OpenSSL test fail with "bc: stack empty"? |
| 513 | 516 |
| 514 On some DG/ux versions, bc seems to have a too small stack for calculations | 517 On some DG/ux versions, bc seems to have a too small stack for calculations |
| 515 that the OpenSSL bntest throws at it. This gets triggered when you run the | 518 that the OpenSSL bntest throws at it. This gets triggered when you run the |
| 516 test suite (using "make test"). The message returned is "bc: stack empty". | 519 test suite (using "make test"). The message returned is "bc: stack empty". |
| 517 | 520 |
| 518 The best way to deal with this is to find another implementation of bc | 521 The best way to deal with this is to find another implementation of bc |
| 519 and compile/install it. GNU bc (see http://www.gnu.org/software/software.html | 522 and compile/install it. GNU bc (see <URL: http://www.gnu.org/software/software.
html> |
| 520 for download instructions) can be safely used, for example. | 523 for download instructions) can be safely used, for example. |
| 521 | 524 |
| 522 | 525 |
| 523 * Why does the OpenSSL compilation fail on Alpha Tru64 Unix? | 526 * Why does the OpenSSL compilation fail on Alpha Tru64 Unix? |
| 524 | 527 |
| 525 On some Alpha installations running Tru64 Unix and Compaq C, the compilation | 528 On some Alpha installations running Tru64 Unix and Compaq C, the compilation |
| 526 of crypto/sha/sha_dgst.c fails with the message 'Fatal: Insufficient virtual | 529 of crypto/sha/sha_dgst.c fails with the message 'Fatal: Insufficient virtual |
| 527 memory to continue compilation.' As far as the tests have shown, this may be | 530 memory to continue compilation.' As far as the tests have shown, this may be |
| 528 a compiler bug. What happens is that it eats up a lot of resident memory | 531 a compiler bug. What happens is that it eats up a lot of resident memory |
| 529 to build something, probably a table. The problem is clearly in the | 532 to build something, probably a table. The problem is clearly in the |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 702 Another common reason for failure to complete some particular test is | 705 Another common reason for failure to complete some particular test is |
| 703 simply bad code generated by a buggy component in toolchain or deficiency | 706 simply bad code generated by a buggy component in toolchain or deficiency |
| 704 in run-time environment. There are few cases documented in PROBLEMS file, | 707 in run-time environment. There are few cases documented in PROBLEMS file, |
| 705 consult it for possible workaround before you beat the drum. Even if you | 708 consult it for possible workaround before you beat the drum. Even if you |
| 706 don't find solution or even mention there, do reserve for possibility of | 709 don't find solution or even mention there, do reserve for possibility of |
| 707 a compiler bug. Compiler bugs might appear in rather bizarre ways, they | 710 a compiler bug. Compiler bugs might appear in rather bizarre ways, they |
| 708 never make sense, and tend to emerge when you least expect them. In order | 711 never make sense, and tend to emerge when you least expect them. In order |
| 709 to identify one, drop optimization level, e.g. by editing CFLAG line in | 712 to identify one, drop optimization level, e.g. by editing CFLAG line in |
| 710 top-level Makefile, recompile and re-run the test. | 713 top-level Makefile, recompile and re-run the test. |
| 711 | 714 |
| 715 * I think I've found a bug, what should I do? |
| 716 |
| 717 If you are a new user then it is quite likely you haven't found a bug and |
| 718 something is happening you aren't familiar with. Check this FAQ, the associated |
| 719 documentation and the mailing lists for similar queries. If you are still |
| 720 unsure whether it is a bug or not submit a query to the openssl-users mailing |
| 721 list. |
| 722 |
| 723 |
| 724 * I'm SURE I've found a bug, how do I report it? |
| 725 |
| 726 Bug reports with no security implications should be sent to the request |
| 727 tracker. This can be done by mailing the report to <rt@openssl.org> (or its |
| 728 alias <openssl-bugs@openssl.org>), please note that messages sent to the |
| 729 request tracker also appear in the public openssl-dev mailing list. |
| 730 |
| 731 The report should be in plain text. Any patches should be sent as |
| 732 plain text attachments because some mailers corrupt patches sent inline. |
| 733 If your issue affects multiple versions of OpenSSL check any patches apply |
| 734 cleanly and, if possible include patches to each affected version. |
| 735 |
| 736 The report should be given a meaningful subject line briefly summarising the |
| 737 issue. Just "bug in OpenSSL" or "bug in OpenSSL 0.9.8n" is not very helpful. |
| 738 |
| 739 By sending reports to the request tracker the bug can then be given a priority |
| 740 and assigned to the appropriate maintainer. The history of discussions can be |
| 741 accessed and if the issue has been addressed or a reason why not. If patches |
| 742 are only sent to openssl-dev they can be mislaid if a team member has to |
| 743 wade through months of old messages to review the discussion. |
| 744 |
| 745 See also <URL: http://www.openssl.org/support/rt.html> |
| 746 |
| 747 |
| 748 * I've found a security issue, how do I report it? |
| 749 |
| 750 If you think your bug has security implications then please send it to |
| 751 openssl-security@openssl.org if you don't get a prompt reply at least |
| 752 acknowledging receipt then resend or mail it directly to one of the |
| 753 more active team members (e.g. Steve). |
| 754 |
| 712 [PROG] ======================================================================== | 755 [PROG] ======================================================================== |
| 713 | 756 |
| 714 * Is OpenSSL thread-safe? | 757 * Is OpenSSL thread-safe? |
| 715 | 758 |
| 716 Yes (with limitations: an SSL connection may not concurrently be used | 759 Yes (with limitations: an SSL connection may not concurrently be used |
| 717 by multiple threads). On Windows and many Unix systems, OpenSSL | 760 by multiple threads). On Windows and many Unix systems, OpenSSL |
| 718 automatically uses the multi-threaded versions of the standard | 761 automatically uses the multi-threaded versions of the standard |
| 719 libraries. If your platform is not one of these, consult the INSTALL | 762 libraries. If your platform is not one of these, consult the INSTALL |
| 720 file. | 763 file. |
| 721 | 764 |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 973 These are defined and implemented by macros of the form: | 1016 These are defined and implemented by macros of the form: |
| 974 | 1017 |
| 975 | 1018 |
| 976 DECLARE_ASN1_FUNCTIONS(X509) and IMPLEMENT_ASN1_FUNCTIONS(X509) | 1019 DECLARE_ASN1_FUNCTIONS(X509) and IMPLEMENT_ASN1_FUNCTIONS(X509) |
| 977 | 1020 |
| 978 The implementation passes an ASN1 "template" defining the structure into an | 1021 The implementation passes an ASN1 "template" defining the structure into an |
| 979 ASN1 interpreter using generalised functions such as ASN1_item_d2i(). | 1022 ASN1 interpreter using generalised functions such as ASN1_item_d2i(). |
| 980 | 1023 |
| 981 | 1024 |
| 982 =============================================================================== | 1025 =============================================================================== |
| OLD | NEW |