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 |