Compare commits
269 Commits
OpenSSL_0_
...
OpenSSL-en
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6cae350ad1 | ||
|
|
cfebe39d42 | ||
|
|
eb80f91278 | ||
|
|
7a0c6536e2 | ||
|
|
b5b000d77e | ||
|
|
6c2650a6fc | ||
|
|
e2cdf9c994 | ||
|
|
290416db2a | ||
|
|
ff192dce10 | ||
|
|
8b98de6653 | ||
|
|
951d8e0d6b | ||
|
|
b99e18bbec | ||
|
|
49b10f72ec | ||
|
|
23f0541263 | ||
|
|
64ed18ef20 | ||
|
|
72645b83bb | ||
|
|
b57e656095 | ||
|
|
2551fc047c | ||
|
|
a0f6331507 | ||
|
|
71aa7c586b | ||
|
|
7462f2644c | ||
|
|
69043fa13f | ||
|
|
e0b110267d | ||
|
|
8f1e8d274e | ||
|
|
a09d349071 | ||
|
|
e27fd320fc | ||
|
|
66ae107a14 | ||
|
|
32e692ce07 | ||
|
|
a5232ab0a0 | ||
|
|
d2f64ef725 | ||
|
|
842931098f | ||
|
|
a7a71d0ec9 | ||
|
|
faff87fd64 | ||
|
|
46ca653c83 | ||
|
|
c1fb6557e5 | ||
|
|
7525ac5aba | ||
|
|
4b3d91f350 | ||
|
|
6175b37578 | ||
|
|
d007411335 | ||
|
|
9a78b3db52 | ||
|
|
d553eb9616 | ||
|
|
e874ee0850 | ||
|
|
c20f373558 | ||
|
|
192060947c | ||
|
|
c14688ec73 | ||
|
|
ff0a0c46a7 | ||
|
|
c568a9820a | ||
|
|
493de5ad2a | ||
|
|
b76b87fdf5 | ||
|
|
30bd8e3e1f | ||
|
|
b98a984294 | ||
|
|
dac7098464 | ||
|
|
56cf45f968 | ||
|
|
b435c38af2 | ||
|
|
5ec27eacf0 | ||
|
|
30b5ce14d8 | ||
|
|
ed2f196afe | ||
|
|
b860878edc | ||
|
|
362771f880 | ||
|
|
88e89f9022 | ||
|
|
41aad62a78 | ||
|
|
3964db29c4 | ||
|
|
e4f165e71e | ||
|
|
60a9cbdf28 | ||
|
|
d3948ca262 | ||
|
|
85939d5dd7 | ||
|
|
532fd8ee1c | ||
|
|
fb3af5c813 | ||
|
|
6d6846417f | ||
|
|
47892635ad | ||
|
|
5b9b38f0c9 | ||
|
|
d8e2daf1e0 | ||
|
|
be29c93cf4 | ||
|
|
6e19a04080 | ||
|
|
91102def2e | ||
|
|
35933d170d | ||
|
|
270c75c2b1 | ||
|
|
9f44f4a081 | ||
|
|
37749c8872 | ||
|
|
dae0b520a0 | ||
|
|
f1a185a04a | ||
|
|
60f3f6ac2e | ||
|
|
595241e17f | ||
|
|
c6d14d26fd | ||
|
|
832e09cd23 | ||
|
|
879d789a42 | ||
|
|
07ad3257fc | ||
|
|
c02efd954d | ||
|
|
b26f6ee5f2 | ||
|
|
b5719e9673 | ||
|
|
f56412e895 | ||
|
|
26e922fc7f | ||
|
|
edcace97a8 | ||
|
|
8d5c834b34 | ||
|
|
b0eda65f1c | ||
|
|
2395368e7f | ||
|
|
95c0f198a7 | ||
|
|
947a85d022 | ||
|
|
da904c9cef | ||
|
|
c3970428ac | ||
|
|
b1d9279a41 | ||
|
|
c7d827fc90 | ||
|
|
37fe697597 | ||
|
|
d8616888ee | ||
|
|
5aa14f636f | ||
|
|
7b24a1a33b | ||
|
|
393a9b68cf | ||
|
|
4ae5099856 | ||
|
|
5c36f01000 | ||
|
|
6ef9d8328b | ||
|
|
5a9c441c6e | ||
|
|
d69d8b5ffa | ||
|
|
9aef355cf0 | ||
|
|
11f3f9f4a1 | ||
|
|
ef9088c9ec | ||
|
|
422830e17b | ||
|
|
ac0d075faa | ||
|
|
53195ba215 | ||
|
|
6b4580887e | ||
|
|
4c37da8051 | ||
|
|
381798377e | ||
|
|
ffade5fb96 | ||
|
|
0294674b44 | ||
|
|
771c8a7ce5 | ||
|
|
a307eeba84 | ||
|
|
1fbc936cca | ||
|
|
ac63f88790 | ||
|
|
ecfb406f1e | ||
|
|
df9badad4c | ||
|
|
c4af8daf34 | ||
|
|
b4ac8b1e0a | ||
|
|
adccc4cc7e | ||
|
|
bbc89d2e1f | ||
|
|
1e6c9fc26f | ||
|
|
3d4bb90138 | ||
|
|
c540bd2851 | ||
|
|
6ad0776236 | ||
|
|
ca7fcc65ef | ||
|
|
cd9bed6d1d | ||
|
|
c80abb148d | ||
|
|
757ab9b506 | ||
|
|
868af8e4be | ||
|
|
e100946038 | ||
|
|
5209202f3b | ||
|
|
73701c27b3 | ||
|
|
4ef897d1fc | ||
|
|
19a5e404cb | ||
|
|
e3f527177b | ||
|
|
f09a419c6a | ||
|
|
f4bdbfea66 | ||
|
|
f00ba75c69 | ||
|
|
47dc5a1321 | ||
|
|
3476515195 | ||
|
|
e1db7a5e30 | ||
|
|
4839df4061 | ||
|
|
9cfb6bbd29 | ||
|
|
27f00db152 | ||
|
|
a9c33b529e | ||
|
|
5deb47f12a | ||
|
|
775c289db5 | ||
|
|
099f5bfeba | ||
|
|
103a604932 | ||
|
|
12f49bd79d | ||
|
|
4b250a3d25 | ||
|
|
c200ff0446 | ||
|
|
a7ce1f0514 | ||
|
|
4cae3ac371 | ||
|
|
63ccddf717 | ||
|
|
ce6990739e | ||
|
|
42cc160301 | ||
|
|
0e61cfff53 | ||
|
|
f77600524f | ||
|
|
ebcdd0c43e | ||
|
|
8de7587e02 | ||
|
|
90ac586317 | ||
|
|
15c0fb18a2 | ||
|
|
f30839ecaa | ||
|
|
eb31944f81 | ||
|
|
0dcf7fd543 | ||
|
|
02539402af | ||
|
|
2be9694116 | ||
|
|
b46ba9b1bc | ||
|
|
8e1ec9fb37 | ||
|
|
dc005a7367 | ||
|
|
da867a51a0 | ||
|
|
25814b9690 | ||
|
|
0fc7c5010d | ||
|
|
166e1f304b | ||
|
|
ef413a7ee8 | ||
|
|
dcd4d341e1 | ||
|
|
61b337bd22 | ||
|
|
06b71aec85 | ||
|
|
527cc9841c | ||
|
|
6901ba7dc8 | ||
|
|
ab13064406 | ||
|
|
192295a094 | ||
|
|
7dfded5c26 | ||
|
|
28b3b4c6e6 | ||
|
|
acab12fbe3 | ||
|
|
1ba5b1b530 | ||
|
|
d786112124 | ||
|
|
bdecf23415 | ||
|
|
03ef63ba69 | ||
|
|
cb9c5dc571 | ||
|
|
a6f8bbcad9 | ||
|
|
9f10f9beeb | ||
|
|
a46229b43f | ||
|
|
c7a48d3d00 | ||
|
|
9188480827 | ||
|
|
2b912846b9 | ||
|
|
854067e8e4 | ||
|
|
eb2f937b93 | ||
|
|
64c4f5732d | ||
|
|
f3052a9eee | ||
|
|
e1e9ead6fb | ||
|
|
5ac85984ec | ||
|
|
e11b297730 | ||
|
|
48555cf0fc | ||
|
|
ae02fc5348 | ||
|
|
93e147dd32 | ||
|
|
3257904c56 | ||
|
|
2a7619d762 | ||
|
|
70d03c4f59 | ||
|
|
5971d37400 | ||
|
|
d813a428a7 | ||
|
|
3b2972d8d9 | ||
|
|
2165d91196 | ||
|
|
fc99c92835 | ||
|
|
1dde74f229 | ||
|
|
665b5ab5a7 | ||
|
|
13232559fc | ||
|
|
1b2f8b6e2a | ||
|
|
ccd98b43ed | ||
|
|
d32e8acf08 | ||
|
|
d8c4d0e819 | ||
|
|
b215f70a0e | ||
|
|
7ed20a2158 | ||
|
|
6c62150674 | ||
|
|
aa23a57918 | ||
|
|
8e2c277353 | ||
|
|
f18ef82a9f | ||
|
|
cc015c48db | ||
|
|
9a4051050c | ||
|
|
4c4ea428cc | ||
|
|
28e94dc70d | ||
|
|
f812743544 | ||
|
|
87f3435f78 | ||
|
|
86787f93d6 | ||
|
|
05d909c549 | ||
|
|
d44c7dcf00 | ||
|
|
5decfb7002 | ||
|
|
50008364a6 | ||
|
|
6a1129837a | ||
|
|
20ca3d49e7 | ||
|
|
f156d5495d | ||
|
|
96d7e0ece7 | ||
|
|
974e22704d | ||
|
|
835475a2d6 | ||
|
|
a26f2b5e62 | ||
|
|
67e08eb185 | ||
|
|
0b4cb28f39 | ||
|
|
9c5ed502ee | ||
|
|
6111f7408b | ||
|
|
b6577e040e | ||
|
|
bb51f21728 | ||
|
|
0e0e569cbf | ||
|
|
71c8e9f1c3 | ||
|
|
e759b095d4 | ||
|
|
afa0598f06 |
113
CHANGES
113
CHANGES
@@ -2,114 +2,8 @@
|
|||||||
OpenSSL CHANGES
|
OpenSSL CHANGES
|
||||||
_______________
|
_______________
|
||||||
|
|
||||||
Changes between 0.9.6h and 0.9.6i [19 Feb 2003]
|
|
||||||
|
|
||||||
*) In ssl3_get_record (ssl/s3_pkt.c), minimize information leaked
|
|
||||||
via timing by performing a MAC computation even if incorrrect
|
|
||||||
block cipher padding has been found. This is a countermeasure
|
|
||||||
against active attacks where the attacker has to distinguish
|
|
||||||
between bad padding and a MAC verification error. (CAN-2003-0078)
|
|
||||||
|
|
||||||
[Bodo Moeller; problem pointed out by Brice Canvel (EPFL),
|
|
||||||
Alain Hiltgen (UBS), Serge Vaudenay (EPFL), and
|
|
||||||
Martin Vuagnoux (EPFL, Ilion)]
|
|
||||||
|
|
||||||
Changes between 0.9.6g and 0.9.6h [5 Dec 2002]
|
|
||||||
|
|
||||||
*) New function OPENSSL_cleanse(), which is used to cleanse a section of
|
|
||||||
memory from it's contents. This is done with a counter that will
|
|
||||||
place alternating values in each byte. This can be used to solve
|
|
||||||
two issues: 1) the removal of calls to memset() by highly optimizing
|
|
||||||
compilers, and 2) cleansing with other values than 0, since those can
|
|
||||||
be read through on certain media, for example a swap space on disk.
|
|
||||||
[Geoff Thorpe]
|
|
||||||
|
|
||||||
*) Bugfix: client side session caching did not work with external caching,
|
|
||||||
because the session->cipher setting was not restored when reloading
|
|
||||||
from the external cache. This problem was masked, when
|
|
||||||
SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG (part of SSL_OP_ALL) was set.
|
|
||||||
(Found by Steve Haslam <steve@araqnid.ddts.net>.)
|
|
||||||
[Lutz Jaenicke]
|
|
||||||
|
|
||||||
*) Fix client_certificate (ssl/s2_clnt.c): The permissible total
|
|
||||||
length of the REQUEST-CERTIFICATE message is 18 .. 34, not 17 .. 33.
|
|
||||||
[Zeev Lieber <zeev-l@yahoo.com>]
|
|
||||||
|
|
||||||
*) Undo an undocumented change introduced in 0.9.6e which caused
|
|
||||||
repeated calls to OpenSSL_add_all_ciphers() and
|
|
||||||
OpenSSL_add_all_digests() to be ignored, even after calling
|
|
||||||
EVP_cleanup().
|
|
||||||
[Richard Levitte]
|
|
||||||
|
|
||||||
*) Change the default configuration reader to deal with last line not
|
|
||||||
being properly terminated.
|
|
||||||
[Richard Levitte]
|
|
||||||
|
|
||||||
*) Change X509_NAME_cmp() so it applies the special rules on handling
|
|
||||||
DN values that are of type PrintableString, as well as RDNs of type
|
|
||||||
emailAddress where the value has the type ia5String.
|
|
||||||
[stefank@valicert.com via Richard Levitte]
|
|
||||||
|
|
||||||
*) Add a SSL_SESS_CACHE_NO_INTERNAL_STORE flag to take over half
|
|
||||||
the job SSL_SESS_CACHE_NO_INTERNAL_LOOKUP was inconsistently
|
|
||||||
doing, define a new flag (SSL_SESS_CACHE_NO_INTERNAL) to be
|
|
||||||
the bitwise-OR of the two for use by the majority of applications
|
|
||||||
wanting this behaviour, and update the docs. The documented
|
|
||||||
behaviour and actual behaviour were inconsistent and had been
|
|
||||||
changing anyway, so this is more a bug-fix than a behavioural
|
|
||||||
change.
|
|
||||||
[Geoff Thorpe, diagnosed by Nadav Har'El]
|
|
||||||
|
|
||||||
*) Don't impose a 16-byte length minimum on session IDs in ssl/s3_clnt.c
|
|
||||||
(the SSL 3.0 and TLS 1.0 specifications allow any length up to 32 bytes).
|
|
||||||
[Bodo Moeller]
|
|
||||||
|
|
||||||
*) Fix initialization code race conditions in
|
|
||||||
SSLv23_method(), SSLv23_client_method(), SSLv23_server_method(),
|
|
||||||
SSLv2_method(), SSLv2_client_method(), SSLv2_server_method(),
|
|
||||||
SSLv3_method(), SSLv3_client_method(), SSLv3_server_method(),
|
|
||||||
TLSv1_method(), TLSv1_client_method(), TLSv1_server_method(),
|
|
||||||
ssl2_get_cipher_by_char(),
|
|
||||||
ssl3_get_cipher_by_char().
|
|
||||||
[Patrick McCormick <patrick@tellme.com>, Bodo Moeller]
|
|
||||||
|
|
||||||
*) Reorder cleanup sequence in SSL_CTX_free(): only remove the ex_data after
|
|
||||||
the cached sessions are flushed, as the remove_cb() might use ex_data
|
|
||||||
contents. Bug found by Sam Varshavchik <mrsam@courier-mta.com>
|
|
||||||
(see [openssl.org #212]).
|
|
||||||
[Geoff Thorpe, Lutz Jaenicke]
|
|
||||||
|
|
||||||
*) Fix typo in OBJ_txt2obj which incorrectly passed the content
|
|
||||||
length, instead of the encoding length to d2i_ASN1_OBJECT.
|
|
||||||
[Steve Henson]
|
|
||||||
|
|
||||||
Changes between 0.9.6f and 0.9.6g [9 Aug 2002]
|
|
||||||
|
|
||||||
*) [In 0.9.6g-engine release:]
|
|
||||||
Fix crypto/engine/vendor_defns/cswift.h for WIN32 (use '_stdcall').
|
|
||||||
[Lynn Gazis <lgazis@rainbow.com>]
|
|
||||||
|
|
||||||
Changes between 0.9.6e and 0.9.6f [8 Aug 2002]
|
|
||||||
|
|
||||||
*) Fix ASN1 checks. Check for overflow by comparing with LONG_MAX
|
|
||||||
and get fix the header length calculation.
|
|
||||||
[Florian Weimer <Weimer@CERT.Uni-Stuttgart.DE>,
|
|
||||||
Alon Kantor <alonk@checkpoint.com> (and others),
|
|
||||||
Steve Henson]
|
|
||||||
|
|
||||||
*) Use proper error handling instead of 'assertions' in buffer
|
|
||||||
overflow checks added in 0.9.6e. This prevents DoS (the
|
|
||||||
assertions could call abort()).
|
|
||||||
[Arne Ansper <arne@ats.cyber.ee>, Bodo Moeller]
|
|
||||||
|
|
||||||
Changes between 0.9.6d and 0.9.6e [30 Jul 2002]
|
Changes between 0.9.6d and 0.9.6e [30 Jul 2002]
|
||||||
|
|
||||||
*) Add various sanity checks to asn1_get_length() to reject
|
|
||||||
the ASN1 length bytes if they exceed sizeof(long), will appear
|
|
||||||
negative or the content length exceeds the length of the
|
|
||||||
supplied buffer.
|
|
||||||
[Steve Henson, Adi Stav <stav@mercury.co.il>, James Yonan <jim@ntlp.com>]
|
|
||||||
|
|
||||||
*) Fix cipher selection routines: ciphers without encryption had no flags
|
*) Fix cipher selection routines: ciphers without encryption had no flags
|
||||||
for the cipher strength set and where therefore not handled correctly
|
for the cipher strength set and where therefore not handled correctly
|
||||||
by the selection routines (PR #130).
|
by the selection routines (PR #130).
|
||||||
@@ -131,6 +25,7 @@
|
|||||||
applications.
|
applications.
|
||||||
[Bodo Moeller]
|
[Bodo Moeller]
|
||||||
|
|
||||||
|
|
||||||
*) Changes in security patch:
|
*) Changes in security patch:
|
||||||
|
|
||||||
Changes marked "(CHATS)" were sponsored by the Defense Advanced
|
Changes marked "(CHATS)" were sponsored by the Defense Advanced
|
||||||
@@ -141,7 +36,7 @@
|
|||||||
*) Add various sanity checks to asn1_get_length() to reject
|
*) Add various sanity checks to asn1_get_length() to reject
|
||||||
the ASN1 length bytes if they exceed sizeof(long), will appear
|
the ASN1 length bytes if they exceed sizeof(long), will appear
|
||||||
negative or the content length exceeds the length of the
|
negative or the content length exceeds the length of the
|
||||||
supplied buffer. (CAN-2002-0659)
|
supplied buffer.
|
||||||
[Steve Henson, Adi Stav <stav@mercury.co.il>, James Yonan <jim@ntlp.com>]
|
[Steve Henson, Adi Stav <stav@mercury.co.il>, James Yonan <jim@ntlp.com>]
|
||||||
|
|
||||||
*) Assertions for various potential buffer overflows, not known to
|
*) Assertions for various potential buffer overflows, not known to
|
||||||
@@ -246,8 +141,8 @@
|
|||||||
value is 0.
|
value is 0.
|
||||||
[Richard Levitte]
|
[Richard Levitte]
|
||||||
|
|
||||||
*) [In 0.9.6d-engine release:]
|
*) [In 0.9.6c-engine release:]
|
||||||
Fix a crashbug and a logic bug in hwcrhk_load_pubkey().
|
Fix a crashbug and a logic bug in hwcrhk_load_pubkey()
|
||||||
[Toomas Kiisk <vix@cyber.ee> via Richard Levitte]
|
[Toomas Kiisk <vix@cyber.ee> via Richard Levitte]
|
||||||
|
|
||||||
*) Add the configuration target linux-s390x.
|
*) Add the configuration target linux-s390x.
|
||||||
|
|||||||
64
Configure
64
Configure
@@ -10,7 +10,7 @@ use strict;
|
|||||||
|
|
||||||
# see INSTALL for instructions.
|
# see INSTALL for instructions.
|
||||||
|
|
||||||
my $usage="Usage: Configure [no-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [rsaref] [no-threads] [no-asm] [no-dso] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--test-sanity] os/compiler[:flags]\n";
|
my $usage="Usage: Configure [no-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [rsaref] [no-threads] [no-asm] [no-dso] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--test-sanity] os/compiler[:flags]\n";
|
||||||
|
|
||||||
# Options:
|
# Options:
|
||||||
#
|
#
|
||||||
@@ -23,6 +23,12 @@ my $usage="Usage: Configure [no-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-
|
|||||||
# default). This needn't be set in advance, you can
|
# default). This needn't be set in advance, you can
|
||||||
# just as well use "make INSTALL_PREFIX=/whatever install".
|
# just as well use "make INSTALL_PREFIX=/whatever install".
|
||||||
#
|
#
|
||||||
|
# no-hw-xxx do not compile support for specific crypto hardware.
|
||||||
|
# Generic OpenSSL-style methods relating to this support
|
||||||
|
# are always compiled but return NULL if the hardware
|
||||||
|
# support isn't compiled.
|
||||||
|
# no-hw do not compile support for any crypto hardware.
|
||||||
|
#
|
||||||
# --test-sanity Make a number of sanity checks on the data in this file.
|
# --test-sanity Make a number of sanity checks on the data in this file.
|
||||||
# This is a debugging tool for OpenSSL developers.
|
# This is a debugging tool for OpenSSL developers.
|
||||||
#
|
#
|
||||||
@@ -31,6 +37,10 @@ my $usage="Usage: Configure [no-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-
|
|||||||
# multithreaded applications (default is "threads" if we
|
# multithreaded applications (default is "threads" if we
|
||||||
# know how to do it)
|
# know how to do it)
|
||||||
# [no-]shared [don't] try to create shared libraries when supported.
|
# [no-]shared [don't] try to create shared libraries when supported.
|
||||||
|
# IT IS NOT RECOMMENDED TO USE "shared"! Since this is a
|
||||||
|
# development branch, the positions of the ENGINE symbols
|
||||||
|
# in the transfer vector are constantly moving, so binary
|
||||||
|
# backward compatibility can't be guaranteed in any way.
|
||||||
# no-asm do not use assembler
|
# no-asm do not use assembler
|
||||||
# no-dso do not compile in any native shared-library methods. This
|
# no-dso do not compile in any native shared-library methods. This
|
||||||
# will ensure that all methods just return NULL.
|
# will ensure that all methods just return NULL.
|
||||||
@@ -122,7 +132,7 @@ my %table=(
|
|||||||
"debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -DPEDANTIC -DBIO_PAIR_DEBUG -g -m486 -pedantic -Wshadow -Wall::-D_REENTRANT::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
"debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -DPEDANTIC -DBIO_PAIR_DEBUG -g -m486 -pedantic -Wshadow -Wall::-D_REENTRANT::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
||||||
"debug-ulf", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -O2 -m486 -Wall -Werror -Wshadow -pipe::-D_REENTRANT::${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
"debug-ulf", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -O2 -m486 -Wall -Werror -Wshadow -pipe::-D_REENTRANT::${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
||||||
"debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -O2 -m486 -pedantic -Wall -Werror -Wshadow -pipe::-D_REENTRANT::${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
"debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -O2 -m486 -pedantic -Wall -Werror -Wshadow -pipe::-D_REENTRANT::${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
||||||
"debug-levitte-linux-elf","gcc:-DUSE_ALLOCATING_PRINT -DRL_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DNO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -ggdb -g3 -m486 -pedantic -ansi -Wall -Wshadow -Wstrict-prototypes -Wmissing-prototypes -pipe::-D_REENTRANT:-ldl:::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"debug-levitte-linux-elf","gcc:-DUSE_ALLOCATING_PRINT -DRL_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DNO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -ggdb -g3 -m486 -pedantic -ansi -Wall -Wshadow -Wid-clash-31 -pipe::-D_REENTRANT:-ldl:::::::::::dlfcn",
|
||||||
"dist", "cc:-O::(unknown):::::",
|
"dist", "cc:-O::(unknown):::::",
|
||||||
|
|
||||||
# Basic configs that should work on any (32 and less bit) box
|
# Basic configs that should work on any (32 and less bit) box
|
||||||
@@ -344,8 +354,8 @@ my %table=(
|
|||||||
"linux-mips", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::(unknown)::BN_LLONG:::",
|
"linux-mips", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::(unknown)::BN_LLONG:::",
|
||||||
"linux-ppc", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-ppc", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"linux-m68k", "gcc:-DB_ENDIAN -DTERMIO -O2 -fomit-frame-pointer -Wall::-D_REENTRANT::BN_LLONG::",
|
"linux-m68k", "gcc:-DB_ENDIAN -DTERMIO -O2 -fomit-frame-pointer -Wall::-D_REENTRANT::BN_LLONG::",
|
||||||
"linux-s390", "gcc:-DB_ENDIAN -DTERMIO -DNO_ASM -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:-ldl:BN_LLONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR),\$(SHLIB_MINOR)",
|
"linux-s390", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::BN_LLONG::",
|
||||||
"linux-s390x", "gcc:-DB_ENDIAN -DTERMIO -DNO_ASM -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-s390x", "gcc:-DB_ENDIAN -DTERMIO -DNO_ASM -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::SIXTY_FOUR_BIT_LONG:::::::::::linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR:asm/ia64.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR:asm/ia64.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"NetBSD-sparc", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"NetBSD-sparc", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
"NetBSD-m68", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"NetBSD-m68", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
@@ -395,7 +405,7 @@ my %table=(
|
|||||||
"aix-cc", "cc:-O -DAIX -DB_ENDIAN -qmaxmem=16384::(unknown)::BN_LLONG RC4_CHAR:::",
|
"aix-cc", "cc:-O -DAIX -DB_ENDIAN -qmaxmem=16384::(unknown)::BN_LLONG RC4_CHAR:::",
|
||||||
"aix-gcc", "gcc:-O3 -DAIX -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR:::",
|
"aix-gcc", "gcc:-O3 -DAIX -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR:::",
|
||||||
"aix43-cc", "cc:-O -DAIX -DB_ENDIAN -qmaxmem=16384::(unknown)::BN_LLONG RC4_CHAR::::::::::dlfcn:",
|
"aix43-cc", "cc:-O -DAIX -DB_ENDIAN -qmaxmem=16384::(unknown)::BN_LLONG RC4_CHAR::::::::::dlfcn:",
|
||||||
"aix43-gcc", "gcc:-O1 -DAIX -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR::::::::::dlfcn:",
|
"aix43-gcc", "gcc:-O3 -DAIX -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR::::::::::dlfcn:",
|
||||||
|
|
||||||
#
|
#
|
||||||
# Cray T90 and similar (SDSC)
|
# Cray T90 and similar (SDSC)
|
||||||
@@ -477,7 +487,7 @@ my %table=(
|
|||||||
|
|
||||||
# Cygwin
|
# Cygwin
|
||||||
"Cygwin-pre1.3", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32",
|
"Cygwin-pre1.3", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32",
|
||||||
"Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -march=i486 -Wall::::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32:cygwin-shared:::.dll",
|
"Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -m486 -Wall::::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32:cygwin-shared:::.dll",
|
||||||
|
|
||||||
# Ultrix from Bernhard Simon <simon@zid.tuwien.ac.at>
|
# Ultrix from Bernhard Simon <simon@zid.tuwien.ac.at>
|
||||||
"ultrix-cc","cc:-std1 -O -Olimit 1000 -DL_ENDIAN::(unknown)::::::",
|
"ultrix-cc","cc:-std1 -O -Olimit 1000 -DL_ENDIAN::(unknown)::::::",
|
||||||
@@ -495,18 +505,12 @@ my %table=(
|
|||||||
"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::",
|
"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::",
|
||||||
"darwin-ppc-cc","cc:-O3 -D_DARWIN -DB_ENDIAN -fno-common::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::::::::::darwin-shared:-fPIC::.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
"darwin-ppc-cc","cc:-O3 -D_DARWIN -DB_ENDIAN -fno-common::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::::::::::darwin-shared:-fPIC::.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
||||||
|
|
||||||
##### A/UX
|
|
||||||
"aux3-gcc","gcc:-O2 -DTERMIO::(unknown):-lbsd:RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::",
|
|
||||||
|
|
||||||
##### Sony NEWS-OS 4.x
|
##### Sony NEWS-OS 4.x
|
||||||
"newsos4-gcc","gcc:-O -DB_ENDIAN -DNEWS4::(unknown):-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
|
"newsos4-gcc","gcc:-O -DB_ENDIAN -DNEWS4::(unknown):-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
|
||||||
|
|
||||||
##### VxWorks for various targets
|
##### VxWorks for various targets
|
||||||
"vxworks-ppc405","ccppc:-g -msoft-float -mlongcall -DVXWORKS -DCPU=PPC405 -I\$(WIND_BASE)/target/h:::-r:::::",
|
"vxworks-ppc405","ccppc:-g -msoft-float -mlongcall -DVXWORKS -DCPU=PPC405 -I\$(WIND_BASE)/target/h:::-r:::::",
|
||||||
|
|
||||||
##### Compaq Non-Stop Kernel (Tandem)
|
|
||||||
"tandem-c89","c89:-Ww -D__TANDEM -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D_TANDEM_SOURCE -DB_ENDIAN::(unknown)::THIRTY_TWO_BIT:::",
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
my @WinTargets=qw(VC-NT VC-WIN32 VC-WIN16 VC-W31-16 VC-W31-32 VC-MSDOS BC-32
|
my @WinTargets=qw(VC-NT VC-WIN32 VC-WIN16 VC-W31-16 VC-W31-32 VC-MSDOS BC-32
|
||||||
@@ -583,7 +587,6 @@ my $libs;
|
|||||||
my $target;
|
my $target;
|
||||||
my $options;
|
my $options;
|
||||||
my $symlink;
|
my $symlink;
|
||||||
my $make_depend=0;
|
|
||||||
|
|
||||||
my @argvcopy=@ARGV;
|
my @argvcopy=@ARGV;
|
||||||
my $argvstring="";
|
my $argvstring="";
|
||||||
@@ -618,6 +621,18 @@ PROCESS_ARGS:
|
|||||||
$flags .= "-DNO_ASM ";
|
$flags .= "-DNO_ASM ";
|
||||||
$openssl_other_defines .= "#define NO_ASM\n";
|
$openssl_other_defines .= "#define NO_ASM\n";
|
||||||
}
|
}
|
||||||
|
elsif (/^no-hw-(.+)$/)
|
||||||
|
{
|
||||||
|
my $hw=$1;
|
||||||
|
$hw =~ tr/[a-z]/[A-Z]/;
|
||||||
|
$flags .= "-DNO_HW_$hw ";
|
||||||
|
$openssl_other_defines .= "#define NO_HW_$hw\n";
|
||||||
|
}
|
||||||
|
elsif (/^no-hw$/)
|
||||||
|
{
|
||||||
|
$flags .= "-DNO_HW ";
|
||||||
|
$openssl_other_defines .= "#define NO_HW\n";
|
||||||
|
}
|
||||||
elsif (/^no-dso$/)
|
elsif (/^no-dso$/)
|
||||||
{ $no_dso=1; }
|
{ $no_dso=1; }
|
||||||
elsif (/^no-threads$/)
|
elsif (/^no-threads$/)
|
||||||
@@ -626,7 +641,7 @@ PROCESS_ARGS:
|
|||||||
{ $threads=1; }
|
{ $threads=1; }
|
||||||
elsif (/^no-shared$/)
|
elsif (/^no-shared$/)
|
||||||
{ $no_shared=1; }
|
{ $no_shared=1; }
|
||||||
elsif (/^shared$/ || /^-shared$/ || /^--shared$/)
|
elsif (/^shared$/)
|
||||||
{ $no_shared=0; }
|
{ $no_shared=0; }
|
||||||
elsif (/^no-symlinks$/)
|
elsif (/^no-symlinks$/)
|
||||||
{ $symlink=0; }
|
{ $symlink=0; }
|
||||||
@@ -1195,13 +1210,11 @@ if($IsWindows) {
|
|||||||
EOF
|
EOF
|
||||||
close(OUT);
|
close(OUT);
|
||||||
} else {
|
} else {
|
||||||
my $make_command = "make -f Makefile.ssl PERL=\'$perl\'";
|
(system "make -f Makefile.ssl PERL=\'$perl\' links") == 0 or exit $?
|
||||||
my $make_targets = "";
|
if $symlink;
|
||||||
$make_targets .= " links" if $symlink;
|
### (system 'make depend') == 0 or exit $? if $depflags ne "";
|
||||||
$make_targets .= " depend" if $depflags ne "" && $make_depend;
|
# Run "make depend" manually if you want to be able to delete
|
||||||
$make_targets .= " gentests" if $symlink;
|
# the source code files of ciphers you left out.
|
||||||
(system $make_command.$make_targets) == 0 or exit $?
|
|
||||||
if $make_targets ne "";
|
|
||||||
if ( $perl =~ m@^/@) {
|
if ( $perl =~ m@^/@) {
|
||||||
&dofile("tools/c_rehash",$perl,'^#!/', '#!%s','^my \$dir;$', 'my $dir = "' . $openssldir . '";');
|
&dofile("tools/c_rehash",$perl,'^#!/', '#!%s','^my \$dir;$', 'my $dir = "' . $openssldir . '";');
|
||||||
&dofile("apps/der_chop",$perl,'^#!/', '#!%s');
|
&dofile("apps/der_chop",$perl,'^#!/', '#!%s');
|
||||||
@@ -1212,15 +1225,6 @@ EOF
|
|||||||
&dofile("apps/der_chop",'/usr/local/bin/perl','^#!/', '#!%s');
|
&dofile("apps/der_chop",'/usr/local/bin/perl','^#!/', '#!%s');
|
||||||
&dofile("apps/CA.pl",'/usr/local/bin/perl','^#!/', '#!%s');
|
&dofile("apps/CA.pl",'/usr/local/bin/perl','^#!/', '#!%s');
|
||||||
}
|
}
|
||||||
if ($depflags ne "" && !$make_depend) {
|
|
||||||
print <<EOF;
|
|
||||||
|
|
||||||
Since you've disabled at least one algorithm, you need to do the following
|
|
||||||
before building:
|
|
||||||
|
|
||||||
make depend
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
print <<EOF;
|
print <<EOF;
|
||||||
|
|||||||
72
FAQ
72
FAQ
@@ -9,7 +9,6 @@ OpenSSL - Frequently Asked Questions
|
|||||||
* Where can I get a compiled version of OpenSSL?
|
* Where can I get a compiled version of OpenSSL?
|
||||||
* Why aren't tools like 'autoconf' and 'libtool' used?
|
* Why aren't tools like 'autoconf' and 'libtool' used?
|
||||||
* What is an 'engine' version?
|
* What is an 'engine' version?
|
||||||
* How do I check the authenticity of the OpenSSL distribution?
|
|
||||||
|
|
||||||
[LEGAL] Legal questions
|
[LEGAL] Legal questions
|
||||||
|
|
||||||
@@ -36,7 +35,6 @@ OpenSSL - Frequently Asked Questions
|
|||||||
* Why does the linker complain about undefined symbols?
|
* Why does the linker complain about undefined symbols?
|
||||||
* Why does the OpenSSL test fail with "bc: command not found"?
|
* 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: 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 on Alpha Tru64 Unix?
|
||||||
* Why does the OpenSSL compilation fail with "ar: command not found"?
|
* Why does the OpenSSL compilation fail with "ar: command not found"?
|
||||||
* Why does the OpenSSL compilation fail on Win32 with VC++?
|
* Why does the OpenSSL compilation fail on Win32 with VC++?
|
||||||
@@ -63,7 +61,7 @@ OpenSSL - Frequently Asked Questions
|
|||||||
* Which is the current version of OpenSSL?
|
* Which is the current version of OpenSSL?
|
||||||
|
|
||||||
The current version is available from <URL: http://www.openssl.org>.
|
The current version is available from <URL: http://www.openssl.org>.
|
||||||
OpenSSL 0.9.7a was released on February 19, 2003.
|
OpenSSL 0.9.6e was released on 30 May, 2002.
|
||||||
|
|
||||||
In addition to the current stable release, you can also access daily
|
In addition to the current stable release, you can also access daily
|
||||||
snapshots of the OpenSSL development version at <URL:
|
snapshots of the OpenSSL development version at <URL:
|
||||||
@@ -134,19 +132,6 @@ hardware. This was realized in a special release '0.9.6-engine'. With
|
|||||||
version 0.9.7 (not yet released) the changes were merged into the main
|
version 0.9.7 (not yet released) the changes were merged into the main
|
||||||
development line, so that the special release is no longer necessary.
|
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). Then
|
|
||||||
just do:
|
|
||||||
|
|
||||||
pgp TARBALL.asc
|
|
||||||
|
|
||||||
[LEGAL] =======================================================================
|
[LEGAL] =======================================================================
|
||||||
|
|
||||||
* Do I need patent licenses to use OpenSSL?
|
* Do I need patent licenses to use OpenSSL?
|
||||||
@@ -184,30 +169,18 @@ for permission to use their software with OpenSSL.
|
|||||||
|
|
||||||
Cryptographic software needs a source of unpredictable data to work
|
Cryptographic software needs a source of unpredictable data to work
|
||||||
correctly. Many open source operating systems provide a "randomness
|
correctly. Many open source operating systems provide a "randomness
|
||||||
device" (/dev/urandom or /dev/random) that serves this purpose.
|
device" that serves this purpose. On other systems, applications have
|
||||||
All OpenSSL versions try to use /dev/urandom by default; starting with
|
to call the RAND_add() or RAND_seed() function with appropriate data
|
||||||
version 0.9.7, OpenSSL also tries /dev/random if /dev/urandom is not
|
before generating keys or performing public key encryption.
|
||||||
available.
|
(These functions initialize the pseudo-random number generator, PRNG.)
|
||||||
|
|
||||||
On other systems, applications have to call the RAND_add() or
|
Some broken applications do not do this. As of version 0.9.5, the
|
||||||
RAND_seed() function with appropriate data before generating keys or
|
OpenSSL functions that need randomness report an error if the random
|
||||||
performing public key encryption. (These functions initialize the
|
number generator has not been seeded with at least 128 bits of
|
||||||
pseudo-random number generator, PRNG.) Some broken applications do
|
randomness. If this error occurs, please contact the author of the
|
||||||
not do this. As of version 0.9.5, the OpenSSL functions that need
|
application you are using. It is likely that it never worked
|
||||||
randomness report an error if the random number generator has not been
|
correctly. OpenSSL 0.9.5 and later make the error visible by refusing
|
||||||
seeded with at least 128 bits of randomness. If this error occurs and
|
to perform potentially insecure encryption.
|
||||||
is not discussed in the documentation of the application you are
|
|
||||||
using, please contact the author of that application; it is likely
|
|
||||||
that it never worked correctly. OpenSSL 0.9.5 and later make the
|
|
||||||
error visible by refusing to perform potentially insecure encryption.
|
|
||||||
|
|
||||||
If you are using Solaris 8, you can add /dev/urandom and /dev/random
|
|
||||||
devices by installing patch 112438 (Sparc) or 112439 (x86), which are
|
|
||||||
available via the Patchfinder at <URL: http://sunsolve.sun.com>
|
|
||||||
(Solaris 9 includes these devices by default). For /dev/random support
|
|
||||||
for earlier Solaris versions, see Sun's statement at
|
|
||||||
<URL: http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsrdb/27606&zone_32=SUNWski>
|
|
||||||
(the SUNWski package is available in patch 105710).
|
|
||||||
|
|
||||||
On systems without /dev/urandom and /dev/random, it is a good idea to
|
On systems without /dev/urandom and /dev/random, it is a good idea to
|
||||||
use the Entropy Gathering Demon (EGD); see the RAND_egd() manpage for
|
use the Entropy Gathering Demon (EGD); see the RAND_egd() manpage for
|
||||||
@@ -240,6 +213,16 @@ OpenSSL command line tools. Applications using the OpenSSL library
|
|||||||
provide their own configuration options to specify the entropy source,
|
provide their own configuration options to specify the entropy source,
|
||||||
please check out the documentation coming the with application.
|
please check out the documentation coming the with application.
|
||||||
|
|
||||||
|
For Solaris 2.6, Tim Nibbe <tnibbe@sprint.net> and others have suggested
|
||||||
|
installing the SUNski package from Sun patch 105710-01 (Sparc) which
|
||||||
|
adds a /dev/random device and make sure it gets used, usually through
|
||||||
|
$RANDFILE. There are probably similar patches for the other Solaris
|
||||||
|
versions. An official statement from Sun with respect to /dev/random
|
||||||
|
support can be found at
|
||||||
|
http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsrdb/27606&zone_32=SUNWski
|
||||||
|
However, be warned that /dev/random is usually a blocking device, which
|
||||||
|
may have some effects on OpenSSL.
|
||||||
|
|
||||||
|
|
||||||
* Why do I get an "unable to write 'random state'" error message?
|
* Why do I get an "unable to write 'random state'" error message?
|
||||||
|
|
||||||
@@ -409,17 +392,6 @@ and compile/install it. GNU bc (see http://www.gnu.org/software/software.html
|
|||||||
for download instructions) can be safely used, for example.
|
for download instructions) can be safely used, for example.
|
||||||
|
|
||||||
|
|
||||||
* Why does the OpenSSL test fail with "bc: stack empty"?
|
|
||||||
|
|
||||||
On some DG/ux versions, bc seems to have a too small stack for calculations
|
|
||||||
that the OpenSSL bntest throws at it. This gets triggered when you run the
|
|
||||||
test suite (using "make test"). The message returned is "bc: stack empty".
|
|
||||||
|
|
||||||
The best way to deal with this is to find another implementation of bc
|
|
||||||
and compile/install it. GNU bc (see http://www.gnu.org/software/software.html
|
|
||||||
for download instructions) can be safely used, for example.
|
|
||||||
|
|
||||||
|
|
||||||
* Why does the OpenSSL compilation fail on Alpha Tru64 Unix?
|
* Why does the OpenSSL compilation fail on Alpha Tru64 Unix?
|
||||||
|
|
||||||
On some Alpha installations running Tru64 Unix and Compaq C, the compilation
|
On some Alpha installations running Tru64 Unix and Compaq C, the compilation
|
||||||
|
|||||||
23
INSTALL
23
INSTALL
@@ -57,7 +57,10 @@
|
|||||||
|
|
||||||
shared In addition to the usual static libraries, create shared
|
shared In addition to the usual static libraries, create shared
|
||||||
libraries on platforms where it's supported. See "Note on
|
libraries on platforms where it's supported. See "Note on
|
||||||
shared libraries" below.
|
shared libraries" below. THIS IS NOT RECOMMENDED! Since
|
||||||
|
this is a development branch, the positions of the ENGINE
|
||||||
|
symbols in the transfer vector are constantly moving, so
|
||||||
|
binary backward compatibility can't be guaranteed in any way.
|
||||||
|
|
||||||
no-asm Do not use assembler code.
|
no-asm Do not use assembler code.
|
||||||
|
|
||||||
@@ -129,8 +132,8 @@
|
|||||||
standard headers). If it is a problem with OpenSSL itself, please
|
standard headers). If it is a problem with OpenSSL itself, please
|
||||||
report the problem to <openssl-bugs@openssl.org> (note that your
|
report the problem to <openssl-bugs@openssl.org> (note that your
|
||||||
message will be recorded in the request tracker publicly readable
|
message will be recorded in the request tracker publicly readable
|
||||||
via http://www.openssl.org/support/rt2.html and will be forwarded to a
|
via http://www.openssl.org/rt2.html and will be forwarded to a public
|
||||||
public mailing list). Include the output of "make report" in your message.
|
mailing list). Include the output of "make report" in your message.
|
||||||
Please check out the request tracker. Maybe the bug was already
|
Please check out the request tracker. Maybe the bug was already
|
||||||
reported or has already been fixed.
|
reported or has already been fixed.
|
||||||
|
|
||||||
@@ -151,7 +154,7 @@
|
|||||||
in Makefile.ssl and run "make clean; make". Please send a bug
|
in Makefile.ssl and run "make clean; make". Please send a bug
|
||||||
report to <openssl-bugs@openssl.org>, including the output of
|
report to <openssl-bugs@openssl.org>, including the output of
|
||||||
"make report" in order to be added to the request tracker at
|
"make report" in order to be added to the request tracker at
|
||||||
http://www.openssl.org/support/rt2.html.
|
http://www.openssl.org/rt2.html.
|
||||||
|
|
||||||
4. If everything tests ok, install OpenSSL with
|
4. If everything tests ok, install OpenSSL with
|
||||||
|
|
||||||
@@ -285,15 +288,3 @@
|
|||||||
targets for shared library creation, like linux-shared. Those targets
|
targets for shared library creation, like linux-shared. Those targets
|
||||||
can currently be used on their own just as well, but this is expected
|
can currently be used on their own just as well, but this is expected
|
||||||
to change in future versions of OpenSSL.
|
to change in future versions of OpenSSL.
|
||||||
|
|
||||||
Note on random number generation
|
|
||||||
--------------------------------
|
|
||||||
|
|
||||||
Availability of cryptographically secure random numbers is required for
|
|
||||||
secret key generation. OpenSSL provides several options to seed the
|
|
||||||
internal PRNG. If not properly seeded, the internal PRNG will refuse
|
|
||||||
to deliver random bytes and a "PRNG not seeded error" will occur.
|
|
||||||
On systems without /dev/urandom (or similar) device, it may be necessary
|
|
||||||
to install additional support software to obtain random seed.
|
|
||||||
Please check out the manual pages for RAND_add(), RAND_bytes(), RAND_egd(),
|
|
||||||
and the FAQ for more information.
|
|
||||||
|
|||||||
@@ -82,8 +82,7 @@
|
|||||||
There are various changes you can make to the Win32 compile environment. By
|
There are various changes you can make to the Win32 compile environment. By
|
||||||
default the library is not compiled with debugging symbols. If you add 'debug'
|
default the library is not compiled with debugging symbols. If you add 'debug'
|
||||||
to the mk1mf.pl lines in the do_* batch file then debugging symbols will be
|
to the mk1mf.pl lines in the do_* batch file then debugging symbols will be
|
||||||
compiled in. Note that mk1mf.pl expects the platform to be the last argument
|
compiled in.
|
||||||
on the command line, so 'debug' must appear before that, as all other options.
|
|
||||||
|
|
||||||
The default Win32 environment is to leave out any Windows NT specific
|
The default Win32 environment is to leave out any Windows NT specific
|
||||||
features.
|
features.
|
||||||
|
|||||||
@@ -1287,7 +1287,7 @@ EXITPOINT:
|
|||||||
|
|
||||||
// Send some bytes
|
// Send some bytes
|
||||||
|
|
||||||
int MacSocket_send(const int inSocketNum,const void *inBuff,int inBuffLength)
|
int MacSocket_send(const int inSocketNum,void *inBuff,int inBuffLength)
|
||||||
{
|
{
|
||||||
OSErr errCode = noErr;
|
OSErr errCode = noErr;
|
||||||
int bytesSent = 0;
|
int bytesSent = 0;
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ int MacSocket_recv(const int inSocketNum,void *outBuff,int outBuffLength,const B
|
|||||||
|
|
||||||
// Call this to send data on a socket
|
// Call this to send data on a socket
|
||||||
|
|
||||||
int MacSocket_send(const int inSocketNum,const void *inBuff,int inBuffLength);
|
int MacSocket_send(const int inSocketNum,void *inBuff,int inBuffLength);
|
||||||
|
|
||||||
|
|
||||||
// If zero bytes were read in a call to MacSocket_recv(), it may be that the remote end has done a half-close
|
// If zero bytes were read in a call to MacSocket_recv(), it may be that the remote end has done a half-close
|
||||||
|
|||||||
52
Makefile.org
52
Makefile.org
@@ -162,7 +162,7 @@ SHLIBDIRS= crypto ssl
|
|||||||
SDIRS= \
|
SDIRS= \
|
||||||
md2 md4 md5 sha mdc2 hmac ripemd \
|
md2 md4 md5 sha mdc2 hmac ripemd \
|
||||||
des rc2 rc4 rc5 idea bf cast \
|
des rc2 rc4 rc5 idea bf cast \
|
||||||
bn rsa dsa dh dso \
|
bn rsa dsa dh dso engine \
|
||||||
buffer bio stack lhash rand err objects \
|
buffer bio stack lhash rand err objects \
|
||||||
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp
|
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp
|
||||||
|
|
||||||
@@ -247,8 +247,7 @@ link-shared:
|
|||||||
for i in $(SHLIBDIRS); do \
|
for i in $(SHLIBDIRS); do \
|
||||||
prev=lib$$i$(SHLIB_EXT); \
|
prev=lib$$i$(SHLIB_EXT); \
|
||||||
for j in $${tmp:-x}; do \
|
for j in $${tmp:-x}; do \
|
||||||
( set -x; \
|
( set -x; ln -f -s $$prev lib$$i$$j ); \
|
||||||
rm -f lib$$i$$j; ln -s $$prev lib$$i$$j ); \
|
|
||||||
prev=lib$$i$$j; \
|
prev=lib$$i$$j; \
|
||||||
done; \
|
done; \
|
||||||
done; \
|
done; \
|
||||||
@@ -270,7 +269,9 @@ do_gnu-shared:
|
|||||||
done
|
done
|
||||||
|
|
||||||
DETECT_GNU_LD=${CC} -v 2>&1 | grep '^gcc' >/dev/null 2>&1 && \
|
DETECT_GNU_LD=${CC} -v 2>&1 | grep '^gcc' >/dev/null 2>&1 && \
|
||||||
my_ld=`${CC} -print-prog-name=ld 2>&1` && \
|
collect2=`gcc -print-prog-name=collect2 2>&1` && \
|
||||||
|
[ -n "$$collect2" ] && \
|
||||||
|
my_ld=`$$collect2 --help 2>&1 | grep Usage: | sed 's/^Usage: *\([^ ][^ ]*\).*/\1/'` && \
|
||||||
[ -n "$$my_ld" ] && \
|
[ -n "$$my_ld" ] && \
|
||||||
$$my_ld -v 2>&1 | grep 'GNU ld' >/dev/null 2>&1
|
$$my_ld -v 2>&1 | grep 'GNU ld' >/dev/null 2>&1
|
||||||
|
|
||||||
@@ -527,10 +528,6 @@ links:
|
|||||||
fi; \
|
fi; \
|
||||||
done;
|
done;
|
||||||
|
|
||||||
gentests:
|
|
||||||
@(cd test && echo "generating dummy tests (if needed)..." && \
|
|
||||||
$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' TESTS='${TESTS}' KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on generate );
|
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
rm -f *.bak
|
rm -f *.bak
|
||||||
@for i in $(DIRS) ;\
|
@for i in $(DIRS) ;\
|
||||||
@@ -612,9 +609,6 @@ update: depend errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_
|
|||||||
# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal
|
# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal
|
||||||
# tar does not support the --files-from option.
|
# tar does not support the --files-from option.
|
||||||
tar:
|
tar:
|
||||||
find . -type d -print | xargs chmod 755
|
|
||||||
find . -type f -print | xargs chmod a+r
|
|
||||||
find . -type f -perm -0100 -print | xargs chmod a+x
|
|
||||||
find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE | sort > ../$(TARFILE).list; \
|
find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE | sort > ../$(TARFILE).list; \
|
||||||
$(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \
|
$(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \
|
||||||
tardy --user_number=0 --user_name=openssl \
|
tardy --user_number=0 --user_name=openssl \
|
||||||
@@ -657,10 +651,9 @@ install: all install_docs
|
|||||||
do \
|
do \
|
||||||
if [ -f "$$i" ]; then \
|
if [ -f "$$i" ]; then \
|
||||||
( echo installing $$i; \
|
( echo installing $$i; \
|
||||||
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
|
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
|
||||||
$(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
|
$(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
|
||||||
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
|
||||||
mv $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
|
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
@if [ -n "$(SHARED_LIBS)" ]; then \
|
@if [ -n "$(SHARED_LIBS)" ]; then \
|
||||||
@@ -670,24 +663,20 @@ install: all install_docs
|
|||||||
if [ -f "$$i" -o -f "$$i.a" ]; then \
|
if [ -f "$$i" -o -f "$$i.a" ]; then \
|
||||||
( echo installing $$i; \
|
( echo installing $$i; \
|
||||||
if [ "$(PLATFORM)" != "Cygwin" ]; then \
|
if [ "$(PLATFORM)" != "Cygwin" ]; then \
|
||||||
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
|
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
|
||||||
chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
|
chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
|
||||||
mv $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
|
|
||||||
else \
|
else \
|
||||||
c=`echo $$i | sed 's/^lib/cyg/'`; \
|
c=`echo $$i | sed 's/^lib/cyg/'`; \
|
||||||
cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
|
cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
|
||||||
chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \
|
chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
|
||||||
mv $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
|
cp $$i.a $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \
|
||||||
cp $$i.a $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new; \
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \
|
||||||
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new; \
|
|
||||||
mv $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \
|
|
||||||
fi ); \
|
fi ); \
|
||||||
fi; \
|
fi; \
|
||||||
done; \
|
done; \
|
||||||
( here="`pwd`"; \
|
( here="`pwd`"; \
|
||||||
cd $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
|
cd $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
|
||||||
set $(MAKE); \
|
make -f $$here/Makefile link-shared ); \
|
||||||
$$1 -f $$here/Makefile link-shared ); \
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
install_docs:
|
install_docs:
|
||||||
@@ -696,23 +685,22 @@ install_docs:
|
|||||||
$(INSTALL_PREFIX)$(MANDIR)/man3 \
|
$(INSTALL_PREFIX)$(MANDIR)/man3 \
|
||||||
$(INSTALL_PREFIX)$(MANDIR)/man5 \
|
$(INSTALL_PREFIX)$(MANDIR)/man5 \
|
||||||
$(INSTALL_PREFIX)$(MANDIR)/man7
|
$(INSTALL_PREFIX)$(MANDIR)/man7
|
||||||
@pod2man="`cd util; ./pod2mantest $(PERL)`"; \
|
@for i in doc/apps/*.pod; do \
|
||||||
for i in doc/apps/*.pod; do \
|
|
||||||
fn=`basename $$i .pod`; \
|
fn=`basename $$i .pod`; \
|
||||||
if [ "$$fn" = "config" ]; then sec=5; else sec=1; fi; \
|
if [ "$$fn" = "config" ]; then sec=5; else sec=1; fi; \
|
||||||
echo "installing man$$sec/`basename $$i .pod`.$$sec"; \
|
echo "installing man$$sec/`basename $$i .pod`.$$sec"; \
|
||||||
(cd `$(PERL) util/dirname.pl $$i`; \
|
(cd `$(PERL) util/dirname.pl $$i`; \
|
||||||
sh -c "$$pod2man \
|
sh -c "$(PERL) `cd ../../util; ./pod2mantest ignore` \
|
||||||
--section=$$sec --center=OpenSSL \
|
--section=$$sec --center=OpenSSL \
|
||||||
--release=$(VERSION) `basename $$i`") \
|
--release=$(VERSION) `basename $$i`") \
|
||||||
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/`basename $$i .pod`.$$sec; \
|
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/`basename $$i .pod`.$$sec; \
|
||||||
done; \
|
done
|
||||||
for i in doc/crypto/*.pod doc/ssl/*.pod; do \
|
@for i in doc/crypto/*.pod doc/ssl/*.pod; do \
|
||||||
fn=`basename $$i .pod`; \
|
fn=`basename $$i .pod`; \
|
||||||
if [ "$$fn" = "des_modes" ]; then sec=7; else sec=3; fi; \
|
if [ "$$fn" = "des_modes" ]; then sec=7; else sec=3; fi; \
|
||||||
echo "installing man$$sec/`basename $$i .pod`.$$sec"; \
|
echo "installing man$$sec/`basename $$i .pod`.$$sec"; \
|
||||||
(cd `$(PERL) util/dirname.pl $$i`; \
|
(cd `$(PERL) util/dirname.pl $$i`; \
|
||||||
sh -c "$$pod2man \
|
sh -c "$(PERL) `cd ../../util; ./pod2mantest ignore` \
|
||||||
--section=$$sec --center=OpenSSL \
|
--section=$$sec --center=OpenSSL \
|
||||||
--release=$(VERSION) `basename $$i`") \
|
--release=$(VERSION) `basename $$i`") \
|
||||||
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/`basename $$i .pod`.$$sec; \
|
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/`basename $$i .pod`.$$sec; \
|
||||||
|
|||||||
31
NEWS
31
NEWS
@@ -5,37 +5,6 @@
|
|||||||
This file gives a brief overview of the major changes between each OpenSSL
|
This file gives a brief overview of the major changes between each OpenSSL
|
||||||
release. For more details please read the CHANGES file.
|
release. For more details please read the CHANGES file.
|
||||||
|
|
||||||
Major changes between OpenSSL 0.9.6h and OpenSSL 0.9.6i:
|
|
||||||
|
|
||||||
o Important security related bugfixes.
|
|
||||||
|
|
||||||
Major changes between OpenSSL 0.9.6g and OpenSSL 0.9.6h:
|
|
||||||
|
|
||||||
o New configuration targets for Tandem OSS and A/UX.
|
|
||||||
o New OIDs for Microsoft attributes.
|
|
||||||
o Better handling of SSL session caching.
|
|
||||||
o Better comparison of distinguished names.
|
|
||||||
o Better handling of shared libraries in a mixed GNU/non-GNU environment.
|
|
||||||
o Support assembler code with Borland C.
|
|
||||||
o Fixes for length problems.
|
|
||||||
o Fixes for uninitialised variables.
|
|
||||||
o Fixes for memory leaks, some unusual crashes and some race conditions.
|
|
||||||
o Fixes for smaller building problems.
|
|
||||||
o Updates of manuals, FAQ and other instructive documents.
|
|
||||||
|
|
||||||
Major changes between OpenSSL 0.9.6f and OpenSSL 0.9.6g:
|
|
||||||
|
|
||||||
o Important building fixes on Unix.
|
|
||||||
|
|
||||||
Major changes between OpenSSL 0.9.6e and OpenSSL 0.9.6f:
|
|
||||||
|
|
||||||
o Various important bugfixes.
|
|
||||||
|
|
||||||
Major changes between OpenSSL 0.9.6d and OpenSSL 0.9.6e:
|
|
||||||
|
|
||||||
o Important security related bugfixes.
|
|
||||||
o Various SSL/TLS library bugfixes.
|
|
||||||
|
|
||||||
Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d:
|
Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d:
|
||||||
|
|
||||||
o Various SSL/TLS library bugfixes.
|
o Various SSL/TLS library bugfixes.
|
||||||
|
|||||||
24
PROBLEMS
24
PROBLEMS
@@ -32,27 +32,3 @@ may differ on your machine.
|
|||||||
As long as Apple doesn't fix the problem with ld, this problem building
|
As long as Apple doesn't fix the problem with ld, this problem building
|
||||||
OpenSSL will remain as is.
|
OpenSSL will remain as is.
|
||||||
|
|
||||||
|
|
||||||
* Parallell make leads to errors
|
|
||||||
|
|
||||||
While running tests, running a parallell make is a bad idea. Many test
|
|
||||||
scripts use the same name for output and input files, which means different
|
|
||||||
will interfere with each other and lead to test failure.
|
|
||||||
|
|
||||||
The solution is simple for now: don't run parallell make when testing.
|
|
||||||
|
|
||||||
|
|
||||||
* Bugs in gcc 3.0 triggered
|
|
||||||
|
|
||||||
According to a problem report, there are bugs in gcc 3.0 that are
|
|
||||||
triggered by some of the code in OpenSSL, more specifically in
|
|
||||||
PEM_get_EVP_CIPHER_INFO(). The triggering code is the following:
|
|
||||||
|
|
||||||
header+=11;
|
|
||||||
if (*header != '4') return(0); header++;
|
|
||||||
if (*header != ',') return(0); header++;
|
|
||||||
|
|
||||||
What happens is that gcc might optimize a little too agressively, and
|
|
||||||
you end up with an extra incrementation when *header != '4'.
|
|
||||||
|
|
||||||
We recommend that you upgrade gcc to as high a 3.x version as you can.
|
|
||||||
|
|||||||
4
README
4
README
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
OpenSSL 0.9.6i Feb 19 2003
|
OpenSSL 0.9.6e [engine] 30 July 2002
|
||||||
|
|
||||||
Copyright (c) 1998-2003 The OpenSSL Project
|
Copyright (c) 1998-2002 The OpenSSL Project
|
||||||
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
|
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
|
|||||||
12
STATUS
12
STATUS
@@ -1,16 +1,10 @@
|
|||||||
|
|
||||||
OpenSSL STATUS Last modified at
|
OpenSSL STATUS Last modified at
|
||||||
______________ $Date: 2003/02/19 12:34:17 $
|
______________ $Date: 2002/07/30 10:38:17 $
|
||||||
|
|
||||||
DEVELOPMENT STATE
|
DEVELOPMENT STATE
|
||||||
|
|
||||||
o OpenSSL 0.9.8: Under development...
|
o OpenSSL 0.9.7: Under development...
|
||||||
o OpenSSL 0.9.7a: Released on February 19th, 2003
|
|
||||||
o OpenSSL 0.9.7: Released on December 31st, 2002
|
|
||||||
o OpenSSL 0.9.6i: Released on February 19th, 2003
|
|
||||||
o OpenSSL 0.9.6h: Released on December 5th, 2002
|
|
||||||
o OpenSSL 0.9.6g: Released on August 9th, 2002
|
|
||||||
o OpenSSL 0.9.6f: Released on August 8th, 2002
|
|
||||||
o OpenSSL 0.9.6e: Released on July 30th, 2002
|
o OpenSSL 0.9.6e: Released on July 30th, 2002
|
||||||
o OpenSSL 0.9.6d: Released on May 9th, 2002
|
o OpenSSL 0.9.6d: Released on May 9th, 2002
|
||||||
o OpenSSL 0.9.6c: Released on December 21st, 2001
|
o OpenSSL 0.9.6c: Released on December 21st, 2001
|
||||||
@@ -27,8 +21,6 @@
|
|||||||
|
|
||||||
RELEASE SHOWSTOPPERS
|
RELEASE SHOWSTOPPERS
|
||||||
|
|
||||||
o none
|
|
||||||
|
|
||||||
AVAILABLE PATCHES
|
AVAILABLE PATCHES
|
||||||
|
|
||||||
o
|
o
|
||||||
|
|||||||
74
TABLE
74
TABLE
@@ -71,7 +71,7 @@ $ranlib =
|
|||||||
|
|
||||||
*** Cygwin
|
*** Cygwin
|
||||||
$cc = gcc
|
$cc = gcc
|
||||||
$cflags = -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -march=i486 -Wall
|
$cflags = -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -m486 -Wall
|
||||||
$unistd =
|
$unistd =
|
||||||
$thread_cflag =
|
$thread_cflag =
|
||||||
$lflags =
|
$lflags =
|
||||||
@@ -853,7 +853,7 @@ $ranlib =
|
|||||||
|
|
||||||
*** aix43-gcc
|
*** aix43-gcc
|
||||||
$cc = gcc
|
$cc = gcc
|
||||||
$cflags = -O1 -DAIX -DB_ENDIAN
|
$cflags = -O3 -DAIX -DB_ENDIAN
|
||||||
$unistd =
|
$unistd =
|
||||||
$thread_cflag = (unknown)
|
$thread_cflag = (unknown)
|
||||||
$lflags =
|
$lflags =
|
||||||
@@ -989,29 +989,6 @@ $shared_ldflag =
|
|||||||
$shared_extension = .so
|
$shared_extension = .so
|
||||||
$ranlib =
|
$ranlib =
|
||||||
|
|
||||||
*** aux3-gcc
|
|
||||||
$cc = gcc
|
|
||||||
$cflags = -O2 -DTERMIO
|
|
||||||
$unistd =
|
|
||||||
$thread_cflag = (unknown)
|
|
||||||
$lflags = -lbsd
|
|
||||||
$bn_ops = RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR
|
|
||||||
$bn_obj =
|
|
||||||
$des_obj =
|
|
||||||
$bf_obj =
|
|
||||||
$md5_obj =
|
|
||||||
$sha1_obj =
|
|
||||||
$cast_obj =
|
|
||||||
$rc4_obj =
|
|
||||||
$rmd160_obj =
|
|
||||||
$rc5_obj =
|
|
||||||
$dso_scheme =
|
|
||||||
$shared_target=
|
|
||||||
$shared_cflag =
|
|
||||||
$shared_ldflag =
|
|
||||||
$shared_extension =
|
|
||||||
$ranlib =
|
|
||||||
|
|
||||||
*** bsdi-elf-gcc
|
*** bsdi-elf-gcc
|
||||||
$cc = gcc
|
$cc = gcc
|
||||||
$cflags = -DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall
|
$cflags = -DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall
|
||||||
@@ -1267,7 +1244,7 @@ $ranlib =
|
|||||||
|
|
||||||
*** debug-levitte-linux-elf
|
*** debug-levitte-linux-elf
|
||||||
$cc = gcc
|
$cc = gcc
|
||||||
$cflags = -DUSE_ALLOCATING_PRINT -DRL_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DNO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -ggdb -g3 -m486 -pedantic -ansi -Wall -Wshadow -Wstrict-prototypes -Wmissing-prototypes -pipe
|
$cflags = -DUSE_ALLOCATING_PRINT -DRL_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DNO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -ggdb -g3 -m486 -pedantic -ansi -Wall -Wshadow -Wid-clash-31 -pipe
|
||||||
$unistd =
|
$unistd =
|
||||||
$thread_cflag = -D_REENTRANT
|
$thread_cflag = -D_REENTRANT
|
||||||
$lflags = -ldl
|
$lflags = -ldl
|
||||||
@@ -1282,10 +1259,10 @@ $rc4_obj =
|
|||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
$rc5_obj =
|
$rc5_obj =
|
||||||
$dso_scheme = dlfcn
|
$dso_scheme = dlfcn
|
||||||
$shared_target= linux-shared
|
$shared_target=
|
||||||
$shared_cflag = -fPIC
|
$shared_cflag =
|
||||||
$shared_ldflag =
|
$shared_ldflag =
|
||||||
$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
|
$shared_extension =
|
||||||
$ranlib =
|
$ranlib =
|
||||||
|
|
||||||
*** debug-linux-elf
|
*** debug-linux-elf
|
||||||
@@ -2440,10 +2417,10 @@ $ranlib =
|
|||||||
|
|
||||||
*** linux-s390
|
*** linux-s390
|
||||||
$cc = gcc
|
$cc = gcc
|
||||||
$cflags = -DB_ENDIAN -DTERMIO -DNO_ASM -O3 -fomit-frame-pointer -Wall
|
$cflags = -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall
|
||||||
$unistd =
|
$unistd =
|
||||||
$thread_cflag = -D_REENTRANT
|
$thread_cflag = -D_REENTRANT
|
||||||
$lflags = -ldl
|
$lflags =
|
||||||
$bn_ops = BN_LLONG
|
$bn_ops = BN_LLONG
|
||||||
$bn_obj =
|
$bn_obj =
|
||||||
$des_obj =
|
$des_obj =
|
||||||
@@ -2454,11 +2431,11 @@ $cast_obj =
|
|||||||
$rc4_obj =
|
$rc4_obj =
|
||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
$rc5_obj =
|
$rc5_obj =
|
||||||
$dso_scheme = dlfcn
|
$dso_scheme =
|
||||||
$shared_target= linux-shared
|
$shared_target=
|
||||||
$shared_cflag = -fPIC
|
$shared_cflag =
|
||||||
$shared_ldflag =
|
$shared_ldflag =
|
||||||
$shared_extension = .so.$(SHLIB_MAJOR),$(SHLIB_MINOR)
|
$shared_extension =
|
||||||
$ranlib =
|
$ranlib =
|
||||||
|
|
||||||
*** linux-s390x
|
*** linux-s390x
|
||||||
@@ -2466,7 +2443,7 @@ $cc = gcc
|
|||||||
$cflags = -DB_ENDIAN -DTERMIO -DNO_ASM -O3 -fomit-frame-pointer -Wall
|
$cflags = -DB_ENDIAN -DTERMIO -DNO_ASM -O3 -fomit-frame-pointer -Wall
|
||||||
$unistd =
|
$unistd =
|
||||||
$thread_cflag = -D_REENTRANT
|
$thread_cflag = -D_REENTRANT
|
||||||
$lflags = -ldl
|
$lflags =
|
||||||
$bn_ops = SIXTY_FOUR_BIT_LONG
|
$bn_ops = SIXTY_FOUR_BIT_LONG
|
||||||
$bn_obj =
|
$bn_obj =
|
||||||
$des_obj =
|
$des_obj =
|
||||||
@@ -2477,7 +2454,7 @@ $cast_obj =
|
|||||||
$rc4_obj =
|
$rc4_obj =
|
||||||
$rmd160_obj =
|
$rmd160_obj =
|
||||||
$rc5_obj =
|
$rc5_obj =
|
||||||
$dso_scheme = dlfcn
|
$dso_scheme =
|
||||||
$shared_target= linux-shared
|
$shared_target= linux-shared
|
||||||
$shared_cflag = -fPIC
|
$shared_cflag = -fPIC
|
||||||
$shared_ldflag =
|
$shared_ldflag =
|
||||||
@@ -3174,29 +3151,6 @@ $shared_ldflag =
|
|||||||
$shared_extension =
|
$shared_extension =
|
||||||
$ranlib =
|
$ranlib =
|
||||||
|
|
||||||
*** tandem-c89
|
|
||||||
$cc = c89
|
|
||||||
$cflags = -Ww -D__TANDEM -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D_TANDEM_SOURCE -DB_ENDIAN
|
|
||||||
$unistd =
|
|
||||||
$thread_cflag = (unknown)
|
|
||||||
$lflags =
|
|
||||||
$bn_ops = THIRTY_TWO_BIT
|
|
||||||
$bn_obj =
|
|
||||||
$des_obj =
|
|
||||||
$bf_obj =
|
|
||||||
$md5_obj =
|
|
||||||
$sha1_obj =
|
|
||||||
$cast_obj =
|
|
||||||
$rc4_obj =
|
|
||||||
$rmd160_obj =
|
|
||||||
$rc5_obj =
|
|
||||||
$dso_scheme =
|
|
||||||
$shared_target=
|
|
||||||
$shared_cflag =
|
|
||||||
$shared_ldflag =
|
|
||||||
$shared_extension =
|
|
||||||
$ranlib =
|
|
||||||
|
|
||||||
*** ultrix-cc
|
*** ultrix-cc
|
||||||
$cc = cc
|
$cc = cc
|
||||||
$cflags = -std1 -O -Olimit 1000 -DL_ENDIAN
|
$cflags = -std1 -O -Olimit 1000 -DL_ENDIAN
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(SRC)
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(SRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
@@ -128,10 +128,10 @@ clean:
|
|||||||
rm -f req
|
rm -f req
|
||||||
|
|
||||||
$(DLIBSSL):
|
$(DLIBSSL):
|
||||||
(cd ..; $(MAKE) DIRS=ssl all)
|
(cd ../ssl; $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' TESTS='${TESTS}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}')
|
||||||
|
|
||||||
$(DLIBCRYPTO):
|
$(DLIBCRYPTO):
|
||||||
(cd ..; $(MAKE) DIRS=crypto all)
|
(cd ../crypto; $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' TESTS='${TESTS}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}')
|
||||||
|
|
||||||
$(PROGRAM): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL)
|
$(PROGRAM): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL)
|
||||||
$(RM) $(PROGRAM)
|
$(RM) $(PROGRAM)
|
||||||
@@ -209,14 +209,15 @@ ca.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
ca.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
ca.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
ca.o: ../include/openssl/des.h ../include/openssl/dh.h ../include/openssl/dsa.h
|
ca.o: ../include/openssl/des.h ../include/openssl/dh.h ../include/openssl/dsa.h
|
||||||
ca.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
|
ca.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
|
||||||
ca.o: ../include/openssl/err.h ../include/openssl/evp.h
|
ca.o: ../include/openssl/engine.h ../include/openssl/err.h
|
||||||
ca.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
ca.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
||||||
ca.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
ca.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
||||||
ca.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
ca.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
||||||
ca.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
ca.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
||||||
ca.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
ca.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
||||||
ca.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
ca.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
||||||
ca.o: ../include/openssl/pkcs7.h ../include/openssl/rc2.h
|
ca.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
||||||
|
ca.o: ../include/openssl/rand.h ../include/openssl/rc2.h
|
||||||
ca.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
ca.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
||||||
ca.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
ca.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
||||||
ca.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
ca.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||||
@@ -292,14 +293,15 @@ dgst.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
dgst.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
dgst.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
dgst.o: ../include/openssl/des.h ../include/openssl/dh.h
|
dgst.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
dgst.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
dgst.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
dgst.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
dgst.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
dgst.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
dgst.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
dgst.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
dgst.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
dgst.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
dgst.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
dgst.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
dgst.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
dgst.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
dgst.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
dgst.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
dgst.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
dgst.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
dgst.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
|
dgst.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
dgst.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
dgst.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
dgst.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
dgst.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
dgst.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
dgst.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
@@ -312,14 +314,15 @@ dh.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
dh.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
dh.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
dh.o: ../include/openssl/des.h ../include/openssl/dh.h ../include/openssl/dsa.h
|
dh.o: ../include/openssl/des.h ../include/openssl/dh.h ../include/openssl/dsa.h
|
||||||
dh.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
|
dh.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
|
||||||
dh.o: ../include/openssl/err.h ../include/openssl/evp.h
|
dh.o: ../include/openssl/engine.h ../include/openssl/err.h
|
||||||
dh.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
dh.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
||||||
dh.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
dh.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
||||||
dh.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
dh.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
||||||
dh.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
dh.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
||||||
dh.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
dh.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
||||||
dh.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
dh.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
||||||
dh.o: ../include/openssl/pkcs7.h ../include/openssl/rc2.h
|
dh.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
||||||
|
dh.o: ../include/openssl/rand.h ../include/openssl/rc2.h
|
||||||
dh.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
dh.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
||||||
dh.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
dh.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
||||||
dh.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
dh.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||||
@@ -331,14 +334,15 @@ dsa.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
dsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
dsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
dsa.o: ../include/openssl/des.h ../include/openssl/dh.h
|
dsa.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
dsa.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
dsa.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
dsa.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
dsa.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
dsa.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
dsa.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
dsa.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
dsa.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
dsa.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
dsa.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
dsa.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
dsa.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
dsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
dsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
dsa.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
dsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
dsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
dsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
|
dsa.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
dsa.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
dsa.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
dsa.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
dsa.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
dsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
dsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
@@ -371,20 +375,21 @@ enc.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
enc.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
enc.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
enc.o: ../include/openssl/des.h ../include/openssl/dh.h
|
enc.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
enc.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
enc.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
enc.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
enc.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
enc.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
enc.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
enc.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
enc.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
enc.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
enc.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
enc.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
enc.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
enc.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
enc.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
enc.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
enc.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
enc.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
enc.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
enc.o: ../include/openssl/rand.h ../include/openssl/rc2.h
|
enc.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
enc.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
enc.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
enc.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
enc.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
enc.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
enc.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
enc.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
|
enc.o: ../include/openssl/sha.h ../include/openssl/stack.h
|
||||||
enc.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
|
enc.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
|
||||||
|
enc.o: ../include/openssl/x509_vfy.h apps.h
|
||||||
errstr.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
errstr.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||||
errstr.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
errstr.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
||||||
errstr.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
errstr.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
||||||
@@ -414,34 +419,36 @@ gendh.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
gendh.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
gendh.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
gendh.o: ../include/openssl/des.h ../include/openssl/dh.h
|
gendh.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
gendh.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
gendh.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
gendh.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
gendh.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
gendh.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
gendh.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
gendh.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
gendh.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
gendh.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
gendh.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
gendh.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
gendh.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
gendh.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
gendh.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
gendh.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
gendh.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
gendh.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
gendh.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
gendh.o: ../include/openssl/rand.h ../include/openssl/rc2.h
|
gendh.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
gendh.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
gendh.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
gendh.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
gendh.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
gendh.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
gendh.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
gendh.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
|
gendh.o: ../include/openssl/sha.h ../include/openssl/stack.h
|
||||||
gendh.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
|
gendh.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
|
||||||
|
gendh.o: ../include/openssl/x509_vfy.h apps.h
|
||||||
gendsa.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
gendsa.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||||
gendsa.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
gendsa.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
||||||
gendsa.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
gendsa.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
||||||
gendsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
gendsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
gendsa.o: ../include/openssl/des.h ../include/openssl/dh.h
|
gendsa.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
gendsa.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
gendsa.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
gendsa.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
gendsa.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
gendsa.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
gendsa.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
gendsa.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
gendsa.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
gendsa.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
gendsa.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
gendsa.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
gendsa.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
gendsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
gendsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
gendsa.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
gendsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
gendsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
gendsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
|
gendsa.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
gendsa.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
gendsa.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
gendsa.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
gendsa.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
gendsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
gendsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
@@ -454,14 +461,15 @@ genrsa.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
genrsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
genrsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
genrsa.o: ../include/openssl/des.h ../include/openssl/dh.h
|
genrsa.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
genrsa.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
genrsa.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
genrsa.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
genrsa.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
genrsa.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
genrsa.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
genrsa.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
genrsa.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
genrsa.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
genrsa.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
genrsa.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
genrsa.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
genrsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
genrsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
genrsa.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
genrsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
genrsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
genrsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
|
genrsa.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
genrsa.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
genrsa.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
genrsa.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
genrsa.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
genrsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
genrsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
@@ -536,15 +544,16 @@ pkcs12.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
pkcs12.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
pkcs12.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
pkcs12.o: ../include/openssl/des.h ../include/openssl/dh.h
|
pkcs12.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
pkcs12.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
pkcs12.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
pkcs12.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
pkcs12.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
pkcs12.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
pkcs12.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
pkcs12.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
pkcs12.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
pkcs12.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
pkcs12.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
pkcs12.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
pkcs12.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
pkcs12.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
pkcs12.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
pkcs12.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
pkcs12.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
pkcs12.o: ../include/openssl/pem2.h ../include/openssl/pkcs12.h
|
pkcs12.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
pkcs12.o: ../include/openssl/pkcs7.h ../include/openssl/rc2.h
|
pkcs12.o: ../include/openssl/pkcs12.h ../include/openssl/pkcs7.h
|
||||||
|
pkcs12.o: ../include/openssl/rand.h ../include/openssl/rc2.h
|
||||||
pkcs12.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
pkcs12.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
||||||
pkcs12.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
pkcs12.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
||||||
pkcs12.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
pkcs12.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||||
@@ -556,14 +565,15 @@ pkcs7.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
pkcs7.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
pkcs7.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
pkcs7.o: ../include/openssl/des.h ../include/openssl/dh.h
|
pkcs7.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
pkcs7.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
pkcs7.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
pkcs7.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
pkcs7.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
pkcs7.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
pkcs7.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
pkcs7.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
pkcs7.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
pkcs7.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
pkcs7.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
pkcs7.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
pkcs7.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
pkcs7.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
pkcs7.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
pkcs7.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
pkcs7.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
pkcs7.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
pkcs7.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
|
pkcs7.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
pkcs7.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
pkcs7.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
pkcs7.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
pkcs7.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
pkcs7.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
pkcs7.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
@@ -576,15 +586,16 @@ pkcs8.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
pkcs8.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
pkcs8.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
pkcs8.o: ../include/openssl/des.h ../include/openssl/dh.h
|
pkcs8.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
pkcs8.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
pkcs8.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
pkcs8.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
pkcs8.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
pkcs8.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
pkcs8.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
pkcs8.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
pkcs8.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
pkcs8.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
pkcs8.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
pkcs8.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
pkcs8.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
pkcs8.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
pkcs8.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
pkcs8.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
pkcs8.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
pkcs8.o: ../include/openssl/pem2.h ../include/openssl/pkcs12.h
|
pkcs8.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
pkcs8.o: ../include/openssl/pkcs7.h ../include/openssl/rc2.h
|
pkcs8.o: ../include/openssl/pkcs12.h ../include/openssl/pkcs7.h
|
||||||
|
pkcs8.o: ../include/openssl/rand.h ../include/openssl/rc2.h
|
||||||
pkcs8.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
pkcs8.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
||||||
pkcs8.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
pkcs8.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
||||||
pkcs8.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
pkcs8.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||||
@@ -596,33 +607,35 @@ rand.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
rand.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
rand.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
rand.o: ../include/openssl/des.h ../include/openssl/dh.h
|
rand.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
rand.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
rand.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
rand.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
rand.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
rand.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
rand.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
rand.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
rand.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
rand.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
rand.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
rand.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
rand.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
rand.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
rand.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
rand.o: ../include/openssl/opensslv.h ../include/openssl/pkcs7.h
|
rand.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
rand.o: ../include/openssl/rand.h ../include/openssl/rc2.h
|
rand.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
rand.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
rand.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
rand.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
rand.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
rand.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
rand.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
rand.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
|
rand.o: ../include/openssl/sha.h ../include/openssl/stack.h
|
||||||
rand.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
|
rand.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
|
||||||
|
rand.o: ../include/openssl/x509_vfy.h apps.h
|
||||||
req.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
req.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||||
req.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
req.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
||||||
req.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
req.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
||||||
req.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
req.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
req.o: ../include/openssl/des.h ../include/openssl/dh.h
|
req.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
req.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
req.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
req.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
req.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
req.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
req.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
req.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
req.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
req.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
req.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
req.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
req.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
req.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
req.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
req.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
req.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
req.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
req.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
|
req.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
req.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
req.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
req.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
req.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
req.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
req.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
@@ -635,14 +648,15 @@ rsa.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
rsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
rsa.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
rsa.o: ../include/openssl/des.h ../include/openssl/dh.h
|
rsa.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
rsa.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
rsa.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
rsa.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
rsa.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
rsa.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
rsa.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
rsa.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
rsa.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
rsa.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
rsa.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
rsa.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
rsa.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
rsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
rsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
rsa.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
rsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
rsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
rsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
|
rsa.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
rsa.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
rsa.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
rsa.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
rsa.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
rsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
rsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
@@ -655,14 +669,15 @@ rsautl.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
rsautl.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
rsautl.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
rsautl.o: ../include/openssl/des.h ../include/openssl/dh.h
|
rsautl.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
rsautl.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
rsautl.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
rsautl.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
rsautl.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
rsautl.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
rsautl.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
rsautl.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
rsautl.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
rsautl.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
rsautl.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
rsautl.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
rsautl.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
rsautl.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
rsautl.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
rsautl.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
rsautl.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
rsautl.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
rsautl.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
|
rsautl.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
rsautl.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
rsautl.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
rsautl.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
rsautl.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
rsautl.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
rsautl.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
@@ -699,23 +714,23 @@ s_client.o: ../include/openssl/comp.h ../include/openssl/conf.h
|
|||||||
s_client.o: ../include/openssl/crypto.h ../include/openssl/des.h
|
s_client.o: ../include/openssl/crypto.h ../include/openssl/des.h
|
||||||
s_client.o: ../include/openssl/dh.h ../include/openssl/dsa.h
|
s_client.o: ../include/openssl/dh.h ../include/openssl/dsa.h
|
||||||
s_client.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
|
s_client.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
|
||||||
s_client.o: ../include/openssl/err.h ../include/openssl/evp.h
|
s_client.o: ../include/openssl/engine.h ../include/openssl/err.h
|
||||||
s_client.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
s_client.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
||||||
s_client.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
s_client.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
||||||
s_client.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
s_client.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
||||||
s_client.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
s_client.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
||||||
s_client.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
s_client.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
||||||
s_client.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
s_client.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
||||||
s_client.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
s_client.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
||||||
s_client.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
s_client.o: ../include/openssl/rand.h ../include/openssl/rc2.h
|
||||||
s_client.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
s_client.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
||||||
s_client.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
s_client.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
||||||
s_client.o: ../include/openssl/sha.h ../include/openssl/ssl.h
|
s_client.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||||
s_client.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
|
s_client.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
|
||||||
s_client.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
|
s_client.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
|
||||||
s_client.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
|
s_client.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
|
||||||
s_client.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
|
s_client.o: ../include/openssl/tls1.h ../include/openssl/x509.h
|
||||||
s_client.o: s_apps.h
|
s_client.o: ../include/openssl/x509_vfy.h apps.h s_apps.h
|
||||||
s_server.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
s_server.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||||
s_server.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
s_server.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
||||||
s_server.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
s_server.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
||||||
@@ -723,23 +738,23 @@ s_server.o: ../include/openssl/comp.h ../include/openssl/conf.h
|
|||||||
s_server.o: ../include/openssl/crypto.h ../include/openssl/des.h
|
s_server.o: ../include/openssl/crypto.h ../include/openssl/des.h
|
||||||
s_server.o: ../include/openssl/dh.h ../include/openssl/dsa.h
|
s_server.o: ../include/openssl/dh.h ../include/openssl/dsa.h
|
||||||
s_server.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
|
s_server.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
|
||||||
s_server.o: ../include/openssl/err.h ../include/openssl/evp.h
|
s_server.o: ../include/openssl/engine.h ../include/openssl/err.h
|
||||||
s_server.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
s_server.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
||||||
s_server.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
s_server.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
||||||
s_server.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
s_server.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
||||||
s_server.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
s_server.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
||||||
s_server.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
s_server.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
||||||
s_server.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
s_server.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
||||||
s_server.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
s_server.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
||||||
s_server.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
s_server.o: ../include/openssl/rand.h ../include/openssl/rc2.h
|
||||||
s_server.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
s_server.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
||||||
s_server.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
s_server.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
||||||
s_server.o: ../include/openssl/sha.h ../include/openssl/ssl.h
|
s_server.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||||
s_server.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
|
s_server.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
|
||||||
s_server.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
|
s_server.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
|
||||||
s_server.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
|
s_server.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
|
||||||
s_server.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
|
s_server.o: ../include/openssl/tls1.h ../include/openssl/x509.h
|
||||||
s_server.o: s_apps.h
|
s_server.o: ../include/openssl/x509_vfy.h apps.h s_apps.h
|
||||||
s_socket.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
s_socket.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||||
s_socket.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
s_socket.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
||||||
s_socket.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
s_socket.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
||||||
@@ -815,14 +830,15 @@ smime.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
smime.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
smime.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
smime.o: ../include/openssl/des.h ../include/openssl/dh.h
|
smime.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
smime.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
smime.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
smime.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
smime.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
smime.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
smime.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
smime.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
smime.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
smime.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
smime.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
smime.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
smime.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
smime.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
smime.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
smime.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
smime.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
smime.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
smime.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
|
smime.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
smime.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
smime.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
smime.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
smime.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
smime.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
smime.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
@@ -835,34 +851,36 @@ speed.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
speed.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
speed.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
speed.o: ../include/openssl/des.h ../include/openssl/dh.h
|
speed.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
speed.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
speed.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
speed.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
speed.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
speed.o: ../include/openssl/evp.h ../include/openssl/hmac.h
|
speed.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
speed.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
speed.o: ../include/openssl/hmac.h ../include/openssl/idea.h
|
||||||
speed.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
speed.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
||||||
speed.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
speed.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
||||||
speed.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
speed.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
||||||
speed.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
speed.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
||||||
speed.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
speed.o: ../include/openssl/opensslv.h ../include/openssl/pkcs7.h
|
||||||
speed.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
speed.o: ../include/openssl/rand.h ../include/openssl/rc2.h
|
||||||
speed.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
speed.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
||||||
speed.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
speed.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
||||||
speed.o: ../include/openssl/sha.h ../include/openssl/stack.h
|
speed.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||||
speed.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
|
speed.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
|
||||||
speed.o: ../include/openssl/x509_vfy.h ./testdsa.h ./testrsa.h apps.h
|
speed.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ./testdsa.h
|
||||||
|
speed.o: ./testrsa.h apps.h
|
||||||
spkac.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
spkac.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||||
spkac.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
spkac.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
||||||
spkac.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
spkac.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
||||||
spkac.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
spkac.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
spkac.o: ../include/openssl/des.h ../include/openssl/dh.h
|
spkac.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
spkac.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
spkac.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
spkac.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
spkac.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
spkac.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
spkac.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
spkac.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
spkac.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
spkac.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
spkac.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
spkac.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
spkac.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
spkac.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
spkac.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
spkac.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
spkac.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
spkac.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
spkac.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
|
spkac.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
spkac.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
spkac.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
spkac.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
spkac.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
spkac.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
spkac.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
@@ -875,14 +893,15 @@ verify.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
verify.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
verify.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
verify.o: ../include/openssl/des.h ../include/openssl/dh.h
|
verify.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
verify.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
verify.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
verify.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
verify.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
verify.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
verify.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
verify.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
verify.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
verify.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
verify.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
verify.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
verify.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
verify.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
verify.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
verify.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
verify.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
verify.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
verify.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
|
verify.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
verify.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
verify.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
verify.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
verify.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
verify.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
verify.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
@@ -913,14 +932,15 @@ x509.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
|||||||
x509.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
x509.o: ../include/openssl/conf.h ../include/openssl/crypto.h
|
||||||
x509.o: ../include/openssl/des.h ../include/openssl/dh.h
|
x509.o: ../include/openssl/des.h ../include/openssl/dh.h
|
||||||
x509.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
x509.o: ../include/openssl/dsa.h ../include/openssl/e_os.h
|
||||||
x509.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
x509.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
|
||||||
x509.o: ../include/openssl/evp.h ../include/openssl/idea.h
|
x509.o: ../include/openssl/err.h ../include/openssl/evp.h
|
||||||
x509.o: ../include/openssl/lhash.h ../include/openssl/md2.h
|
x509.o: ../include/openssl/idea.h ../include/openssl/lhash.h
|
||||||
x509.o: ../include/openssl/md4.h ../include/openssl/md5.h
|
x509.o: ../include/openssl/md2.h ../include/openssl/md4.h
|
||||||
x509.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
x509.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
|
||||||
x509.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
x509.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
|
||||||
x509.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
x509.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
||||||
x509.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
x509.o: ../include/openssl/pem.h ../include/openssl/pem2.h
|
||||||
|
x509.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
|
||||||
x509.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
x509.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||||
x509.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
x509.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||||
x509.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
x509.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||||
|
|||||||
@@ -170,6 +170,8 @@ int str2fmt(char *s)
|
|||||||
|| (strcmp(s,"PKCS12") == 0) || (strcmp(s,"pkcs12") == 0)
|
|| (strcmp(s,"PKCS12") == 0) || (strcmp(s,"pkcs12") == 0)
|
||||||
|| (strcmp(s,"P12") == 0) || (strcmp(s,"p12") == 0))
|
|| (strcmp(s,"P12") == 0) || (strcmp(s,"p12") == 0))
|
||||||
return(FORMAT_PKCS12);
|
return(FORMAT_PKCS12);
|
||||||
|
else if ((*s == 'E') || (*s == 'e'))
|
||||||
|
return(FORMAT_ENGINE);
|
||||||
else
|
else
|
||||||
return(FORMAT_UNDEF);
|
return(FORMAT_UNDEF);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,10 +92,8 @@ int WIN32_rename(char *oldname,char *newname);
|
|||||||
#define MAIN(a,v) main(a,v)
|
#define MAIN(a,v) main(a,v)
|
||||||
|
|
||||||
#ifndef NON_MAIN
|
#ifndef NON_MAIN
|
||||||
LHASH *config=NULL;
|
|
||||||
BIO *bio_err=NULL;
|
BIO *bio_err=NULL;
|
||||||
#else
|
#else
|
||||||
extern LHASH *config;
|
|
||||||
extern BIO *bio_err;
|
extern BIO *bio_err;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -164,6 +162,8 @@ STACK_OF(X509) *load_certs(BIO *err, char *file, int format);
|
|||||||
#define FORMAT_NETSCAPE 4
|
#define FORMAT_NETSCAPE 4
|
||||||
#define FORMAT_PKCS12 5
|
#define FORMAT_PKCS12 5
|
||||||
#define FORMAT_SMIME 6
|
#define FORMAT_SMIME 6
|
||||||
|
/* Since this is currently inofficial, let's give it a high number */
|
||||||
|
#define FORMAT_ENGINE 127
|
||||||
|
|
||||||
#define NETSCAPE_CERT_HDR "certificate"
|
#define NETSCAPE_CERT_HDR "certificate"
|
||||||
|
|
||||||
|
|||||||
@@ -328,6 +328,6 @@ end:
|
|||||||
if (at != NULL) ASN1_TYPE_free(at);
|
if (at != NULL) ASN1_TYPE_free(at);
|
||||||
if (osk != NULL) sk_free(osk);
|
if (osk != NULL) sk_free(osk);
|
||||||
OBJ_cleanup();
|
OBJ_cleanup();
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
46
apps/ca.c
46
apps/ca.c
@@ -74,6 +74,7 @@
|
|||||||
#include <openssl/x509v3.h>
|
#include <openssl/x509v3.h>
|
||||||
#include <openssl/objects.h>
|
#include <openssl/objects.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#ifndef W_OK
|
#ifndef W_OK
|
||||||
# ifdef VMS
|
# ifdef VMS
|
||||||
@@ -167,6 +168,7 @@ static char *ca_usage[]={
|
|||||||
" -revoke file - Revoke a certificate (given in file)\n",
|
" -revoke file - Revoke a certificate (given in file)\n",
|
||||||
" -extensions .. - Extension section (override value in config file)\n",
|
" -extensions .. - Extension section (override value in config file)\n",
|
||||||
" -crlexts .. - CRL extension section (override value in config file)\n",
|
" -crlexts .. - CRL extension section (override value in config file)\n",
|
||||||
|
" -engine e - use engine e, possibly a hardware device.\n",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -216,6 +218,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
char *key=NULL,*passargin=NULL;
|
char *key=NULL,*passargin=NULL;
|
||||||
int total=0;
|
int total=0;
|
||||||
int total_done=0;
|
int total_done=0;
|
||||||
@@ -268,6 +271,7 @@ int MAIN(int argc, char **argv)
|
|||||||
#define BSIZE 256
|
#define BSIZE 256
|
||||||
MS_STATIC char buf[3][BSIZE];
|
MS_STATIC char buf[3][BSIZE];
|
||||||
char *randfile=NULL;
|
char *randfile=NULL;
|
||||||
|
char *engine = NULL;
|
||||||
|
|
||||||
#ifdef EFENCE
|
#ifdef EFENCE
|
||||||
EF_PROTECT_FREE=1;
|
EF_PROTECT_FREE=1;
|
||||||
@@ -419,6 +423,11 @@ EF_ALIGNMENT=0;
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
crl_ext= *(++argv);
|
crl_ext= *(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
bad:
|
bad:
|
||||||
@@ -439,6 +448,24 @@ bad:
|
|||||||
|
|
||||||
ERR_load_crypto_strings();
|
ERR_load_crypto_strings();
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************/
|
/*****************************************************************/
|
||||||
if (configfile == NULL) configfile = getenv("OPENSSL_CONF");
|
if (configfile == NULL) configfile = getenv("OPENSSL_CONF");
|
||||||
if (configfile == NULL) configfile = getenv("SSLEAY_CONF");
|
if (configfile == NULL) configfile = getenv("SSLEAY_CONF");
|
||||||
@@ -543,7 +570,7 @@ bad:
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
pkey=PEM_read_bio_PrivateKey(in,NULL,NULL,key);
|
pkey=PEM_read_bio_PrivateKey(in,NULL,NULL,key);
|
||||||
if(key) OPENSSL_cleanse(key,strlen(key));
|
if(key) memset(key,0,strlen(key));
|
||||||
if (pkey == NULL)
|
if (pkey == NULL)
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err,"unable to load CA private key\n");
|
BIO_printf(bio_err,"unable to load CA private key\n");
|
||||||
@@ -606,14 +633,12 @@ bad:
|
|||||||
that to access(). However, time's too short to do that just
|
that to access(). However, time's too short to do that just
|
||||||
now.
|
now.
|
||||||
*/
|
*/
|
||||||
#ifndef VXWORKS
|
|
||||||
if (access(outdir,R_OK|W_OK|X_OK) != 0)
|
if (access(outdir,R_OK|W_OK|X_OK) != 0)
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err,"I am unable to access the %s directory\n",outdir);
|
BIO_printf(bio_err,"I am unable to access the %s directory\n",outdir);
|
||||||
perror(outdir);
|
perror(outdir);
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
if (stat(outdir,&sb) != 0)
|
if (stat(outdir,&sb) != 0)
|
||||||
{
|
{
|
||||||
@@ -830,16 +855,11 @@ bad:
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
if (verbose)
|
if (verbose)
|
||||||
{
|
|
||||||
if (BN_is_zero(serial))
|
|
||||||
BIO_printf(bio_err,"next serial number is 00\n");
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
if ((f=BN_bn2hex(serial)) == NULL) goto err;
|
if ((f=BN_bn2hex(serial)) == NULL) goto err;
|
||||||
BIO_printf(bio_err,"next serial number is %s\n",f);
|
BIO_printf(bio_err,"next serial number is %s\n",f);
|
||||||
OPENSSL_free(f);
|
OPENSSL_free(f);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if ((attribs=CONF_get_section(conf,policy)) == NULL)
|
if ((attribs=CONF_get_section(conf,policy)) == NULL)
|
||||||
{
|
{
|
||||||
@@ -1282,7 +1302,7 @@ err:
|
|||||||
X509_CRL_free(crl);
|
X509_CRL_free(crl);
|
||||||
CONF_free(conf);
|
CONF_free(conf);
|
||||||
OBJ_cleanup();
|
OBJ_cleanup();
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lookup_fail(char *name, char *tag)
|
static void lookup_fail(char *name, char *tag)
|
||||||
@@ -1347,7 +1367,7 @@ static BIGNUM *load_serial(char *serialfile)
|
|||||||
ret=ASN1_INTEGER_to_BN(ai,NULL);
|
ret=ASN1_INTEGER_to_BN(ai,NULL);
|
||||||
if (ret == NULL)
|
if (ret == NULL)
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err,"error converting number from bin to BIGNUM\n");
|
BIO_printf(bio_err,"error converting number from bin to BIGNUM");
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
err:
|
err:
|
||||||
@@ -1735,9 +1755,6 @@ again2:
|
|||||||
BIO_printf(bio_err,"The subject name appears to be ok, checking data base for clashes\n");
|
BIO_printf(bio_err,"The subject name appears to be ok, checking data base for clashes\n");
|
||||||
|
|
||||||
row[DB_name]=X509_NAME_oneline(subject,NULL,0);
|
row[DB_name]=X509_NAME_oneline(subject,NULL,0);
|
||||||
if (BN_is_zero(serial))
|
|
||||||
row[DB_serial]=BUF_strdup("00");
|
|
||||||
else
|
|
||||||
row[DB_serial]=BN_bn2hex(serial);
|
row[DB_serial]=BN_bn2hex(serial);
|
||||||
if ((row[DB_name] == NULL) || (row[DB_serial] == NULL))
|
if ((row[DB_name] == NULL) || (row[DB_serial] == NULL))
|
||||||
{
|
{
|
||||||
@@ -2152,9 +2169,6 @@ static int do_revoke(X509 *x509, TXT_DB *db)
|
|||||||
row[i]=NULL;
|
row[i]=NULL;
|
||||||
row[DB_name]=X509_NAME_oneline(X509_get_subject_name(x509),NULL,0);
|
row[DB_name]=X509_NAME_oneline(X509_get_subject_name(x509),NULL,0);
|
||||||
bn = ASN1_INTEGER_to_BN(X509_get_serialNumber(x509),NULL);
|
bn = ASN1_INTEGER_to_BN(X509_get_serialNumber(x509),NULL);
|
||||||
if (BN_is_zero(bn))
|
|
||||||
row[DB_serial]=BUF_strdup("00");
|
|
||||||
else
|
|
||||||
row[DB_serial]=BN_bn2hex(bn);
|
row[DB_serial]=BN_bn2hex(bn);
|
||||||
BN_free(bn);
|
BN_free(bn);
|
||||||
if ((row[DB_name] == NULL) || (row[DB_serial] == NULL))
|
if ((row[DB_name] == NULL) || (row[DB_serial] == NULL))
|
||||||
|
|||||||
@@ -202,6 +202,6 @@ end:
|
|||||||
if (ctx != NULL) SSL_CTX_free(ctx);
|
if (ctx != NULL) SSL_CTX_free(ctx);
|
||||||
if (ssl != NULL) SSL_free(ssl);
|
if (ssl != NULL) SSL_free(ssl);
|
||||||
if (STDout != NULL) BIO_free_all(STDout);
|
if (STDout != NULL) BIO_free_all(STDout);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -364,7 +364,7 @@ end:
|
|||||||
X509_STORE_CTX_cleanup(&ctx);
|
X509_STORE_CTX_cleanup(&ctx);
|
||||||
X509_STORE_free(store);
|
X509_STORE_free(store);
|
||||||
}
|
}
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static X509_CRL *load_crl(char *infile, int format)
|
static X509_CRL *load_crl(char *infile, int format)
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ bad:
|
|||||||
BIO_printf(bio_err," -certfile arg certificates file of chain to a trusted CA\n");
|
BIO_printf(bio_err," -certfile arg certificates file of chain to a trusted CA\n");
|
||||||
BIO_printf(bio_err," (can be used more than once)\n");
|
BIO_printf(bio_err," (can be used more than once)\n");
|
||||||
BIO_printf(bio_err," -nocrl no crl to load, just certs from '-certfile'\n");
|
BIO_printf(bio_err," -nocrl no crl to load, just certs from '-certfile'\n");
|
||||||
OPENSSL_EXIT(1);
|
EXIT(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
ERR_load_crypto_strings();
|
ERR_load_crypto_strings();
|
||||||
@@ -278,7 +278,7 @@ end:
|
|||||||
if (p7 != NULL) PKCS7_free(p7);
|
if (p7 != NULL) PKCS7_free(p7);
|
||||||
if (crl != NULL) X509_CRL_free(crl);
|
if (crl != NULL) X509_CRL_free(crl);
|
||||||
|
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
31
apps/dgst.c
31
apps/dgst.c
@@ -66,6 +66,7 @@
|
|||||||
#include <openssl/objects.h>
|
#include <openssl/objects.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#undef BUFSIZE
|
#undef BUFSIZE
|
||||||
#define BUFSIZE 1024*8
|
#define BUFSIZE 1024*8
|
||||||
@@ -80,6 +81,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
unsigned char *buf=NULL;
|
unsigned char *buf=NULL;
|
||||||
int i,err=0;
|
int i,err=0;
|
||||||
const EVP_MD *md=NULL,*m;
|
const EVP_MD *md=NULL,*m;
|
||||||
@@ -97,6 +99,7 @@ int MAIN(int argc, char **argv)
|
|||||||
EVP_PKEY *sigkey = NULL;
|
EVP_PKEY *sigkey = NULL;
|
||||||
unsigned char *sigbuf = NULL;
|
unsigned char *sigbuf = NULL;
|
||||||
int siglen = 0;
|
int siglen = 0;
|
||||||
|
char *engine=NULL;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
|
|
||||||
@@ -154,6 +157,11 @@ int MAIN(int argc, char **argv)
|
|||||||
if (--argc < 1) break;
|
if (--argc < 1) break;
|
||||||
sigfile=*(++argv);
|
sigfile=*(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) break;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-hex") == 0)
|
else if (strcmp(*argv,"-hex") == 0)
|
||||||
out_bin = 0;
|
out_bin = 0;
|
||||||
else if (strcmp(*argv,"-binary") == 0)
|
else if (strcmp(*argv,"-binary") == 0)
|
||||||
@@ -190,6 +198,7 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO_printf(bio_err,"-prverify file verify a signature using private key in file\n");
|
BIO_printf(bio_err,"-prverify file verify a signature using private key in file\n");
|
||||||
BIO_printf(bio_err,"-signature file signature to verify\n");
|
BIO_printf(bio_err,"-signature file signature to verify\n");
|
||||||
BIO_printf(bio_err,"-binary output in binary form\n");
|
BIO_printf(bio_err,"-binary output in binary form\n");
|
||||||
|
BIO_printf(bio_err,"-engine e use engine e, possibly a hardware device.\n");
|
||||||
|
|
||||||
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm (default)\n",
|
BIO_printf(bio_err,"-%3s to use the %s message digest algorithm (default)\n",
|
||||||
LN_md5,LN_md5);
|
LN_md5,LN_md5);
|
||||||
@@ -209,6 +218,24 @@ int MAIN(int argc, char **argv)
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
in=BIO_new(BIO_s_file());
|
in=BIO_new(BIO_s_file());
|
||||||
bmd=BIO_new(BIO_f_md());
|
bmd=BIO_new(BIO_f_md());
|
||||||
if (debug)
|
if (debug)
|
||||||
@@ -327,7 +354,7 @@ int MAIN(int argc, char **argv)
|
|||||||
end:
|
end:
|
||||||
if (buf != NULL)
|
if (buf != NULL)
|
||||||
{
|
{
|
||||||
OPENSSL_cleanse(buf,BUFSIZE);
|
memset(buf,0,BUFSIZE);
|
||||||
OPENSSL_free(buf);
|
OPENSSL_free(buf);
|
||||||
}
|
}
|
||||||
if (in != NULL) BIO_free(in);
|
if (in != NULL) BIO_free(in);
|
||||||
@@ -335,7 +362,7 @@ end:
|
|||||||
EVP_PKEY_free(sigkey);
|
EVP_PKEY_free(sigkey);
|
||||||
if(sigbuf) OPENSSL_free(sigbuf);
|
if(sigbuf) OPENSSL_free(sigbuf);
|
||||||
if (bmd != NULL) BIO_free(bmd);
|
if (bmd != NULL) BIO_free(bmd);
|
||||||
OPENSSL_EXIT(err);
|
EXIT(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
void do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
|
void do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
|
||||||
|
|||||||
31
apps/dh.c
31
apps/dh.c
@@ -69,6 +69,7 @@
|
|||||||
#include <openssl/dh.h>
|
#include <openssl/dh.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#undef PROG
|
#undef PROG
|
||||||
#define PROG dh_main
|
#define PROG dh_main
|
||||||
@@ -87,11 +88,12 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
DH *dh=NULL;
|
DH *dh=NULL;
|
||||||
int i,badops=0,text=0;
|
int i,badops=0,text=0;
|
||||||
BIO *in=NULL,*out=NULL;
|
BIO *in=NULL,*out=NULL;
|
||||||
int informat,outformat,check=0,noout=0,C=0,ret=1;
|
int informat,outformat,check=0,noout=0,C=0,ret=1;
|
||||||
char *infile,*outfile,*prog;
|
char *infile,*outfile,*prog,*engine;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
|
|
||||||
@@ -99,6 +101,7 @@ int MAIN(int argc, char **argv)
|
|||||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||||
|
|
||||||
|
engine=NULL;
|
||||||
infile=NULL;
|
infile=NULL;
|
||||||
outfile=NULL;
|
outfile=NULL;
|
||||||
informat=FORMAT_PEM;
|
informat=FORMAT_PEM;
|
||||||
@@ -129,6 +132,11 @@ int MAIN(int argc, char **argv)
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
outfile= *(++argv);
|
outfile= *(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-check") == 0)
|
else if (strcmp(*argv,"-check") == 0)
|
||||||
check=1;
|
check=1;
|
||||||
else if (strcmp(*argv,"-text") == 0)
|
else if (strcmp(*argv,"-text") == 0)
|
||||||
@@ -160,11 +168,30 @@ bad:
|
|||||||
BIO_printf(bio_err," -text print a text form of the DH parameters\n");
|
BIO_printf(bio_err," -text print a text form of the DH parameters\n");
|
||||||
BIO_printf(bio_err," -C Output C code\n");
|
BIO_printf(bio_err," -C Output C code\n");
|
||||||
BIO_printf(bio_err," -noout no output\n");
|
BIO_printf(bio_err," -noout no output\n");
|
||||||
|
BIO_printf(bio_err," -engine e use engine e, possibly a hardware device.\n");
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
ERR_load_crypto_strings();
|
ERR_load_crypto_strings();
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
in=BIO_new(BIO_s_file());
|
in=BIO_new(BIO_s_file());
|
||||||
out=BIO_new(BIO_s_file());
|
out=BIO_new(BIO_s_file());
|
||||||
if ((in == NULL) || (out == NULL))
|
if ((in == NULL) || (out == NULL))
|
||||||
@@ -319,6 +346,6 @@ end:
|
|||||||
if (in != NULL) BIO_free(in);
|
if (in != NULL) BIO_free(in);
|
||||||
if (out != NULL) BIO_free_all(out);
|
if (out != NULL) BIO_free_all(out);
|
||||||
if (dh != NULL) DH_free(dh);
|
if (dh != NULL) DH_free(dh);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -121,6 +121,7 @@
|
|||||||
#include <openssl/dh.h>
|
#include <openssl/dh.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#ifndef NO_DSA
|
#ifndef NO_DSA
|
||||||
#include <openssl/dsa.h>
|
#include <openssl/dsa.h>
|
||||||
@@ -148,6 +149,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
DH *dh=NULL;
|
DH *dh=NULL;
|
||||||
int i,badops=0,text=0;
|
int i,badops=0,text=0;
|
||||||
#ifndef NO_DSA
|
#ifndef NO_DSA
|
||||||
@@ -156,7 +158,7 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO *in=NULL,*out=NULL;
|
BIO *in=NULL,*out=NULL;
|
||||||
int informat,outformat,check=0,noout=0,C=0,ret=1;
|
int informat,outformat,check=0,noout=0,C=0,ret=1;
|
||||||
char *infile,*outfile,*prog;
|
char *infile,*outfile,*prog;
|
||||||
char *inrand=NULL;
|
char *inrand=NULL,*engine=NULL;
|
||||||
int num = 0, g = 0;
|
int num = 0, g = 0;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
@@ -195,6 +197,11 @@ int MAIN(int argc, char **argv)
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
outfile= *(++argv);
|
outfile= *(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-check") == 0)
|
else if (strcmp(*argv,"-check") == 0)
|
||||||
check=1;
|
check=1;
|
||||||
else if (strcmp(*argv,"-text") == 0)
|
else if (strcmp(*argv,"-text") == 0)
|
||||||
@@ -240,6 +247,7 @@ bad:
|
|||||||
BIO_printf(bio_err," -2 generate parameters using 2 as the generator value\n");
|
BIO_printf(bio_err," -2 generate parameters using 2 as the generator value\n");
|
||||||
BIO_printf(bio_err," -5 generate parameters using 5 as the generator value\n");
|
BIO_printf(bio_err," -5 generate parameters using 5 as the generator value\n");
|
||||||
BIO_printf(bio_err," numbits number of bits in to generate (default 512)\n");
|
BIO_printf(bio_err," numbits number of bits in to generate (default 512)\n");
|
||||||
|
BIO_printf(bio_err," -engine e use engine e, possibly a hardware device.\n");
|
||||||
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
||||||
BIO_printf(bio_err," - load the file (or the files in the directory) into\n");
|
BIO_printf(bio_err," - load the file (or the files in the directory) into\n");
|
||||||
BIO_printf(bio_err," the random number generator\n");
|
BIO_printf(bio_err," the random number generator\n");
|
||||||
@@ -249,6 +257,24 @@ bad:
|
|||||||
|
|
||||||
ERR_load_crypto_strings();
|
ERR_load_crypto_strings();
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
if (g && !num)
|
if (g && !num)
|
||||||
num = DEFBITS;
|
num = DEFBITS;
|
||||||
|
|
||||||
@@ -506,7 +532,7 @@ end:
|
|||||||
if (in != NULL) BIO_free(in);
|
if (in != NULL) BIO_free(in);
|
||||||
if (out != NULL) BIO_free_all(out);
|
if (out != NULL) BIO_free_all(out);
|
||||||
if (dh != NULL) DH_free(dh);
|
if (dh != NULL) DH_free(dh);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* dh_cb is identical to dsa_cb in apps/dsaparam.c */
|
/* dh_cb is identical to dsa_cb in apps/dsaparam.c */
|
||||||
|
|||||||
31
apps/dsa.c
31
apps/dsa.c
@@ -68,6 +68,7 @@
|
|||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#undef PROG
|
#undef PROG
|
||||||
#define PROG dsa_main
|
#define PROG dsa_main
|
||||||
@@ -87,6 +88,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
int ret=1;
|
int ret=1;
|
||||||
DSA *dsa=NULL;
|
DSA *dsa=NULL;
|
||||||
int i,badops=0;
|
int i,badops=0;
|
||||||
@@ -94,7 +96,7 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO *in=NULL,*out=NULL;
|
BIO *in=NULL,*out=NULL;
|
||||||
int informat,outformat,text=0,noout=0;
|
int informat,outformat,text=0,noout=0;
|
||||||
int pubin = 0, pubout = 0;
|
int pubin = 0, pubout = 0;
|
||||||
char *infile,*outfile,*prog;
|
char *infile,*outfile,*prog,*engine;
|
||||||
char *passargin = NULL, *passargout = NULL;
|
char *passargin = NULL, *passargout = NULL;
|
||||||
char *passin = NULL, *passout = NULL;
|
char *passin = NULL, *passout = NULL;
|
||||||
int modulus=0;
|
int modulus=0;
|
||||||
@@ -105,6 +107,7 @@ int MAIN(int argc, char **argv)
|
|||||||
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
if ((bio_err=BIO_new(BIO_s_file())) != NULL)
|
||||||
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
|
||||||
|
|
||||||
|
engine=NULL;
|
||||||
infile=NULL;
|
infile=NULL;
|
||||||
outfile=NULL;
|
outfile=NULL;
|
||||||
informat=FORMAT_PEM;
|
informat=FORMAT_PEM;
|
||||||
@@ -145,6 +148,11 @@ int MAIN(int argc, char **argv)
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
passargout= *(++argv);
|
passargout= *(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-noout") == 0)
|
else if (strcmp(*argv,"-noout") == 0)
|
||||||
noout=1;
|
noout=1;
|
||||||
else if (strcmp(*argv,"-text") == 0)
|
else if (strcmp(*argv,"-text") == 0)
|
||||||
@@ -176,6 +184,7 @@ bad:
|
|||||||
BIO_printf(bio_err," -passin arg input file pass phrase source\n");
|
BIO_printf(bio_err," -passin arg input file pass phrase source\n");
|
||||||
BIO_printf(bio_err," -out arg output file\n");
|
BIO_printf(bio_err," -out arg output file\n");
|
||||||
BIO_printf(bio_err," -passout arg output file pass phrase source\n");
|
BIO_printf(bio_err," -passout arg output file pass phrase source\n");
|
||||||
|
BIO_printf(bio_err," -engine e use engine e, possibly a hardware device.\n");
|
||||||
BIO_printf(bio_err," -des encrypt PEM output with cbc des\n");
|
BIO_printf(bio_err," -des encrypt PEM output with cbc des\n");
|
||||||
BIO_printf(bio_err," -des3 encrypt PEM output with ede cbc des using 168 bit key\n");
|
BIO_printf(bio_err," -des3 encrypt PEM output with ede cbc des using 168 bit key\n");
|
||||||
#ifndef NO_IDEA
|
#ifndef NO_IDEA
|
||||||
@@ -189,6 +198,24 @@ bad:
|
|||||||
|
|
||||||
ERR_load_crypto_strings();
|
ERR_load_crypto_strings();
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
if(!app_passwd(bio_err, passargin, passargout, &passin, &passout)) {
|
if(!app_passwd(bio_err, passargin, passargout, &passin, &passout)) {
|
||||||
BIO_printf(bio_err, "Error getting passwords\n");
|
BIO_printf(bio_err, "Error getting passwords\n");
|
||||||
goto end;
|
goto end;
|
||||||
@@ -293,6 +320,6 @@ end:
|
|||||||
if(dsa != NULL) DSA_free(dsa);
|
if(dsa != NULL) DSA_free(dsa);
|
||||||
if(passin) OPENSSL_free(passin);
|
if(passin) OPENSSL_free(passin);
|
||||||
if(passout) OPENSSL_free(passout);
|
if(passout) OPENSSL_free(passout);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -357,7 +357,7 @@ end:
|
|||||||
if (in != NULL) BIO_free(in);
|
if (in != NULL) BIO_free(in);
|
||||||
if (out != NULL) BIO_free_all(out);
|
if (out != NULL) BIO_free_all(out);
|
||||||
if (dsa != NULL) DSA_free(dsa);
|
if (dsa != NULL) DSA_free(dsa);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void MS_CALLBACK dsa_cb(int p, int n, void *arg)
|
static void MS_CALLBACK dsa_cb(int p, int n, void *arg)
|
||||||
|
|||||||
33
apps/enc.c
33
apps/enc.c
@@ -70,6 +70,7 @@
|
|||||||
#include <openssl/md5.h>
|
#include <openssl/md5.h>
|
||||||
#endif
|
#endif
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
int set_hex(char *in,unsigned char *out,int size);
|
int set_hex(char *in,unsigned char *out,int size);
|
||||||
#undef SIZE
|
#undef SIZE
|
||||||
@@ -84,6 +85,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
static const char magic[]="Salted__";
|
static const char magic[]="Salted__";
|
||||||
char mbuf[8]; /* should be 1 smaller than magic */
|
char mbuf[8]; /* should be 1 smaller than magic */
|
||||||
char *strbuf=NULL;
|
char *strbuf=NULL;
|
||||||
@@ -101,6 +103,7 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO *in=NULL,*out=NULL,*b64=NULL,*benc=NULL,*rbio=NULL,*wbio=NULL;
|
BIO *in=NULL,*out=NULL,*b64=NULL,*benc=NULL,*rbio=NULL,*wbio=NULL;
|
||||||
#define PROG_NAME_SIZE 39
|
#define PROG_NAME_SIZE 39
|
||||||
char pname[PROG_NAME_SIZE+1];
|
char pname[PROG_NAME_SIZE+1];
|
||||||
|
char *engine = NULL;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
|
|
||||||
@@ -141,6 +144,11 @@ int MAIN(int argc, char **argv)
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
passarg= *(++argv);
|
passarg= *(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-d") == 0)
|
else if (strcmp(*argv,"-d") == 0)
|
||||||
enc=0;
|
enc=0;
|
||||||
else if (strcmp(*argv,"-p") == 0)
|
else if (strcmp(*argv,"-p") == 0)
|
||||||
@@ -241,6 +249,7 @@ bad:
|
|||||||
BIO_printf(bio_err,"%-14s key/iv in hex is the next argument\n","-K/-iv");
|
BIO_printf(bio_err,"%-14s key/iv in hex is the next argument\n","-K/-iv");
|
||||||
BIO_printf(bio_err,"%-14s print the iv/key (then exit if -P)\n","-[pP]");
|
BIO_printf(bio_err,"%-14s print the iv/key (then exit if -P)\n","-[pP]");
|
||||||
BIO_printf(bio_err,"%-14s buffer size\n","-bufsize <n>");
|
BIO_printf(bio_err,"%-14s buffer size\n","-bufsize <n>");
|
||||||
|
BIO_printf(bio_err,"%-14s use engine e, possibly a hardware device.\n","-engine e");
|
||||||
|
|
||||||
BIO_printf(bio_err,"Cipher Types\n");
|
BIO_printf(bio_err,"Cipher Types\n");
|
||||||
BIO_printf(bio_err,"des : 56 bit key DES encryption\n");
|
BIO_printf(bio_err,"des : 56 bit key DES encryption\n");
|
||||||
@@ -314,6 +323,24 @@ bad:
|
|||||||
argv++;
|
argv++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
if (bufsize != NULL)
|
if (bufsize != NULL)
|
||||||
{
|
{
|
||||||
unsigned long n;
|
unsigned long n;
|
||||||
@@ -506,9 +533,9 @@ bad:
|
|||||||
* bug picked up by
|
* bug picked up by
|
||||||
* Larry J. Hughes Jr. <hughes@indiana.edu> */
|
* Larry J. Hughes Jr. <hughes@indiana.edu> */
|
||||||
if (str == strbuf)
|
if (str == strbuf)
|
||||||
OPENSSL_cleanse(str,SIZE);
|
memset(str,0,SIZE);
|
||||||
else
|
else
|
||||||
OPENSSL_cleanse(str,strlen(str));
|
memset(str,0,strlen(str));
|
||||||
}
|
}
|
||||||
if ((hiv != NULL) && !set_hex(hiv,iv,8))
|
if ((hiv != NULL) && !set_hex(hiv,iv,8))
|
||||||
{
|
{
|
||||||
@@ -604,7 +631,7 @@ end:
|
|||||||
if (benc != NULL) BIO_free(benc);
|
if (benc != NULL) BIO_free(benc);
|
||||||
if (b64 != NULL) BIO_free(b64);
|
if (b64 != NULL) BIO_free(b64);
|
||||||
if(pass) OPENSSL_free(pass);
|
if(pass) OPENSSL_free(pass);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
int set_hex(char *in, unsigned char *out, int size)
|
int set_hex(char *in, unsigned char *out, int size)
|
||||||
|
|||||||
@@ -121,5 +121,5 @@ int MAIN(int argc, char **argv)
|
|||||||
ret++;
|
ret++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|||||||
35
apps/gendh.c
35
apps/gendh.c
@@ -70,6 +70,7 @@
|
|||||||
#include <openssl/dh.h>
|
#include <openssl/dh.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#define DEFBITS 512
|
#define DEFBITS 512
|
||||||
#undef PROG
|
#undef PROG
|
||||||
@@ -81,11 +82,13 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
DH *dh=NULL;
|
DH *dh=NULL;
|
||||||
int ret=1,num=DEFBITS;
|
int ret=1,num=DEFBITS;
|
||||||
int g=2;
|
int g=2;
|
||||||
char *outfile=NULL;
|
char *outfile=NULL;
|
||||||
char *inrand=NULL;
|
char *inrand=NULL;
|
||||||
|
char *engine=NULL;
|
||||||
BIO *out=NULL;
|
BIO *out=NULL;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
@@ -110,6 +113,11 @@ int MAIN(int argc, char **argv)
|
|||||||
g=3; */
|
g=3; */
|
||||||
else if (strcmp(*argv,"-5") == 0)
|
else if (strcmp(*argv,"-5") == 0)
|
||||||
g=5;
|
g=5;
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-rand") == 0)
|
else if (strcmp(*argv,"-rand") == 0)
|
||||||
{
|
{
|
||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
@@ -125,15 +133,34 @@ int MAIN(int argc, char **argv)
|
|||||||
bad:
|
bad:
|
||||||
BIO_printf(bio_err,"usage: gendh [args] [numbits]\n");
|
BIO_printf(bio_err,"usage: gendh [args] [numbits]\n");
|
||||||
BIO_printf(bio_err," -out file - output the key to 'file\n");
|
BIO_printf(bio_err," -out file - output the key to 'file\n");
|
||||||
BIO_printf(bio_err," -2 use 2 as the generator value\n");
|
BIO_printf(bio_err," -2 - use 2 as the generator value\n");
|
||||||
/* BIO_printf(bio_err," -3 use 3 as the generator value\n"); */
|
/* BIO_printf(bio_err," -3 - use 3 as the generator value\n"); */
|
||||||
BIO_printf(bio_err," -5 use 5 as the generator value\n");
|
BIO_printf(bio_err," -5 - use 5 as the generator value\n");
|
||||||
|
BIO_printf(bio_err," -engine e - use engine e, possibly a hardware device.\n");
|
||||||
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
||||||
BIO_printf(bio_err," - load the file (or the files in the directory) into\n");
|
BIO_printf(bio_err," - load the file (or the files in the directory) into\n");
|
||||||
BIO_printf(bio_err," the random number generator\n");
|
BIO_printf(bio_err," the random number generator\n");
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
out=BIO_new(BIO_s_file());
|
out=BIO_new(BIO_s_file());
|
||||||
if (out == NULL)
|
if (out == NULL)
|
||||||
{
|
{
|
||||||
@@ -184,7 +211,7 @@ end:
|
|||||||
ERR_print_errors(bio_err);
|
ERR_print_errors(bio_err);
|
||||||
if (out != NULL) BIO_free_all(out);
|
if (out != NULL) BIO_free_all(out);
|
||||||
if (dh != NULL) DH_free(dh);
|
if (dh != NULL) DH_free(dh);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void MS_CALLBACK dh_cb(int p, int n, void *arg)
|
static void MS_CALLBACK dh_cb(int p, int n, void *arg)
|
||||||
|
|||||||
@@ -68,6 +68,7 @@
|
|||||||
#include <openssl/dsa.h>
|
#include <openssl/dsa.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#define DEFBITS 512
|
#define DEFBITS 512
|
||||||
#undef PROG
|
#undef PROG
|
||||||
@@ -77,6 +78,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
DSA *dsa=NULL;
|
DSA *dsa=NULL;
|
||||||
int ret=1;
|
int ret=1;
|
||||||
char *outfile=NULL;
|
char *outfile=NULL;
|
||||||
@@ -84,6 +86,7 @@ int MAIN(int argc, char **argv)
|
|||||||
char *passargout = NULL, *passout = NULL;
|
char *passargout = NULL, *passout = NULL;
|
||||||
BIO *out=NULL,*in=NULL;
|
BIO *out=NULL,*in=NULL;
|
||||||
EVP_CIPHER *enc=NULL;
|
EVP_CIPHER *enc=NULL;
|
||||||
|
char *engine=NULL;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
|
|
||||||
@@ -106,6 +109,11 @@ int MAIN(int argc, char **argv)
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
passargout= *(++argv);
|
passargout= *(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-rand") == 0)
|
else if (strcmp(*argv,"-rand") == 0)
|
||||||
{
|
{
|
||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
@@ -145,6 +153,7 @@ bad:
|
|||||||
#ifndef NO_IDEA
|
#ifndef NO_IDEA
|
||||||
BIO_printf(bio_err," -idea - encrypt the generated key with IDEA in cbc mode\n");
|
BIO_printf(bio_err," -idea - encrypt the generated key with IDEA in cbc mode\n");
|
||||||
#endif
|
#endif
|
||||||
|
BIO_printf(bio_err," -engine e - use engine e, possibly a hardware device.\n");
|
||||||
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
||||||
BIO_printf(bio_err," - load the file (or the files in the directory) into\n");
|
BIO_printf(bio_err," - load the file (or the files in the directory) into\n");
|
||||||
BIO_printf(bio_err," the random number generator\n");
|
BIO_printf(bio_err," the random number generator\n");
|
||||||
@@ -153,6 +162,24 @@ bad:
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
if(!app_passwd(bio_err, NULL, passargout, NULL, &passout)) {
|
if(!app_passwd(bio_err, NULL, passargout, NULL, &passout)) {
|
||||||
BIO_printf(bio_err, "Error getting password\n");
|
BIO_printf(bio_err, "Error getting password\n");
|
||||||
goto end;
|
goto end;
|
||||||
@@ -220,6 +247,6 @@ end:
|
|||||||
if (out != NULL) BIO_free_all(out);
|
if (out != NULL) BIO_free_all(out);
|
||||||
if (dsa != NULL) DSA_free(dsa);
|
if (dsa != NULL) DSA_free(dsa);
|
||||||
if(passout) OPENSSL_free(passout);
|
if(passout) OPENSSL_free(passout);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -69,6 +69,7 @@
|
|||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#define DEFBITS 512
|
#define DEFBITS 512
|
||||||
#undef PROG
|
#undef PROG
|
||||||
@@ -80,6 +81,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
int ret=1;
|
int ret=1;
|
||||||
RSA *rsa=NULL;
|
RSA *rsa=NULL;
|
||||||
int i,num=DEFBITS;
|
int i,num=DEFBITS;
|
||||||
@@ -88,6 +90,7 @@ int MAIN(int argc, char **argv)
|
|||||||
unsigned long f4=RSA_F4;
|
unsigned long f4=RSA_F4;
|
||||||
char *outfile=NULL;
|
char *outfile=NULL;
|
||||||
char *passargout = NULL, *passout = NULL;
|
char *passargout = NULL, *passout = NULL;
|
||||||
|
char *engine=NULL;
|
||||||
char *inrand=NULL;
|
char *inrand=NULL;
|
||||||
BIO *out=NULL;
|
BIO *out=NULL;
|
||||||
|
|
||||||
@@ -116,6 +119,11 @@ int MAIN(int argc, char **argv)
|
|||||||
f4=3;
|
f4=3;
|
||||||
else if (strcmp(*argv,"-F4") == 0 || strcmp(*argv,"-f4") == 0)
|
else if (strcmp(*argv,"-F4") == 0 || strcmp(*argv,"-f4") == 0)
|
||||||
f4=RSA_F4;
|
f4=RSA_F4;
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-rand") == 0)
|
else if (strcmp(*argv,"-rand") == 0)
|
||||||
{
|
{
|
||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
@@ -154,6 +162,7 @@ bad:
|
|||||||
BIO_printf(bio_err," -passout arg output file pass phrase source\n");
|
BIO_printf(bio_err," -passout arg output file pass phrase source\n");
|
||||||
BIO_printf(bio_err," -f4 use F4 (0x10001) for the E value\n");
|
BIO_printf(bio_err," -f4 use F4 (0x10001) for the E value\n");
|
||||||
BIO_printf(bio_err," -3 use 3 for the E value\n");
|
BIO_printf(bio_err," -3 use 3 for the E value\n");
|
||||||
|
BIO_printf(bio_err," -engine e use engine e, possibly a hardware device.\n");
|
||||||
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
||||||
BIO_printf(bio_err," load the file (or the files in the directory) into\n");
|
BIO_printf(bio_err," load the file (or the files in the directory) into\n");
|
||||||
BIO_printf(bio_err," the random number generator\n");
|
BIO_printf(bio_err," the random number generator\n");
|
||||||
@@ -167,6 +176,24 @@ bad:
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
if (outfile == NULL)
|
if (outfile == NULL)
|
||||||
{
|
{
|
||||||
BIO_set_fp(out,stdout,BIO_NOCLOSE);
|
BIO_set_fp(out,stdout,BIO_NOCLOSE);
|
||||||
@@ -186,7 +213,8 @@ bad:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!app_RAND_load_file(NULL, bio_err, 1) && inrand == NULL)
|
if (!app_RAND_load_file(NULL, bio_err, 1) && inrand == NULL
|
||||||
|
&& !RAND_status())
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err,"warning, not much extra random data, consider using the -rand option\n");
|
BIO_printf(bio_err,"warning, not much extra random data, consider using the -rand option\n");
|
||||||
}
|
}
|
||||||
@@ -224,7 +252,7 @@ err:
|
|||||||
if(passout) OPENSSL_free(passout);
|
if(passout) OPENSSL_free(passout);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
ERR_print_errors(bio_err);
|
ERR_print_errors(bio_err);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void MS_CALLBACK genrsa_cb(int p, int n, void *arg)
|
static void MS_CALLBACK genrsa_cb(int p, int n, void *arg)
|
||||||
|
|||||||
@@ -1077,7 +1077,7 @@ $ CC = CC + "/DEFINE=(" + CCDEFS + ")" + CCDISABLEWARNINGS
|
|||||||
$!
|
$!
|
||||||
$! Show user the result
|
$! Show user the result
|
||||||
$!
|
$!
|
||||||
$ WRITE/SYMBOL SYS$OUTPUT "Main Compiling Command: ",CC
|
$ WRITE SYS$OUTPUT "Main Compiling Command: ",CC
|
||||||
$!
|
$!
|
||||||
$! Special Threads For OpenVMS v7.1 Or Later
|
$! Special Threads For OpenVMS v7.1 Or Later
|
||||||
$!
|
$!
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO_printf (bio_err, "-in file input file\n");
|
BIO_printf (bio_err, "-in file input file\n");
|
||||||
BIO_printf (bio_err, "-out file output file\n");
|
BIO_printf (bio_err, "-out file output file\n");
|
||||||
BIO_printf (bio_err, "-toseq output NS Sequence file\n");
|
BIO_printf (bio_err, "-toseq output NS Sequence file\n");
|
||||||
OPENSSL_EXIT(1);
|
EXIT(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (infile) {
|
if (infile) {
|
||||||
@@ -162,6 +162,6 @@ end:
|
|||||||
BIO_free_all(out);
|
BIO_free_all(out);
|
||||||
NETSCAPE_CERT_SEQUENCE_free(seq);
|
NETSCAPE_CERT_SEQUENCE_free(seq);
|
||||||
|
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,11 +77,11 @@ static unsigned long MS_CALLBACK hash(FUNCTION *a);
|
|||||||
static int MS_CALLBACK cmp(FUNCTION *a,FUNCTION *b);
|
static int MS_CALLBACK cmp(FUNCTION *a,FUNCTION *b);
|
||||||
static LHASH *prog_init(void );
|
static LHASH *prog_init(void );
|
||||||
static int do_cmd(LHASH *prog,int argc,char *argv[]);
|
static int do_cmd(LHASH *prog,int argc,char *argv[]);
|
||||||
|
LHASH *config=NULL;
|
||||||
char *default_config_file=NULL;
|
char *default_config_file=NULL;
|
||||||
|
|
||||||
/* Make sure there is only one when MONOLITH is defined */
|
/* Make sure there is only one when MONOLITH is defined */
|
||||||
#ifdef MONOLITH
|
#ifdef MONOLITH
|
||||||
LHASH *config=NULL;
|
|
||||||
BIO *bio_err=NULL;
|
BIO *bio_err=NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -215,7 +215,7 @@ end:
|
|||||||
BIO_free(bio_err);
|
BIO_free(bio_err);
|
||||||
bio_err=NULL;
|
bio_err=NULL;
|
||||||
}
|
}
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define LIST_STANDARD_COMMANDS "list-standard-commands"
|
#define LIST_STANDARD_COMMANDS "list-standard-commands"
|
||||||
|
|||||||
@@ -284,7 +284,7 @@ err:
|
|||||||
BIO_free(in);
|
BIO_free(in);
|
||||||
if (out)
|
if (out)
|
||||||
BIO_free_all(out);
|
BIO_free_all(out);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -498,6 +498,6 @@ err:
|
|||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
fputs("Program not available.\n", stderr)
|
fputs("Program not available.\n", stderr)
|
||||||
OPENSSL_EXIT(1);
|
EXIT(1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -66,6 +66,7 @@
|
|||||||
#include <openssl/err.h>
|
#include <openssl/err.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
#include <openssl/pkcs12.h>
|
#include <openssl/pkcs12.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#define PROG pkcs12_main
|
#define PROG pkcs12_main
|
||||||
|
|
||||||
@@ -92,6 +93,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
char *infile=NULL, *outfile=NULL, *keyname = NULL;
|
char *infile=NULL, *outfile=NULL, *keyname = NULL;
|
||||||
char *certfile=NULL;
|
char *certfile=NULL;
|
||||||
BIO *in=NULL, *out = NULL, *inkey = NULL, *certsin = NULL;
|
BIO *in=NULL, *out = NULL, *inkey = NULL, *certsin = NULL;
|
||||||
@@ -118,6 +120,7 @@ int MAIN(int argc, char **argv)
|
|||||||
char *passin = NULL, *passout = NULL;
|
char *passin = NULL, *passout = NULL;
|
||||||
char *inrand = NULL;
|
char *inrand = NULL;
|
||||||
char *CApath = NULL, *CAfile = NULL;
|
char *CApath = NULL, *CAfile = NULL;
|
||||||
|
char *engine=NULL;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
|
|
||||||
@@ -236,6 +239,11 @@ int MAIN(int argc, char **argv)
|
|||||||
args++;
|
args++;
|
||||||
CAfile = *args;
|
CAfile = *args;
|
||||||
} else badarg = 1;
|
} else badarg = 1;
|
||||||
|
} else if (!strcmp(*args,"-engine")) {
|
||||||
|
if (args[1]) {
|
||||||
|
args++;
|
||||||
|
engine = *args;
|
||||||
|
} else badarg = 1;
|
||||||
} else badarg = 1;
|
} else badarg = 1;
|
||||||
|
|
||||||
} else badarg = 1;
|
} else badarg = 1;
|
||||||
@@ -279,12 +287,27 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO_printf (bio_err, "-password p set import/export password source\n");
|
BIO_printf (bio_err, "-password p set import/export password source\n");
|
||||||
BIO_printf (bio_err, "-passin p input file pass phrase source\n");
|
BIO_printf (bio_err, "-passin p input file pass phrase source\n");
|
||||||
BIO_printf (bio_err, "-passout p output file pass phrase source\n");
|
BIO_printf (bio_err, "-passout p output file pass phrase source\n");
|
||||||
|
BIO_printf (bio_err, "-engine e use engine e, possibly a hardware device.\n");
|
||||||
BIO_printf(bio_err, "-rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
BIO_printf(bio_err, "-rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
||||||
BIO_printf(bio_err, " load the file (or the files in the directory) into\n");
|
BIO_printf(bio_err, " load the file (or the files in the directory) into\n");
|
||||||
BIO_printf(bio_err, " the random number generator\n");
|
BIO_printf(bio_err, " the random number generator\n");
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL) {
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL) {
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n", engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL)) {
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
if(passarg) {
|
if(passarg) {
|
||||||
if(export_cert) passargout = passarg;
|
if(export_cert) passargout = passarg;
|
||||||
else passargin = passarg;
|
else passargin = passarg;
|
||||||
@@ -480,10 +503,9 @@ int MAIN(int argc, char **argv)
|
|||||||
/* Exclude verified certificate */
|
/* Exclude verified certificate */
|
||||||
for (i = 1; i < sk_X509_num (chain2) ; i++)
|
for (i = 1; i < sk_X509_num (chain2) ; i++)
|
||||||
sk_X509_push(certs, sk_X509_value (chain2, i));
|
sk_X509_push(certs, sk_X509_value (chain2, i));
|
||||||
/* Free first certificate */
|
}
|
||||||
X509_free(sk_X509_value(chain2, 0));
|
|
||||||
sk_X509_free(chain2);
|
sk_X509_free(chain2);
|
||||||
} else {
|
if (vret) {
|
||||||
BIO_printf (bio_err, "Error %s getting chain.\n",
|
BIO_printf (bio_err, "Error %s getting chain.\n",
|
||||||
X509_verify_cert_error_string(vret));
|
X509_verify_cert_error_string(vret));
|
||||||
goto export_end;
|
goto export_end;
|
||||||
@@ -510,6 +532,8 @@ int MAIN(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
sk_X509_pop_free(certs, X509_free);
|
sk_X509_pop_free(certs, X509_free);
|
||||||
certs = NULL;
|
certs = NULL;
|
||||||
|
/* ucert is part of certs so it is already freed */
|
||||||
|
ucert = NULL;
|
||||||
|
|
||||||
#ifdef CRYPTO_MDEBUG
|
#ifdef CRYPTO_MDEBUG
|
||||||
CRYPTO_pop_info();
|
CRYPTO_pop_info();
|
||||||
@@ -597,6 +621,7 @@ int MAIN(int argc, char **argv)
|
|||||||
if (certs) sk_X509_pop_free(certs, X509_free);
|
if (certs) sk_X509_pop_free(certs, X509_free);
|
||||||
if (safes) sk_PKCS7_pop_free(safes, PKCS7_free);
|
if (safes) sk_PKCS7_pop_free(safes, PKCS7_free);
|
||||||
if (bags) sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
|
if (bags) sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
|
||||||
|
if (ucert) X509_free(ucert);
|
||||||
|
|
||||||
#ifdef CRYPTO_MDEBUG
|
#ifdef CRYPTO_MDEBUG
|
||||||
CRYPTO_pop_info();
|
CRYPTO_pop_info();
|
||||||
@@ -666,7 +691,7 @@ int MAIN(int argc, char **argv)
|
|||||||
if (canames) sk_free(canames);
|
if (canames) sk_free(canames);
|
||||||
if(passin) OPENSSL_free(passin);
|
if(passin) OPENSSL_free(passin);
|
||||||
if(passout) OPENSSL_free(passout);
|
if(passout) OPENSSL_free(passout);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass,
|
int dump_certs_keys_p12 (BIO *out, PKCS12 *p12, char *pass,
|
||||||
|
|||||||
31
apps/pkcs7.c
31
apps/pkcs7.c
@@ -67,6 +67,7 @@
|
|||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/pkcs7.h>
|
#include <openssl/pkcs7.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#undef PROG
|
#undef PROG
|
||||||
#define PROG pkcs7_main
|
#define PROG pkcs7_main
|
||||||
@@ -82,6 +83,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
PKCS7 *p7=NULL;
|
PKCS7 *p7=NULL;
|
||||||
int i,badops=0;
|
int i,badops=0;
|
||||||
BIO *in=NULL,*out=NULL;
|
BIO *in=NULL,*out=NULL;
|
||||||
@@ -89,6 +91,7 @@ int MAIN(int argc, char **argv)
|
|||||||
char *infile,*outfile,*prog;
|
char *infile,*outfile,*prog;
|
||||||
int print_certs=0,text=0,noout=0;
|
int print_certs=0,text=0,noout=0;
|
||||||
int ret=1;
|
int ret=1;
|
||||||
|
char *engine=NULL;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
|
|
||||||
@@ -132,6 +135,11 @@ int MAIN(int argc, char **argv)
|
|||||||
text=1;
|
text=1;
|
||||||
else if (strcmp(*argv,"-print_certs") == 0)
|
else if (strcmp(*argv,"-print_certs") == 0)
|
||||||
print_certs=1;
|
print_certs=1;
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err,"unknown option %s\n",*argv);
|
BIO_printf(bio_err,"unknown option %s\n",*argv);
|
||||||
@@ -154,11 +162,30 @@ bad:
|
|||||||
BIO_printf(bio_err," -print_certs print any certs or crl in the input\n");
|
BIO_printf(bio_err," -print_certs print any certs or crl in the input\n");
|
||||||
BIO_printf(bio_err," -text print full details of certificates\n");
|
BIO_printf(bio_err," -text print full details of certificates\n");
|
||||||
BIO_printf(bio_err," -noout don't output encoded data\n");
|
BIO_printf(bio_err," -noout don't output encoded data\n");
|
||||||
OPENSSL_EXIT(1);
|
BIO_printf(bio_err," -engine e use engine e, possibly a hardware device.\n");
|
||||||
|
EXIT(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
ERR_load_crypto_strings();
|
ERR_load_crypto_strings();
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
in=BIO_new(BIO_s_file());
|
in=BIO_new(BIO_s_file());
|
||||||
out=BIO_new(BIO_s_file());
|
out=BIO_new(BIO_s_file());
|
||||||
if ((in == NULL) || (out == NULL))
|
if ((in == NULL) || (out == NULL))
|
||||||
@@ -289,5 +316,5 @@ end:
|
|||||||
if (p7 != NULL) PKCS7_free(p7);
|
if (p7 != NULL) PKCS7_free(p7);
|
||||||
if (in != NULL) BIO_free(in);
|
if (in != NULL) BIO_free(in);
|
||||||
if (out != NULL) BIO_free_all(out);
|
if (out != NULL) BIO_free_all(out);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|||||||
33
apps/pkcs8.c
33
apps/pkcs8.c
@@ -62,6 +62,7 @@
|
|||||||
#include <openssl/err.h>
|
#include <openssl/err.h>
|
||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
#include <openssl/pkcs12.h>
|
#include <openssl/pkcs12.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#include "apps.h"
|
#include "apps.h"
|
||||||
#define PROG pkcs8_main
|
#define PROG pkcs8_main
|
||||||
@@ -70,6 +71,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
char **args, *infile = NULL, *outfile = NULL;
|
char **args, *infile = NULL, *outfile = NULL;
|
||||||
char *passargin = NULL, *passargout = NULL;
|
char *passargin = NULL, *passargout = NULL;
|
||||||
BIO *in = NULL, *out = NULL;
|
BIO *in = NULL, *out = NULL;
|
||||||
@@ -85,9 +87,13 @@ int MAIN(int argc, char **argv)
|
|||||||
EVP_PKEY *pkey;
|
EVP_PKEY *pkey;
|
||||||
char pass[50], *passin = NULL, *passout = NULL, *p8pass = NULL;
|
char pass[50], *passin = NULL, *passout = NULL, *p8pass = NULL;
|
||||||
int badarg = 0;
|
int badarg = 0;
|
||||||
|
char *engine=NULL;
|
||||||
|
|
||||||
if (bio_err == NULL) bio_err = BIO_new_fp (stderr, BIO_NOCLOSE);
|
if (bio_err == NULL) bio_err = BIO_new_fp (stderr, BIO_NOCLOSE);
|
||||||
|
|
||||||
informat=FORMAT_PEM;
|
informat=FORMAT_PEM;
|
||||||
outformat=FORMAT_PEM;
|
outformat=FORMAT_PEM;
|
||||||
|
|
||||||
ERR_load_crypto_strings();
|
ERR_load_crypto_strings();
|
||||||
OpenSSL_add_all_algorithms();
|
OpenSSL_add_all_algorithms();
|
||||||
args = argv + 1;
|
args = argv + 1;
|
||||||
@@ -138,6 +144,11 @@ int MAIN(int argc, char **argv)
|
|||||||
if (!args[1]) goto bad;
|
if (!args[1]) goto bad;
|
||||||
passargout= *(++args);
|
passargout= *(++args);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*args,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (!args[1]) goto bad;
|
||||||
|
engine= *(++args);
|
||||||
|
}
|
||||||
else if (!strcmp (*args, "-in")) {
|
else if (!strcmp (*args, "-in")) {
|
||||||
if (args[1]) {
|
if (args[1]) {
|
||||||
args++;
|
args++;
|
||||||
@@ -170,9 +181,28 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO_printf(bio_err, "-nocrypt use or expect unencrypted private key\n");
|
BIO_printf(bio_err, "-nocrypt use or expect unencrypted private key\n");
|
||||||
BIO_printf(bio_err, "-v2 alg use PKCS#5 v2.0 and cipher \"alg\"\n");
|
BIO_printf(bio_err, "-v2 alg use PKCS#5 v2.0 and cipher \"alg\"\n");
|
||||||
BIO_printf(bio_err, "-v1 obj use PKCS#5 v1.5 and cipher \"alg\"\n");
|
BIO_printf(bio_err, "-v1 obj use PKCS#5 v1.5 and cipher \"alg\"\n");
|
||||||
|
BIO_printf(bio_err," -engine e use engine e, possibly a hardware device.\n");
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
return (1);
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
return (1);
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
if(!app_passwd(bio_err, passargin, passargout, &passin, &passout)) {
|
if(!app_passwd(bio_err, passargin, passargout, &passin, &passout)) {
|
||||||
BIO_printf(bio_err, "Error getting passwords\n");
|
BIO_printf(bio_err, "Error getting passwords\n");
|
||||||
return (1);
|
return (1);
|
||||||
@@ -236,8 +266,7 @@ int MAIN(int argc, char **argv)
|
|||||||
if(passout) p8pass = passout;
|
if(passout) p8pass = passout;
|
||||||
else {
|
else {
|
||||||
p8pass = pass;
|
p8pass = pass;
|
||||||
if (EVP_read_pw_string(pass, 50, "Enter Encryption Password:", 1))
|
EVP_read_pw_string(pass, 50, "Enter Encryption Password:", 1);
|
||||||
return (1);
|
|
||||||
}
|
}
|
||||||
app_RAND_load_file(NULL, bio_err, 0);
|
app_RAND_load_file(NULL, bio_err, 0);
|
||||||
if (!(p8 = PKCS8_encrypt(pbe_nid, cipher,
|
if (!(p8 = PKCS8_encrypt(pbe_nid, cipher,
|
||||||
|
|||||||
31
apps/rand.c
31
apps/rand.c
@@ -9,6 +9,7 @@
|
|||||||
#include <openssl/bio.h>
|
#include <openssl/bio.h>
|
||||||
#include <openssl/err.h>
|
#include <openssl/err.h>
|
||||||
#include <openssl/rand.h>
|
#include <openssl/rand.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#undef PROG
|
#undef PROG
|
||||||
#define PROG rand_main
|
#define PROG rand_main
|
||||||
@@ -23,6 +24,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
int i, r, ret = 1;
|
int i, r, ret = 1;
|
||||||
int badopt;
|
int badopt;
|
||||||
char *outfile = NULL;
|
char *outfile = NULL;
|
||||||
@@ -30,6 +32,7 @@ int MAIN(int argc, char **argv)
|
|||||||
int base64 = 0;
|
int base64 = 0;
|
||||||
BIO *out = NULL;
|
BIO *out = NULL;
|
||||||
int num = -1;
|
int num = -1;
|
||||||
|
char *engine=NULL;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
|
|
||||||
@@ -48,6 +51,13 @@ int MAIN(int argc, char **argv)
|
|||||||
else
|
else
|
||||||
badopt = 1;
|
badopt = 1;
|
||||||
}
|
}
|
||||||
|
if (strcmp(argv[i], "-engine") == 0)
|
||||||
|
{
|
||||||
|
if ((argv[i+1] != NULL) && (engine == NULL))
|
||||||
|
engine = argv[++i];
|
||||||
|
else
|
||||||
|
badopt = 1;
|
||||||
|
}
|
||||||
else if (strcmp(argv[i], "-rand") == 0)
|
else if (strcmp(argv[i], "-rand") == 0)
|
||||||
{
|
{
|
||||||
if ((argv[i+1] != NULL) && (inrand == NULL))
|
if ((argv[i+1] != NULL) && (inrand == NULL))
|
||||||
@@ -85,11 +95,30 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO_printf(bio_err, "Usage: rand [options] num\n");
|
BIO_printf(bio_err, "Usage: rand [options] num\n");
|
||||||
BIO_printf(bio_err, "where options are\n");
|
BIO_printf(bio_err, "where options are\n");
|
||||||
BIO_printf(bio_err, "-out file - write to file\n");
|
BIO_printf(bio_err, "-out file - write to file\n");
|
||||||
|
BIO_printf(bio_err," -engine e - use engine e, possibly a hardware device.\n");
|
||||||
BIO_printf(bio_err, "-rand file%cfile%c... - seed PRNG from files\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
BIO_printf(bio_err, "-rand file%cfile%c... - seed PRNG from files\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
||||||
BIO_printf(bio_err, "-base64 - encode output\n");
|
BIO_printf(bio_err, "-base64 - encode output\n");
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
app_RAND_load_file(NULL, bio_err, (inrand != NULL));
|
app_RAND_load_file(NULL, bio_err, (inrand != NULL));
|
||||||
if (inrand != NULL)
|
if (inrand != NULL)
|
||||||
BIO_printf(bio_err,"%ld semi-random bytes loaded\n",
|
BIO_printf(bio_err,"%ld semi-random bytes loaded\n",
|
||||||
@@ -144,5 +173,5 @@ err:
|
|||||||
ERR_print_errors(bio_err);
|
ERR_print_errors(bio_err);
|
||||||
if (out)
|
if (out)
|
||||||
BIO_free_all(out);
|
BIO_free_all(out);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|||||||
46
apps/req.c
46
apps/req.c
@@ -73,6 +73,7 @@
|
|||||||
#include <openssl/x509v3.h>
|
#include <openssl/x509v3.h>
|
||||||
#include <openssl/objects.h>
|
#include <openssl/objects.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#define SECTION "req"
|
#define SECTION "req"
|
||||||
|
|
||||||
@@ -140,6 +141,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
#ifndef NO_DSA
|
#ifndef NO_DSA
|
||||||
DSA *dsa_params=NULL;
|
DSA *dsa_params=NULL;
|
||||||
#endif
|
#endif
|
||||||
@@ -152,6 +154,7 @@ int MAIN(int argc, char **argv)
|
|||||||
int informat,outformat,verify=0,noout=0,text=0,keyform=FORMAT_PEM;
|
int informat,outformat,verify=0,noout=0,text=0,keyform=FORMAT_PEM;
|
||||||
int nodes=0,kludge=0,newhdr=0;
|
int nodes=0,kludge=0,newhdr=0;
|
||||||
char *infile,*outfile,*prog,*keyfile=NULL,*template=NULL,*keyout=NULL;
|
char *infile,*outfile,*prog,*keyfile=NULL,*template=NULL,*keyout=NULL;
|
||||||
|
char *engine=NULL;
|
||||||
char *extensions = NULL;
|
char *extensions = NULL;
|
||||||
char *req_exts = NULL;
|
char *req_exts = NULL;
|
||||||
EVP_CIPHER *cipher=NULL;
|
EVP_CIPHER *cipher=NULL;
|
||||||
@@ -195,6 +198,11 @@ int MAIN(int argc, char **argv)
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
outformat=str2fmt(*(++argv));
|
outformat=str2fmt(*(++argv));
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-key") == 0)
|
else if (strcmp(*argv,"-key") == 0)
|
||||||
{
|
{
|
||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
@@ -375,6 +383,7 @@ bad:
|
|||||||
BIO_printf(bio_err," -verify verify signature on REQ\n");
|
BIO_printf(bio_err," -verify verify signature on REQ\n");
|
||||||
BIO_printf(bio_err," -modulus RSA modulus\n");
|
BIO_printf(bio_err," -modulus RSA modulus\n");
|
||||||
BIO_printf(bio_err," -nodes don't encrypt the output key\n");
|
BIO_printf(bio_err," -nodes don't encrypt the output key\n");
|
||||||
|
BIO_printf(bio_err," -engine e use engine e, possibly a hardware device.\n");
|
||||||
BIO_printf(bio_err," -key file use the private key contained in file\n");
|
BIO_printf(bio_err," -key file use the private key contained in file\n");
|
||||||
BIO_printf(bio_err," -keyform arg key file format\n");
|
BIO_printf(bio_err," -keyform arg key file format\n");
|
||||||
BIO_printf(bio_err," -keyout arg file to send the key to\n");
|
BIO_printf(bio_err," -keyout arg file to send the key to\n");
|
||||||
@@ -422,7 +431,7 @@ bad:
|
|||||||
|
|
||||||
if (template != NULL)
|
if (template != NULL)
|
||||||
{
|
{
|
||||||
long errline = -1;
|
long errline;
|
||||||
|
|
||||||
BIO_printf(bio_err,"Using configuration from %s\n",template);
|
BIO_printf(bio_err,"Using configuration from %s\n",template);
|
||||||
req_conf=CONF_load(NULL,template,&errline);
|
req_conf=CONF_load(NULL,template,&errline);
|
||||||
@@ -521,7 +530,36 @@ bad:
|
|||||||
if ((in == NULL) || (out == NULL))
|
if ((in == NULL) || (out == NULL))
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
if (keyfile != NULL)
|
if (keyfile != NULL)
|
||||||
|
{
|
||||||
|
if (keyform == FORMAT_ENGINE)
|
||||||
|
{
|
||||||
|
if (!e)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"no engine specified\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
pkey = ENGINE_load_private_key(e, keyfile, NULL);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
if (BIO_read_filename(in,keyfile) <= 0)
|
if (BIO_read_filename(in,keyfile) <= 0)
|
||||||
{
|
{
|
||||||
@@ -533,13 +571,15 @@ bad:
|
|||||||
pkey=d2i_PrivateKey_bio(in,NULL);
|
pkey=d2i_PrivateKey_bio(in,NULL);
|
||||||
else if (keyform == FORMAT_PEM)
|
else if (keyform == FORMAT_PEM)
|
||||||
{
|
{
|
||||||
pkey=PEM_read_bio_PrivateKey(in,NULL,NULL,passin);
|
pkey=PEM_read_bio_PrivateKey(in,NULL,NULL,
|
||||||
|
passin);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err,"bad input format specified for X509 request\n");
|
BIO_printf(bio_err,"bad input format specified for X509 request\n");
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (pkey == NULL)
|
if (pkey == NULL)
|
||||||
{
|
{
|
||||||
@@ -909,7 +949,7 @@ end:
|
|||||||
#ifndef NO_DSA
|
#ifndef NO_DSA
|
||||||
if (dsa_params != NULL) DSA_free(dsa_params);
|
if (dsa_params != NULL) DSA_free(dsa_params);
|
||||||
#endif
|
#endif
|
||||||
OPENSSL_EXIT(ex);
|
EXIT(ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int make_REQ(X509_REQ *req, EVP_PKEY *pkey, int attribs)
|
static int make_REQ(X509_REQ *req, EVP_PKEY *pkey, int attribs)
|
||||||
|
|||||||
29
apps/rsa.c
29
apps/rsa.c
@@ -68,6 +68,7 @@
|
|||||||
#include <openssl/evp.h>
|
#include <openssl/evp.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#undef PROG
|
#undef PROG
|
||||||
#define PROG rsa_main
|
#define PROG rsa_main
|
||||||
@@ -90,6 +91,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *eng = NULL;
|
||||||
int ret=1;
|
int ret=1;
|
||||||
RSA *rsa=NULL;
|
RSA *rsa=NULL;
|
||||||
int i,badops=0, sgckey=0;
|
int i,badops=0, sgckey=0;
|
||||||
@@ -100,6 +102,7 @@ int MAIN(int argc, char **argv)
|
|||||||
char *infile,*outfile,*prog;
|
char *infile,*outfile,*prog;
|
||||||
char *passargin = NULL, *passargout = NULL;
|
char *passargin = NULL, *passargout = NULL;
|
||||||
char *passin = NULL, *passout = NULL;
|
char *passin = NULL, *passout = NULL;
|
||||||
|
char *engine=NULL;
|
||||||
int modulus=0;
|
int modulus=0;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
@@ -148,6 +151,11 @@ int MAIN(int argc, char **argv)
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
passargout= *(++argv);
|
passargout= *(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-sgckey") == 0)
|
else if (strcmp(*argv,"-sgckey") == 0)
|
||||||
sgckey=1;
|
sgckey=1;
|
||||||
else if (strcmp(*argv,"-pubin") == 0)
|
else if (strcmp(*argv,"-pubin") == 0)
|
||||||
@@ -195,11 +203,30 @@ bad:
|
|||||||
BIO_printf(bio_err," -check verify key consistency\n");
|
BIO_printf(bio_err," -check verify key consistency\n");
|
||||||
BIO_printf(bio_err," -pubin expect a public key in input file\n");
|
BIO_printf(bio_err," -pubin expect a public key in input file\n");
|
||||||
BIO_printf(bio_err," -pubout output a public key\n");
|
BIO_printf(bio_err," -pubout output a public key\n");
|
||||||
|
BIO_printf(bio_err," -engine e use engine e, possibly a hardware device.\n");
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
ERR_load_crypto_strings();
|
ERR_load_crypto_strings();
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((eng = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(eng, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(eng);
|
||||||
|
}
|
||||||
|
|
||||||
if(!app_passwd(bio_err, passargin, passargout, &passin, &passout)) {
|
if(!app_passwd(bio_err, passargin, passargout, &passin, &passout)) {
|
||||||
BIO_printf(bio_err, "Error getting passwords\n");
|
BIO_printf(bio_err, "Error getting passwords\n");
|
||||||
goto end;
|
goto end;
|
||||||
@@ -389,7 +416,7 @@ end:
|
|||||||
if(rsa != NULL) RSA_free(rsa);
|
if(rsa != NULL) RSA_free(rsa);
|
||||||
if(passin) OPENSSL_free(passin);
|
if(passin) OPENSSL_free(passin);
|
||||||
if(passout) OPENSSL_free(passout);
|
if(passout) OPENSSL_free(passout);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
#else /* !NO_RSA */
|
#else /* !NO_RSA */
|
||||||
|
|
||||||
|
|||||||
@@ -62,6 +62,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <openssl/err.h>
|
#include <openssl/err.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#define RSA_SIGN 1
|
#define RSA_SIGN 1
|
||||||
#define RSA_VERIFY 2
|
#define RSA_VERIFY 2
|
||||||
@@ -82,6 +83,7 @@ int MAIN(int argc, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
BIO *in = NULL, *out = NULL;
|
BIO *in = NULL, *out = NULL;
|
||||||
char *infile = NULL, *outfile = NULL;
|
char *infile = NULL, *outfile = NULL;
|
||||||
char *keyfile = NULL;
|
char *keyfile = NULL;
|
||||||
@@ -95,6 +97,7 @@ int MAIN(int argc, char **argv)
|
|||||||
unsigned char *rsa_in = NULL, *rsa_out = NULL, pad;
|
unsigned char *rsa_in = NULL, *rsa_out = NULL, pad;
|
||||||
int rsa_inlen, rsa_outlen = 0;
|
int rsa_inlen, rsa_outlen = 0;
|
||||||
int keysize;
|
int keysize;
|
||||||
|
char *engine=NULL;
|
||||||
|
|
||||||
int ret = 1;
|
int ret = 1;
|
||||||
|
|
||||||
@@ -117,6 +120,9 @@ int MAIN(int argc, char **argv)
|
|||||||
} else if(!strcmp(*argv, "-inkey")) {
|
} else if(!strcmp(*argv, "-inkey")) {
|
||||||
if (--argc < 1) badarg = 1;
|
if (--argc < 1) badarg = 1;
|
||||||
keyfile = *(++argv);
|
keyfile = *(++argv);
|
||||||
|
} else if(!strcmp(*argv, "-engine")) {
|
||||||
|
if (--argc < 1) badarg = 1;
|
||||||
|
engine = *(++argv);
|
||||||
} else if(!strcmp(*argv, "-pubin")) {
|
} else if(!strcmp(*argv, "-pubin")) {
|
||||||
key_type = KEY_PUBKEY;
|
key_type = KEY_PUBKEY;
|
||||||
} else if(!strcmp(*argv, "-certin")) {
|
} else if(!strcmp(*argv, "-certin")) {
|
||||||
@@ -151,6 +157,24 @@ int MAIN(int argc, char **argv)
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
/* FIXME: seed PRNG only if needed */
|
/* FIXME: seed PRNG only if needed */
|
||||||
app_RAND_load_file(NULL, bio_err, 0);
|
app_RAND_load_file(NULL, bio_err, 0);
|
||||||
|
|
||||||
@@ -280,6 +304,7 @@ static void usage()
|
|||||||
BIO_printf(bio_err, "-inkey file input key\n");
|
BIO_printf(bio_err, "-inkey file input key\n");
|
||||||
BIO_printf(bio_err, "-pubin input is an RSA public\n");
|
BIO_printf(bio_err, "-pubin input is an RSA public\n");
|
||||||
BIO_printf(bio_err, "-certin input is a certificate carrying an RSA public key\n");
|
BIO_printf(bio_err, "-certin input is a certificate carrying an RSA public key\n");
|
||||||
|
BIO_printf(bio_err, "-engine e use engine e, possibly a hardware device.\n");
|
||||||
BIO_printf(bio_err, "-ssl use SSL v2 padding\n");
|
BIO_printf(bio_err, "-ssl use SSL v2 padding\n");
|
||||||
BIO_printf(bio_err, "-raw use no padding\n");
|
BIO_printf(bio_err, "-raw use no padding\n");
|
||||||
BIO_printf(bio_err, "-pkcs use PKCS#1 v1.5 padding (default)\n");
|
BIO_printf(bio_err, "-pkcs use PKCS#1 v1.5 padding (default)\n");
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ typedef unsigned int u_int;
|
|||||||
#include <openssl/err.h>
|
#include <openssl/err.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
#include <openssl/rand.h>
|
#include <openssl/rand.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
#include "s_apps.h"
|
#include "s_apps.h"
|
||||||
|
|
||||||
#ifdef WINDOWS
|
#ifdef WINDOWS
|
||||||
@@ -154,7 +155,7 @@ static void sc_usage(void)
|
|||||||
BIO_printf(bio_err," -cipher - preferred cipher to use, use the 'openssl ciphers'\n");
|
BIO_printf(bio_err," -cipher - preferred cipher to use, use the 'openssl ciphers'\n");
|
||||||
BIO_printf(bio_err," command to see what is available\n");
|
BIO_printf(bio_err," command to see what is available\n");
|
||||||
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
||||||
|
BIO_printf(bio_err," -engine id - Initialise and use the specified engine\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
int MAIN(int, char **);
|
int MAIN(int, char **);
|
||||||
@@ -182,6 +183,8 @@ int MAIN(int argc, char **argv)
|
|||||||
SSL_METHOD *meth=NULL;
|
SSL_METHOD *meth=NULL;
|
||||||
BIO *sbio;
|
BIO *sbio;
|
||||||
char *inrand=NULL;
|
char *inrand=NULL;
|
||||||
|
char *engine_id=NULL;
|
||||||
|
ENGINE *e=NULL;
|
||||||
#ifdef WINDOWS
|
#ifdef WINDOWS
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
#endif
|
#endif
|
||||||
@@ -324,6 +327,11 @@ int MAIN(int argc, char **argv)
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
inrand= *(++argv);
|
inrand= *(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine_id = *(++argv);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err,"unknown option %s\n",*argv);
|
BIO_printf(bio_err,"unknown option %s\n",*argv);
|
||||||
@@ -364,6 +372,30 @@ bad:
|
|||||||
|
|
||||||
OpenSSL_add_ssl_algorithms();
|
OpenSSL_add_ssl_algorithms();
|
||||||
SSL_load_error_strings();
|
SSL_load_error_strings();
|
||||||
|
|
||||||
|
if (engine_id != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine_id)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine\n");
|
||||||
|
ERR_print_errors(bio_err);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if (c_debug)
|
||||||
|
{
|
||||||
|
ENGINE_ctrl(e, ENGINE_CTRL_SET_LOGSTREAM,
|
||||||
|
0, bio_err, 0);
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
ERR_print_errors(bio_err);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine_id);
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
ctx=SSL_CTX_new(meth);
|
ctx=SSL_CTX_new(meth);
|
||||||
if (ctx == NULL)
|
if (ctx == NULL)
|
||||||
{
|
{
|
||||||
@@ -768,14 +800,14 @@ end:
|
|||||||
if (con != NULL) SSL_free(con);
|
if (con != NULL) SSL_free(con);
|
||||||
if (con2 != NULL) SSL_free(con2);
|
if (con2 != NULL) SSL_free(con2);
|
||||||
if (ctx != NULL) SSL_CTX_free(ctx);
|
if (ctx != NULL) SSL_CTX_free(ctx);
|
||||||
if (cbuf != NULL) { OPENSSL_cleanse(cbuf,BUFSIZZ); OPENSSL_free(cbuf); }
|
if (cbuf != NULL) { memset(cbuf,0,BUFSIZZ); OPENSSL_free(cbuf); }
|
||||||
if (sbuf != NULL) { OPENSSL_cleanse(sbuf,BUFSIZZ); OPENSSL_free(sbuf); }
|
if (sbuf != NULL) { memset(sbuf,0,BUFSIZZ); OPENSSL_free(sbuf); }
|
||||||
if (bio_c_out != NULL)
|
if (bio_c_out != NULL)
|
||||||
{
|
{
|
||||||
BIO_free(bio_c_out);
|
BIO_free(bio_c_out);
|
||||||
bio_c_out=NULL;
|
bio_c_out=NULL;
|
||||||
}
|
}
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ typedef unsigned int u_int;
|
|||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/ssl.h>
|
#include <openssl/ssl.h>
|
||||||
#include <openssl/rand.h>
|
#include <openssl/rand.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
#include "s_apps.h"
|
#include "s_apps.h"
|
||||||
|
|
||||||
#ifdef WINDOWS
|
#ifdef WINDOWS
|
||||||
@@ -177,6 +178,7 @@ static int s_debug=0;
|
|||||||
static int s_quiet=0;
|
static int s_quiet=0;
|
||||||
|
|
||||||
static int hack=0;
|
static int hack=0;
|
||||||
|
static char *engine_id=NULL;
|
||||||
|
|
||||||
#ifdef MONOLITH
|
#ifdef MONOLITH
|
||||||
static void s_server_init(void)
|
static void s_server_init(void)
|
||||||
@@ -199,6 +201,7 @@ static void s_server_init(void)
|
|||||||
s_debug=0;
|
s_debug=0;
|
||||||
s_quiet=0;
|
s_quiet=0;
|
||||||
hack=0;
|
hack=0;
|
||||||
|
engine_id=NULL;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -244,6 +247,7 @@ static void sv_usage(void)
|
|||||||
BIO_printf(bio_err," -www - Respond to a 'GET /' with a status page\n");
|
BIO_printf(bio_err," -www - Respond to a 'GET /' with a status page\n");
|
||||||
BIO_printf(bio_err," -WWW - Respond to a 'GET /<path> HTTP/1.0' with file ./<path>\n");
|
BIO_printf(bio_err," -WWW - Respond to a 'GET /<path> HTTP/1.0' with file ./<path>\n");
|
||||||
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
BIO_printf(bio_err," -rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
||||||
|
BIO_printf(bio_err," -engine id - Initialise and use the specified engine\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static int local_argc=0;
|
static int local_argc=0;
|
||||||
@@ -253,10 +257,10 @@ static char **local_argv;
|
|||||||
static int ebcdic_new(BIO *bi);
|
static int ebcdic_new(BIO *bi);
|
||||||
static int ebcdic_free(BIO *a);
|
static int ebcdic_free(BIO *a);
|
||||||
static int ebcdic_read(BIO *b, char *out, int outl);
|
static int ebcdic_read(BIO *b, char *out, int outl);
|
||||||
static int ebcdic_write(BIO *b, const char *in, int inl);
|
static int ebcdic_write(BIO *b, char *in, int inl);
|
||||||
static long ebcdic_ctrl(BIO *b, int cmd, long num, void *ptr);
|
static long ebcdic_ctrl(BIO *b, int cmd, long num, char *ptr);
|
||||||
static int ebcdic_gets(BIO *bp, char *buf, int size);
|
static int ebcdic_gets(BIO *bp, char *buf, int size);
|
||||||
static int ebcdic_puts(BIO *bp, const char *str);
|
static int ebcdic_puts(BIO *bp, char *str);
|
||||||
|
|
||||||
#define BIO_TYPE_EBCDIC_FILTER (18|0x0200)
|
#define BIO_TYPE_EBCDIC_FILTER (18|0x0200)
|
||||||
static BIO_METHOD methods_ebcdic=
|
static BIO_METHOD methods_ebcdic=
|
||||||
@@ -321,7 +325,7 @@ static int ebcdic_read(BIO *b, char *out, int outl)
|
|||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ebcdic_write(BIO *b, const char *in, int inl)
|
static int ebcdic_write(BIO *b, char *in, int inl)
|
||||||
{
|
{
|
||||||
EBCDIC_OUTBUFF *wbuf;
|
EBCDIC_OUTBUFF *wbuf;
|
||||||
int ret=0;
|
int ret=0;
|
||||||
@@ -354,7 +358,7 @@ static int ebcdic_write(BIO *b, const char *in, int inl)
|
|||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static long ebcdic_ctrl(BIO *b, int cmd, long num, void *ptr)
|
static long ebcdic_ctrl(BIO *b, int cmd, long num, char *ptr)
|
||||||
{
|
{
|
||||||
long ret;
|
long ret;
|
||||||
|
|
||||||
@@ -373,7 +377,7 @@ static long ebcdic_ctrl(BIO *b, int cmd, long num, void *ptr)
|
|||||||
|
|
||||||
static int ebcdic_gets(BIO *bp, char *buf, int size)
|
static int ebcdic_gets(BIO *bp, char *buf, int size)
|
||||||
{
|
{
|
||||||
int i, ret=0;
|
int i, ret;
|
||||||
if (bp->next_bio == NULL) return(0);
|
if (bp->next_bio == NULL) return(0);
|
||||||
/* return(BIO_gets(bp->next_bio,buf,size));*/
|
/* return(BIO_gets(bp->next_bio,buf,size));*/
|
||||||
for (i=0; i<size-1; ++i)
|
for (i=0; i<size-1; ++i)
|
||||||
@@ -392,7 +396,7 @@ static int ebcdic_gets(BIO *bp, char *buf, int size)
|
|||||||
return (ret < 0 && i == 0) ? ret : i;
|
return (ret < 0 && i == 0) ? ret : i;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ebcdic_puts(BIO *bp, const char *str)
|
static int ebcdic_puts(BIO *bp, char *str)
|
||||||
{
|
{
|
||||||
if (bp->next_bio == NULL) return(0);
|
if (bp->next_bio == NULL) return(0);
|
||||||
return ebcdic_write(bp, str, strlen(str));
|
return ebcdic_write(bp, str, strlen(str));
|
||||||
@@ -414,6 +418,8 @@ int MAIN(int argc, char *argv[])
|
|||||||
int state=0;
|
int state=0;
|
||||||
SSL_METHOD *meth=NULL;
|
SSL_METHOD *meth=NULL;
|
||||||
char *inrand=NULL;
|
char *inrand=NULL;
|
||||||
|
char *engine=NULL;
|
||||||
|
ENGINE *e=NULL;
|
||||||
#ifndef NO_DH
|
#ifndef NO_DH
|
||||||
DH *dh=NULL;
|
DH *dh=NULL;
|
||||||
#endif
|
#endif
|
||||||
@@ -573,6 +579,11 @@ int MAIN(int argc, char *argv[])
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
inrand= *(++argv);
|
inrand= *(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine = *(++argv);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
BIO_printf(bio_err,"unknown option %s\n",*argv);
|
BIO_printf(bio_err,"unknown option %s\n",*argv);
|
||||||
@@ -624,6 +635,29 @@ bad:
|
|||||||
SSL_load_error_strings();
|
SSL_load_error_strings();
|
||||||
OpenSSL_add_ssl_algorithms();
|
OpenSSL_add_ssl_algorithms();
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine\n");
|
||||||
|
ERR_print_errors(bio_err);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if (s_debug)
|
||||||
|
{
|
||||||
|
ENGINE_ctrl(e, ENGINE_CTRL_SET_LOGSTREAM,
|
||||||
|
0, bio_err, 0);
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
ERR_print_errors(bio_err);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
ctx=SSL_CTX_new(meth);
|
ctx=SSL_CTX_new(meth);
|
||||||
if (ctx == NULL)
|
if (ctx == NULL)
|
||||||
{
|
{
|
||||||
@@ -741,7 +775,7 @@ end:
|
|||||||
BIO_free(bio_s_out);
|
BIO_free(bio_s_out);
|
||||||
bio_s_out=NULL;
|
bio_s_out=NULL;
|
||||||
}
|
}
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void print_stats(BIO *bio, SSL_CTX *ssl_ctx)
|
static void print_stats(BIO *bio, SSL_CTX *ssl_ctx)
|
||||||
@@ -1043,7 +1077,7 @@ err:
|
|||||||
BIO_printf(bio_s_out,"CONNECTION CLOSED\n");
|
BIO_printf(bio_s_out,"CONNECTION CLOSED\n");
|
||||||
if (buf != NULL)
|
if (buf != NULL)
|
||||||
{
|
{
|
||||||
OPENSSL_cleanse(buf,bufsize);
|
memset(buf,0,bufsize);
|
||||||
OPENSSL_free(buf);
|
OPENSSL_free(buf);
|
||||||
}
|
}
|
||||||
if (ret >= 0)
|
if (ret >= 0)
|
||||||
@@ -1250,7 +1284,7 @@ static int www_body(char *hostname, int s, unsigned char *context)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
BIO_printf(bio_s_out,"read R BLOCK\n");
|
BIO_printf(bio_s_out,"read R BLOCK\n");
|
||||||
#if !defined(MSDOS) && !defined(VXWORKS)
|
#ifndef MSDOS
|
||||||
sleep(1);
|
sleep(1);
|
||||||
#endif
|
#endif
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -116,11 +116,6 @@
|
|||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef VXWORKS
|
|
||||||
#include <tickLib.h>
|
|
||||||
#undef SIGALRM
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The following if from times(3) man page. It may need to be changed
|
/* The following if from times(3) man page. It may need to be changed
|
||||||
*/
|
*/
|
||||||
#ifndef HZ
|
#ifndef HZ
|
||||||
@@ -466,7 +461,7 @@ int MAIN(int argc, char **argv)
|
|||||||
|
|
||||||
if (tm_cipher == NULL ) {
|
if (tm_cipher == NULL ) {
|
||||||
fprintf( stderr, "No CIPHER specified\n" );
|
fprintf( stderr, "No CIPHER specified\n" );
|
||||||
/* OPENSSL_EXIT(1); */
|
/* EXIT(1); */
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(perform & 1)) goto next;
|
if (!(perform & 1)) goto next;
|
||||||
@@ -633,7 +628,7 @@ end:
|
|||||||
SSL_CTX_free(tm_ctx);
|
SSL_CTX_free(tm_ctx);
|
||||||
tm_ctx=NULL;
|
tm_ctx=NULL;
|
||||||
}
|
}
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
|||||||
@@ -272,7 +272,7 @@ bad:
|
|||||||
end:
|
end:
|
||||||
if (out != NULL) BIO_free_all(out);
|
if (out != NULL) BIO_free_all(out);
|
||||||
if (x != NULL) SSL_SESSION_free(x);
|
if (x != NULL) SSL_SESSION_free(x);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static SSL_SESSION *load_sess_id(char *infile, int format)
|
static SSL_SESSION *load_sess_id(char *infile, int format)
|
||||||
|
|||||||
29
apps/smime.c
29
apps/smime.c
@@ -64,6 +64,7 @@
|
|||||||
#include <openssl/crypto.h>
|
#include <openssl/crypto.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
#include <openssl/err.h>
|
#include <openssl/err.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#undef PROG
|
#undef PROG
|
||||||
#define PROG smime_main
|
#define PROG smime_main
|
||||||
@@ -81,6 +82,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
int operation = 0;
|
int operation = 0;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
char **args;
|
char **args;
|
||||||
@@ -103,8 +105,9 @@ int MAIN(int argc, char **argv)
|
|||||||
char *inrand = NULL;
|
char *inrand = NULL;
|
||||||
int need_rand = 0;
|
int need_rand = 0;
|
||||||
int informat = FORMAT_SMIME, outformat = FORMAT_SMIME;
|
int informat = FORMAT_SMIME, outformat = FORMAT_SMIME;
|
||||||
args = argv + 1;
|
char *engine=NULL;
|
||||||
|
|
||||||
|
args = argv + 1;
|
||||||
ret = 1;
|
ret = 1;
|
||||||
|
|
||||||
while (!badarg && *args && *args[0] == '-') {
|
while (!badarg && *args && *args[0] == '-') {
|
||||||
@@ -153,6 +156,11 @@ int MAIN(int argc, char **argv)
|
|||||||
inrand = *args;
|
inrand = *args;
|
||||||
} else badarg = 1;
|
} else badarg = 1;
|
||||||
need_rand = 1;
|
need_rand = 1;
|
||||||
|
} else if (!strcmp(*args,"-engine")) {
|
||||||
|
if (args[1]) {
|
||||||
|
args++;
|
||||||
|
engine = *args;
|
||||||
|
} else badarg = 1;
|
||||||
} else if (!strcmp(*args,"-passin")) {
|
} else if (!strcmp(*args,"-passin")) {
|
||||||
if (args[1]) {
|
if (args[1]) {
|
||||||
args++;
|
args++;
|
||||||
@@ -290,6 +298,7 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO_printf (bio_err, "-text include or delete text MIME headers\n");
|
BIO_printf (bio_err, "-text include or delete text MIME headers\n");
|
||||||
BIO_printf (bio_err, "-CApath dir trusted certificates directory\n");
|
BIO_printf (bio_err, "-CApath dir trusted certificates directory\n");
|
||||||
BIO_printf (bio_err, "-CAfile file trusted certificates file\n");
|
BIO_printf (bio_err, "-CAfile file trusted certificates file\n");
|
||||||
|
BIO_printf (bio_err, "-engine e use engine e, possibly a hardware device.\n");
|
||||||
BIO_printf (bio_err, "-passin arg input file pass phrase source\n");
|
BIO_printf (bio_err, "-passin arg input file pass phrase source\n");
|
||||||
BIO_printf(bio_err, "-rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
BIO_printf(bio_err, "-rand file%cfile%c...\n", LIST_SEPARATOR_CHAR, LIST_SEPARATOR_CHAR);
|
||||||
BIO_printf(bio_err, " load the file (or the files in the directory) into\n");
|
BIO_printf(bio_err, " load the file (or the files in the directory) into\n");
|
||||||
@@ -298,6 +307,24 @@ int MAIN(int argc, char **argv)
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
if(!app_passwd(bio_err, passargin, NULL, &passin, NULL)) {
|
if(!app_passwd(bio_err, passargin, NULL, &passin, NULL)) {
|
||||||
BIO_printf(bio_err, "Error getting password\n");
|
BIO_printf(bio_err, "Error getting password\n");
|
||||||
goto end;
|
goto end;
|
||||||
|
|||||||
43
apps/speed.c
43
apps/speed.c
@@ -81,6 +81,7 @@
|
|||||||
#include <openssl/crypto.h>
|
#include <openssl/crypto.h>
|
||||||
#include <openssl/rand.h>
|
#include <openssl/rand.h>
|
||||||
#include <openssl/err.h>
|
#include <openssl/err.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(_DARWIN)
|
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(_DARWIN)
|
||||||
# define USE_TOD
|
# define USE_TOD
|
||||||
@@ -327,6 +328,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e;
|
||||||
unsigned char *buf=NULL,*buf2=NULL;
|
unsigned char *buf=NULL,*buf2=NULL;
|
||||||
int mret=1;
|
int mret=1;
|
||||||
#define ALGOR_NUM 15
|
#define ALGOR_NUM 15
|
||||||
@@ -489,6 +491,37 @@ int MAIN(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
if ((argc > 0) && (strcmp(*argv,"-elapsed") == 0))
|
if ((argc > 0) && (strcmp(*argv,"-elapsed") == 0))
|
||||||
usertime = 0;
|
usertime = 0;
|
||||||
|
else
|
||||||
|
if ((argc > 0) && (strcmp(*argv,"-engine") == 0))
|
||||||
|
{
|
||||||
|
argc--;
|
||||||
|
argv++;
|
||||||
|
if(argc == 0)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"no engine given\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if((e = ENGINE_by_id(*argv)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
*argv);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", *argv);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
/* It will be increased again further down. We just
|
||||||
|
don't want speed to confuse an engine with an
|
||||||
|
algorithm, especially when none is given (which
|
||||||
|
means all of them should be run) */
|
||||||
|
j--;
|
||||||
|
}
|
||||||
|
else
|
||||||
#ifndef NO_MD2
|
#ifndef NO_MD2
|
||||||
if (strcmp(*argv,"md2") == 0) doit[D_MD2]=1;
|
if (strcmp(*argv,"md2") == 0) doit[D_MD2]=1;
|
||||||
else
|
else
|
||||||
@@ -536,7 +569,7 @@ int MAIN(int argc, char **argv)
|
|||||||
#ifdef RSAref
|
#ifdef RSAref
|
||||||
if (strcmp(*argv,"rsaref") == 0)
|
if (strcmp(*argv,"rsaref") == 0)
|
||||||
{
|
{
|
||||||
RSA_set_default_method(RSA_PKCS1_RSAref());
|
RSA_set_default_openssl_method(RSA_PKCS1_RSAref());
|
||||||
j--;
|
j--;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -544,7 +577,7 @@ int MAIN(int argc, char **argv)
|
|||||||
#ifndef RSA_NULL
|
#ifndef RSA_NULL
|
||||||
if (strcmp(*argv,"openssl") == 0)
|
if (strcmp(*argv,"openssl") == 0)
|
||||||
{
|
{
|
||||||
RSA_set_default_method(RSA_PKCS1_SSLeay());
|
RSA_set_default_openssl_method(RSA_PKCS1_SSLeay());
|
||||||
j--;
|
j--;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -689,11 +722,12 @@ int MAIN(int argc, char **argv)
|
|||||||
BIO_printf(bio_err,"\n");
|
BIO_printf(bio_err,"\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(TIMES) || defined(USE_TOD)
|
|
||||||
BIO_printf(bio_err,"\n");
|
BIO_printf(bio_err,"\n");
|
||||||
BIO_printf(bio_err,"Available options:\n");
|
BIO_printf(bio_err,"Available options:\n");
|
||||||
|
#ifdef TIMES
|
||||||
BIO_printf(bio_err,"-elapsed measure time in real time instead of CPU user time.\n");
|
BIO_printf(bio_err,"-elapsed measure time in real time instead of CPU user time.\n");
|
||||||
#endif
|
#endif
|
||||||
|
BIO_printf(bio_err,"-engine e use engine e, possibly a hardware device.\n");
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
argc--;
|
argc--;
|
||||||
@@ -1400,6 +1434,7 @@ int MAIN(int argc, char **argv)
|
|||||||
#endif
|
#endif
|
||||||
mret=0;
|
mret=0;
|
||||||
end:
|
end:
|
||||||
|
ERR_print_errors(bio_err);
|
||||||
if (buf != NULL) OPENSSL_free(buf);
|
if (buf != NULL) OPENSSL_free(buf);
|
||||||
if (buf2 != NULL) OPENSSL_free(buf2);
|
if (buf2 != NULL) OPENSSL_free(buf2);
|
||||||
#ifndef NO_RSA
|
#ifndef NO_RSA
|
||||||
@@ -1412,7 +1447,7 @@ end:
|
|||||||
if (dsa_key[i] != NULL)
|
if (dsa_key[i] != NULL)
|
||||||
DSA_free(dsa_key[i]);
|
DSA_free(dsa_key[i]);
|
||||||
#endif
|
#endif
|
||||||
OPENSSL_EXIT(mret);
|
EXIT(mret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void print_message(char *s, long num, int length)
|
static void print_message(char *s, long num, int length)
|
||||||
|
|||||||
29
apps/spkac.c
29
apps/spkac.c
@@ -69,6 +69,7 @@
|
|||||||
#include <openssl/lhash.h>
|
#include <openssl/lhash.h>
|
||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#undef PROG
|
#undef PROG
|
||||||
#define PROG spkac_main
|
#define PROG spkac_main
|
||||||
@@ -81,6 +82,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
int i,badops=0, ret = 1;
|
int i,badops=0, ret = 1;
|
||||||
BIO *in = NULL,*out = NULL, *key = NULL;
|
BIO *in = NULL,*out = NULL, *key = NULL;
|
||||||
int verify=0,noout=0,pubkey=0;
|
int verify=0,noout=0,pubkey=0;
|
||||||
@@ -91,6 +93,7 @@ int MAIN(int argc, char **argv)
|
|||||||
LHASH *conf = NULL;
|
LHASH *conf = NULL;
|
||||||
NETSCAPE_SPKI *spki = NULL;
|
NETSCAPE_SPKI *spki = NULL;
|
||||||
EVP_PKEY *pkey = NULL;
|
EVP_PKEY *pkey = NULL;
|
||||||
|
char *engine=NULL;
|
||||||
|
|
||||||
apps_startup();
|
apps_startup();
|
||||||
|
|
||||||
@@ -136,6 +139,11 @@ int MAIN(int argc, char **argv)
|
|||||||
if (--argc < 1) goto bad;
|
if (--argc < 1) goto bad;
|
||||||
spksect= *(++argv);
|
spksect= *(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-noout") == 0)
|
else if (strcmp(*argv,"-noout") == 0)
|
||||||
noout=1;
|
noout=1;
|
||||||
else if (strcmp(*argv,"-pubkey") == 0)
|
else if (strcmp(*argv,"-pubkey") == 0)
|
||||||
@@ -161,6 +169,7 @@ bad:
|
|||||||
BIO_printf(bio_err," -noout don't print SPKAC\n");
|
BIO_printf(bio_err," -noout don't print SPKAC\n");
|
||||||
BIO_printf(bio_err," -pubkey output public key\n");
|
BIO_printf(bio_err," -pubkey output public key\n");
|
||||||
BIO_printf(bio_err," -verify verify SPKAC signature\n");
|
BIO_printf(bio_err," -verify verify SPKAC signature\n");
|
||||||
|
BIO_printf(bio_err," -engine e use engine e, possibly a hardware device.\n");
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,6 +179,24 @@ bad:
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
if(keyfile) {
|
if(keyfile) {
|
||||||
if(strcmp(keyfile, "-")) key = BIO_new_file(keyfile, "r");
|
if(strcmp(keyfile, "-")) key = BIO_new_file(keyfile, "r");
|
||||||
else key = BIO_new_fp(stdin, BIO_NOCLOSE);
|
else key = BIO_new_fp(stdin, BIO_NOCLOSE);
|
||||||
@@ -288,5 +315,5 @@ end:
|
|||||||
BIO_free(key);
|
BIO_free(key);
|
||||||
EVP_PKEY_free(pkey);
|
EVP_PKEY_free(pkey);
|
||||||
if(passin) OPENSSL_free(passin);
|
if(passin) OPENSSL_free(passin);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,6 +65,7 @@
|
|||||||
#include <openssl/x509.h>
|
#include <openssl/x509.h>
|
||||||
#include <openssl/x509v3.h>
|
#include <openssl/x509v3.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#undef PROG
|
#undef PROG
|
||||||
#define PROG verify_main
|
#define PROG verify_main
|
||||||
@@ -78,6 +79,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
int i,ret=1;
|
int i,ret=1;
|
||||||
int purpose = -1;
|
int purpose = -1;
|
||||||
char *CApath=NULL,*CAfile=NULL;
|
char *CApath=NULL,*CAfile=NULL;
|
||||||
@@ -85,6 +87,7 @@ int MAIN(int argc, char **argv)
|
|||||||
STACK_OF(X509) *untrusted = NULL, *trusted = NULL;
|
STACK_OF(X509) *untrusted = NULL, *trusted = NULL;
|
||||||
X509_STORE *cert_ctx=NULL;
|
X509_STORE *cert_ctx=NULL;
|
||||||
X509_LOOKUP *lookup=NULL;
|
X509_LOOKUP *lookup=NULL;
|
||||||
|
char *engine=NULL;
|
||||||
|
|
||||||
cert_ctx=X509_STORE_new();
|
cert_ctx=X509_STORE_new();
|
||||||
if (cert_ctx == NULL) goto end;
|
if (cert_ctx == NULL) goto end;
|
||||||
@@ -137,6 +140,11 @@ int MAIN(int argc, char **argv)
|
|||||||
if (argc-- < 1) goto end;
|
if (argc-- < 1) goto end;
|
||||||
trustfile= *(++argv);
|
trustfile= *(++argv);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto end;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-help") == 0)
|
else if (strcmp(*argv,"-help") == 0)
|
||||||
goto end;
|
goto end;
|
||||||
else if (strcmp(*argv,"-issuer_checks") == 0)
|
else if (strcmp(*argv,"-issuer_checks") == 0)
|
||||||
@@ -154,6 +162,24 @@ int MAIN(int argc, char **argv)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
lookup=X509_STORE_add_lookup(cert_ctx,X509_LOOKUP_file());
|
lookup=X509_STORE_add_lookup(cert_ctx,X509_LOOKUP_file());
|
||||||
if (lookup == NULL) abort();
|
if (lookup == NULL) abort();
|
||||||
if (CAfile) {
|
if (CAfile) {
|
||||||
@@ -201,7 +227,7 @@ int MAIN(int argc, char **argv)
|
|||||||
ret=0;
|
ret=0;
|
||||||
end:
|
end:
|
||||||
if (ret == 1) {
|
if (ret == 1) {
|
||||||
BIO_printf(bio_err,"usage: verify [-verbose] [-CApath path] [-CAfile file] [-purpose purpose] cert1 cert2 ...\n");
|
BIO_printf(bio_err,"usage: verify [-verbose] [-CApath path] [-CAfile file] [-purpose purpose] [-engine e] cert1 cert2 ...\n");
|
||||||
BIO_printf(bio_err,"recognized usages:\n");
|
BIO_printf(bio_err,"recognized usages:\n");
|
||||||
for(i = 0; i < X509_PURPOSE_get_count(); i++) {
|
for(i = 0; i < X509_PURPOSE_get_count(); i++) {
|
||||||
X509_PURPOSE *ptmp;
|
X509_PURPOSE *ptmp;
|
||||||
@@ -213,7 +239,7 @@ end:
|
|||||||
if (cert_ctx != NULL) X509_STORE_free(cert_ctx);
|
if (cert_ctx != NULL) X509_STORE_free(cert_ctx);
|
||||||
sk_X509_pop_free(untrusted, X509_free);
|
sk_X509_pop_free(untrusted, X509_free);
|
||||||
sk_X509_pop_free(trusted, X509_free);
|
sk_X509_pop_free(trusted, X509_free);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int check(X509_STORE *ctx, char *file, STACK_OF(X509) *uchain, STACK_OF(X509) *tchain, int purpose)
|
static int check(X509_STORE *ctx, char *file, STACK_OF(X509) *uchain, STACK_OF(X509) *tchain, int purpose)
|
||||||
|
|||||||
@@ -128,5 +128,5 @@ int MAIN(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
if (cflags) printf("%s\n",SSLeay_version(SSLEAY_CFLAGS));
|
if (cflags) printf("%s\n",SSLeay_version(SSLEAY_CFLAGS));
|
||||||
end:
|
end:
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|||||||
33
apps/x509.c
33
apps/x509.c
@@ -73,6 +73,7 @@
|
|||||||
#include <openssl/x509v3.h>
|
#include <openssl/x509v3.h>
|
||||||
#include <openssl/objects.h>
|
#include <openssl/objects.h>
|
||||||
#include <openssl/pem.h>
|
#include <openssl/pem.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
#undef PROG
|
#undef PROG
|
||||||
#define PROG x509_main
|
#define PROG x509_main
|
||||||
@@ -121,7 +122,7 @@ static char *x509_usage[]={
|
|||||||
" -CAkey arg - set the CA key, must be PEM format\n",
|
" -CAkey arg - set the CA key, must be PEM format\n",
|
||||||
" missing, it is assumed to be in the CA file.\n",
|
" missing, it is assumed to be in the CA file.\n",
|
||||||
" -CAcreateserial - create serial number file if it does not exist\n",
|
" -CAcreateserial - create serial number file if it does not exist\n",
|
||||||
" -CAserial arg - serial file\n",
|
" -CAserial - serial file\n",
|
||||||
" -text - print the certificate in text form\n",
|
" -text - print the certificate in text form\n",
|
||||||
" -C - print out C code forms\n",
|
" -C - print out C code forms\n",
|
||||||
" -md2/-md5/-sha1/-mdc2 - digest to use\n",
|
" -md2/-md5/-sha1/-mdc2 - digest to use\n",
|
||||||
@@ -129,6 +130,7 @@ static char *x509_usage[]={
|
|||||||
" -extensions - section from config file with X509V3 extensions to add\n",
|
" -extensions - section from config file with X509V3 extensions to add\n",
|
||||||
" -clrext - delete extensions before signing and input certificate\n",
|
" -clrext - delete extensions before signing and input certificate\n",
|
||||||
" -nameopt arg - various certificate name options\n",
|
" -nameopt arg - various certificate name options\n",
|
||||||
|
" -engine e - use engine e, possibly a hardware device.\n",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -145,6 +147,7 @@ int MAIN(int, char **);
|
|||||||
|
|
||||||
int MAIN(int argc, char **argv)
|
int MAIN(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
ENGINE *e = NULL;
|
||||||
int ret=1;
|
int ret=1;
|
||||||
X509_REQ *req=NULL;
|
X509_REQ *req=NULL;
|
||||||
X509 *x=NULL,*xca=NULL;
|
X509 *x=NULL,*xca=NULL;
|
||||||
@@ -175,6 +178,7 @@ int MAIN(int argc, char **argv)
|
|||||||
int need_rand = 0;
|
int need_rand = 0;
|
||||||
int checkend=0,checkoffset=0;
|
int checkend=0,checkoffset=0;
|
||||||
unsigned long nmflag = 0;
|
unsigned long nmflag = 0;
|
||||||
|
char *engine=NULL;
|
||||||
|
|
||||||
reqfile=0;
|
reqfile=0;
|
||||||
|
|
||||||
@@ -337,6 +341,11 @@ int MAIN(int argc, char **argv)
|
|||||||
alias= *(++argv);
|
alias= *(++argv);
|
||||||
trustout = 1;
|
trustout = 1;
|
||||||
}
|
}
|
||||||
|
else if (strcmp(*argv,"-engine") == 0)
|
||||||
|
{
|
||||||
|
if (--argc < 1) goto bad;
|
||||||
|
engine= *(++argv);
|
||||||
|
}
|
||||||
else if (strcmp(*argv,"-C") == 0)
|
else if (strcmp(*argv,"-C") == 0)
|
||||||
C= ++num;
|
C= ++num;
|
||||||
else if (strcmp(*argv,"-email") == 0)
|
else if (strcmp(*argv,"-email") == 0)
|
||||||
@@ -420,6 +429,24 @@ bad:
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engine != NULL)
|
||||||
|
{
|
||||||
|
if((e = ENGINE_by_id(engine)) == NULL)
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"invalid engine \"%s\"\n",
|
||||||
|
engine);
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
if(!ENGINE_set_default(e, ENGINE_METHOD_ALL))
|
||||||
|
{
|
||||||
|
BIO_printf(bio_err,"can't use that engine\n");
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
BIO_printf(bio_err,"engine \"%s\" set.\n", engine);
|
||||||
|
/* Free our "structural" reference. */
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
|
||||||
if (need_rand)
|
if (need_rand)
|
||||||
app_RAND_load_file(NULL, bio_err, 0);
|
app_RAND_load_file(NULL, bio_err, 0);
|
||||||
|
|
||||||
@@ -447,7 +474,7 @@ bad:
|
|||||||
|
|
||||||
if (extfile)
|
if (extfile)
|
||||||
{
|
{
|
||||||
long errorline = -1;
|
long errorline;
|
||||||
X509V3_CTX ctx2;
|
X509V3_CTX ctx2;
|
||||||
if (!(extconf=CONF_load(NULL,extfile,&errorline)))
|
if (!(extconf=CONF_load(NULL,extfile,&errorline)))
|
||||||
{
|
{
|
||||||
@@ -961,7 +988,7 @@ end:
|
|||||||
sk_ASN1_OBJECT_pop_free(trust, ASN1_OBJECT_free);
|
sk_ASN1_OBJECT_pop_free(trust, ASN1_OBJECT_free);
|
||||||
sk_ASN1_OBJECT_pop_free(reject, ASN1_OBJECT_free);
|
sk_ASN1_OBJECT_pop_free(reject, ASN1_OBJECT_free);
|
||||||
if (passin) OPENSSL_free(passin);
|
if (passin) OPENSSL_free(passin);
|
||||||
OPENSSL_EXIT(ret);
|
EXIT(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int x509_certify(X509_STORE *ctx, char *CAfile, const EVP_MD *digest,
|
static int x509_certify(X509_STORE *ctx, char *CAfile, const EVP_MD *digest,
|
||||||
|
|||||||
38
config
38
config
@@ -317,10 +317,6 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
|
|||||||
*CRAY*)
|
*CRAY*)
|
||||||
echo "j90-cray-unicos"; exit 0;
|
echo "j90-cray-unicos"; exit 0;
|
||||||
;;
|
;;
|
||||||
|
|
||||||
NONSTOP_KERNEL*)
|
|
||||||
echo "nsr-tandem-nsk"; exit 0;
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -388,9 +384,6 @@ done
|
|||||||
GCCVER=`(gcc -dumpversion) 2>/dev/null`
|
GCCVER=`(gcc -dumpversion) 2>/dev/null`
|
||||||
if [ "$GCCVER" != "" ]; then
|
if [ "$GCCVER" != "" ]; then
|
||||||
CC=gcc
|
CC=gcc
|
||||||
# then strip off whatever prefix egcs prepends the number with...
|
|
||||||
# Hopefully, this will work for any future prefixes as well.
|
|
||||||
GCCVER=`echo $GCCVER | sed 's/^[a-zA-Z]*\-//'`
|
|
||||||
# Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion
|
# Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion
|
||||||
# does give us what we want though, so we use that. We just just the
|
# does give us what we want though, so we use that. We just just the
|
||||||
# major and minor version numbers.
|
# major and minor version numbers.
|
||||||
@@ -399,7 +392,6 @@ if [ "$GCCVER" != "" ]; then
|
|||||||
else
|
else
|
||||||
CC=cc
|
CC=cc
|
||||||
fi
|
fi
|
||||||
GCCVER=${GCCVER:-0}
|
|
||||||
if [ "$SYSTEM" = "HP-UX" ];then
|
if [ "$SYSTEM" = "HP-UX" ];then
|
||||||
# By default gcc is a ILP32 compiler (with long long == 64).
|
# By default gcc is a ILP32 compiler (with long long == 64).
|
||||||
GCC_BITS="32"
|
GCC_BITS="32"
|
||||||
@@ -477,8 +469,7 @@ case "$GUESSOS" in
|
|||||||
echo "WARNING! If you wish to build 64-bit library, then you have to"
|
echo "WARNING! If you wish to build 64-bit library, then you have to"
|
||||||
echo " invoke './Configure irix64-mips4-$CC' *manually*."
|
echo " invoke './Configure irix64-mips4-$CC' *manually*."
|
||||||
echo " Type return if you want to continue, Ctrl-C to abort."
|
echo " Type return if you want to continue, Ctrl-C to abort."
|
||||||
# Do not stop if /dev/tty is unavailable
|
read waste < /dev/tty
|
||||||
(read waste < /dev/tty) || true
|
|
||||||
CPU=`(hinv -t cpu) 2>/dev/null | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
|
CPU=`(hinv -t cpu) 2>/dev/null | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
|
||||||
CPU=${CPU:-0}
|
CPU=${CPU:-0}
|
||||||
if [ $CPU -ge 5000 ]; then
|
if [ $CPU -ge 5000 ]; then
|
||||||
@@ -533,8 +524,7 @@ EOF
|
|||||||
#echo "WARNING! If you wish to build 64-bit library, then you have to"
|
#echo "WARNING! If you wish to build 64-bit library, then you have to"
|
||||||
#echo " invoke './Configure linux64-sparcv9' *manually*."
|
#echo " invoke './Configure linux64-sparcv9' *manually*."
|
||||||
#echo " Type return if you want to continue, Ctrl-C to abort."
|
#echo " Type return if you want to continue, Ctrl-C to abort."
|
||||||
# Do not stop if /dev/tty is unavailable
|
#read waste < /dev/tty
|
||||||
#(read waste < /dev/tty) || true
|
|
||||||
OUT="linux-sparcv9" ;;
|
OUT="linux-sparcv9" ;;
|
||||||
sparc-*-linux2)
|
sparc-*-linux2)
|
||||||
KARCH=`awk '/^type/{print$3}' /proc/cpuinfo`
|
KARCH=`awk '/^type/{print$3}' /proc/cpuinfo`
|
||||||
@@ -575,8 +565,7 @@ EOF
|
|||||||
echo "WARNING! If you wish to build 64-bit library, then you have to"
|
echo "WARNING! If you wish to build 64-bit library, then you have to"
|
||||||
echo " invoke './Configure solaris64-sparcv9-cc' *manually*."
|
echo " invoke './Configure solaris64-sparcv9-cc' *manually*."
|
||||||
echo " Type return if you want to continue, Ctrl-C to abort."
|
echo " Type return if you want to continue, Ctrl-C to abort."
|
||||||
# Do not stop if /dev/tty is unavailable
|
read waste < /dev/tty
|
||||||
(read waste < /dev/tty) || true
|
|
||||||
fi
|
fi
|
||||||
OUT="solaris-sparcv9-$CC" ;;
|
OUT="solaris-sparcv9-$CC" ;;
|
||||||
sun4m-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
|
sun4m-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
|
||||||
@@ -637,15 +626,30 @@ EOF
|
|||||||
*-*-cygwin) OUT="Cygwin" ;;
|
*-*-cygwin) OUT="Cygwin" ;;
|
||||||
t3e-cray-unicosmk) OUT="cray-t3e" ;;
|
t3e-cray-unicosmk) OUT="cray-t3e" ;;
|
||||||
j90-cray-unicos) OUT="cray-j90" ;;
|
j90-cray-unicos) OUT="cray-j90" ;;
|
||||||
nsr-tandem-nsk) OUT="tandem-c89" ;;
|
|
||||||
*) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;;
|
*) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# NB: This atalla support has been superceded by the ENGINE support
|
||||||
|
# That contains its own header and definitions anyway. Support can
|
||||||
|
# be enabled or disabled on any supported platform without external
|
||||||
|
# headers, eg. by adding the "hw-atalla" switch to ./config or
|
||||||
|
# perl Configure
|
||||||
|
#
|
||||||
# See whether we can compile Atalla support
|
# See whether we can compile Atalla support
|
||||||
if [ -f /usr/include/atasi.h ]
|
#if [ -f /usr/include/atasi.h ]
|
||||||
|
#then
|
||||||
|
# options="$options -DATALLA"
|
||||||
|
#fi
|
||||||
|
|
||||||
|
#get some basic shared lib support (behnke@trustcenter.de)
|
||||||
|
case "$OUT" in
|
||||||
|
solaris-*-gcc)
|
||||||
|
if [ "$SHARED" = "true" ]
|
||||||
then
|
then
|
||||||
options="$options -DATALLA"
|
options="$options -DPIC -fPIC"
|
||||||
fi
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# gcc < 2.8 does not support -mcpu=ultrasparc
|
# gcc < 2.8 does not support -mcpu=ultrasparc
|
||||||
if [ "$OUT" = solaris-sparcv9-gcc -a $GCCVER -lt 28 ]
|
if [ "$OUT" = solaris-sparcv9-gcc -a $GCCVER -lt 28 ]
|
||||||
|
|||||||
@@ -27,15 +27,15 @@ LIBS=
|
|||||||
|
|
||||||
SDIRS= md2 md5 sha mdc2 hmac ripemd \
|
SDIRS= md2 md5 sha mdc2 hmac ripemd \
|
||||||
des rc2 rc4 rc5 idea bf cast \
|
des rc2 rc4 rc5 idea bf cast \
|
||||||
bn rsa dsa dh dso \
|
bn rsa dsa dh dso engine \
|
||||||
buffer bio stack lhash rand err objects \
|
buffer bio stack lhash rand err objects \
|
||||||
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp
|
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp
|
||||||
|
|
||||||
GENERAL=Makefile README crypto-lib.com install.com
|
GENERAL=Makefile README crypto-lib.com install.com
|
||||||
|
|
||||||
LIB= $(TOP)/libcrypto.a
|
LIB= $(TOP)/libcrypto.a
|
||||||
LIBSRC= cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c ebcdic.c uid.c
|
LIBSRC= cryptlib.c mem.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c ebcdic.c uid.c
|
||||||
LIBOBJ= cryptlib.o mem.o mem_clr.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o ebcdic.o uid.o
|
LIBOBJ= cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o ebcdic.o uid.o
|
||||||
|
|
||||||
SRC= $(LIBSRC)
|
SRC= $(LIBSRC)
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@ lint:
|
|||||||
|
|
||||||
depend:
|
depend:
|
||||||
if [ ! -f buildinf.h ]; then touch buildinf.h; fi # fake buildinf.h if it does not exist
|
if [ ! -f buildinf.h ]; then touch buildinf.h; fi # fake buildinf.h if it does not exist
|
||||||
$(MAKEDEPEND) -- $(INCLUDE) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDE) $(DEPFLAG) $(PROGS) $(LIBSRC)
|
||||||
if [ ! -s buildinf.h ]; then rm buildinf.h; fi
|
if [ ! -s buildinf.h ]; then rm buildinf.h; fi
|
||||||
@for i in $(SDIRS) ;\
|
@for i in $(SDIRS) ;\
|
||||||
do \
|
do \
|
||||||
@@ -185,9 +185,6 @@ mem.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
|||||||
mem.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
|
mem.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
|
||||||
mem.o: ../include/openssl/opensslv.h ../include/openssl/safestack.h
|
mem.o: ../include/openssl/opensslv.h ../include/openssl/safestack.h
|
||||||
mem.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
|
mem.o: ../include/openssl/stack.h ../include/openssl/symhacks.h cryptlib.h
|
||||||
mem_clr.o: ../include/openssl/crypto.h ../include/openssl/opensslv.h
|
|
||||||
mem_clr.o: ../include/openssl/safestack.h ../include/openssl/stack.h
|
|
||||||
mem_clr.o: ../include/openssl/symhacks.h
|
|
||||||
mem_dbg.o: ../include/openssl/bio.h ../include/openssl/buffer.h
|
mem_dbg.o: ../include/openssl/bio.h ../include/openssl/buffer.h
|
||||||
mem_dbg.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
|
mem_dbg.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
|
||||||
mem_dbg.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
mem_dbg.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
|
|||||||
@@ -199,10 +199,10 @@ int ASN1_sign(int (*i2d)(), X509_ALGOR *algor1, X509_ALGOR *algor2,
|
|||||||
signature->flags&= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07);
|
signature->flags&= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07);
|
||||||
signature->flags|=ASN1_STRING_FLAG_BITS_LEFT;
|
signature->flags|=ASN1_STRING_FLAG_BITS_LEFT;
|
||||||
err:
|
err:
|
||||||
OPENSSL_cleanse(&ctx,sizeof(ctx));
|
memset(&ctx,0,sizeof(ctx));
|
||||||
if (buf_in != NULL)
|
if (buf_in != NULL)
|
||||||
{ OPENSSL_cleanse((char *)buf_in,(unsigned int)inl); OPENSSL_free(buf_in); }
|
{ memset((char *)buf_in,0,(unsigned int)inl); OPENSSL_free(buf_in); }
|
||||||
if (buf_out != NULL)
|
if (buf_out != NULL)
|
||||||
{ OPENSSL_cleanse((char *)buf_out,outll); OPENSSL_free(buf_out); }
|
{ memset((char *)buf_out,0,outll); OPENSSL_free(buf_out); }
|
||||||
return(outl);
|
return(outl);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -519,7 +519,7 @@ int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in)
|
|||||||
{
|
{
|
||||||
ASN1_STRING stmp, *str = &stmp;
|
ASN1_STRING stmp, *str = &stmp;
|
||||||
int mbflag, type, ret;
|
int mbflag, type, ret;
|
||||||
if(!in) return -1;
|
if(!*out || !in) return -1;
|
||||||
type = in->type;
|
type = in->type;
|
||||||
if((type < 0) || (type > 30)) return -1;
|
if((type < 0) || (type > 30)) return -1;
|
||||||
mbflag = tag2nbyte[type];
|
mbflag = tag2nbyte[type];
|
||||||
@@ -528,6 +528,6 @@ int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in)
|
|||||||
stmp.data = NULL;
|
stmp.data = NULL;
|
||||||
ret = ASN1_mbstring_copy(&str, in->data, in->length, mbflag, B_ASN1_UTF8STRING);
|
ret = ASN1_mbstring_copy(&str, in->data, in->length, mbflag, B_ASN1_UTF8STRING);
|
||||||
if(ret < 0) return ret;
|
if(ret < 0) return ret;
|
||||||
*out = stmp.data;
|
if(out) *out = stmp.data;
|
||||||
return stmp.length;
|
return stmp.length;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -246,8 +246,6 @@ ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t)
|
|||||||
ts=(struct tm *)localtime(&t);
|
ts=(struct tm *)localtime(&t);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (ts == NULL)
|
|
||||||
return(NULL);
|
|
||||||
p=(char *)s->data;
|
p=(char *)s->data;
|
||||||
if ((p == NULL) || (s->length < 14))
|
if ((p == NULL) || (s->length < 14))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ int ASN1_verify(int (*i2d)(), X509_ALGOR *a, ASN1_BIT_STRING *signature,
|
|||||||
EVP_VerifyInit(&ctx,type);
|
EVP_VerifyInit(&ctx,type);
|
||||||
EVP_VerifyUpdate(&ctx,(unsigned char *)buf_in,inl);
|
EVP_VerifyUpdate(&ctx,(unsigned char *)buf_in,inl);
|
||||||
|
|
||||||
OPENSSL_cleanse(buf_in,(unsigned int)inl);
|
memset(buf_in,0,(unsigned int)inl);
|
||||||
OPENSSL_free(buf_in);
|
OPENSSL_free(buf_in);
|
||||||
|
|
||||||
if (EVP_VerifyFinal(&ctx,(unsigned char *)signature->data,
|
if (EVP_VerifyFinal(&ctx,(unsigned char *)signature->data,
|
||||||
|
|||||||
@@ -57,7 +57,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <limits.h>
|
|
||||||
#include "cryptlib.h"
|
#include "cryptlib.h"
|
||||||
#include <openssl/asn1.h>
|
#include <openssl/asn1.h>
|
||||||
#include <openssl/asn1_mac.h>
|
#include <openssl/asn1_mac.h>
|
||||||
@@ -125,7 +124,7 @@ int ASN1_get_object(unsigned char **pp, long *plength, int *ptag, int *pclass,
|
|||||||
(int)(omax+ *pp));
|
(int)(omax+ *pp));
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
if (*plength > (omax - (p - *pp)))
|
if (*plength > (omax - (*pp - p)))
|
||||||
{
|
{
|
||||||
ASN1err(ASN1_F_ASN1_GET_OBJECT,ASN1_R_TOO_LONG);
|
ASN1err(ASN1_F_ASN1_GET_OBJECT,ASN1_R_TOO_LONG);
|
||||||
/* Set this so that even if things are not long enough
|
/* Set this so that even if things are not long enough
|
||||||
@@ -142,7 +141,7 @@ err:
|
|||||||
static int asn1_get_length(unsigned char **pp, int *inf, long *rl, int max)
|
static int asn1_get_length(unsigned char **pp, int *inf, long *rl, int max)
|
||||||
{
|
{
|
||||||
unsigned char *p= *pp;
|
unsigned char *p= *pp;
|
||||||
unsigned long ret=0;
|
long ret=0;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (max-- < 1) return(0);
|
if (max-- < 1) return(0);
|
||||||
@@ -171,10 +170,10 @@ static int asn1_get_length(unsigned char **pp, int *inf, long *rl, int max)
|
|||||||
else
|
else
|
||||||
ret=i;
|
ret=i;
|
||||||
}
|
}
|
||||||
if (ret > LONG_MAX)
|
if (ret < 0)
|
||||||
return 0;
|
return 0;
|
||||||
*pp=p;
|
*pp=p;
|
||||||
*rl=(long)ret;
|
*rl=ret;
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ int i2d_RSA_NET(RSA *a, unsigned char **pp, int (*cb)(), int sgckey)
|
|||||||
}
|
}
|
||||||
|
|
||||||
EVP_BytesToKey(EVP_rc4(),EVP_md5(),NULL,buf,i,1,key,NULL);
|
EVP_BytesToKey(EVP_rc4(),EVP_md5(),NULL,buf,i,1,key,NULL);
|
||||||
OPENSSL_cleanse(buf,256);
|
memset(buf,0,256);
|
||||||
|
|
||||||
EVP_CIPHER_CTX_init(&ctx);
|
EVP_CIPHER_CTX_init(&ctx);
|
||||||
EVP_EncryptInit(&ctx,EVP_rc4(),key,NULL);
|
EVP_EncryptInit(&ctx,EVP_rc4(),key,NULL);
|
||||||
@@ -292,7 +292,7 @@ RSA *d2i_RSA_NET_2(RSA **a, unsigned char **pp, long length,
|
|||||||
}
|
}
|
||||||
|
|
||||||
EVP_BytesToKey(EVP_rc4(),EVP_md5(),NULL,buf,i,1,key,NULL);
|
EVP_BytesToKey(EVP_rc4(),EVP_md5(),NULL,buf,i,1,key,NULL);
|
||||||
OPENSSL_cleanse(buf,256);
|
memset(buf,0,256);
|
||||||
|
|
||||||
EVP_CIPHER_CTX_init(&ctx);
|
EVP_CIPHER_CTX_init(&ctx);
|
||||||
EVP_DecryptInit(&ctx,EVP_rc4(),key,NULL);
|
EVP_DecryptInit(&ctx,EVP_rc4(),key,NULL);
|
||||||
|
|||||||
@@ -119,8 +119,8 @@ void PKCS8_PRIV_KEY_INFO_free (PKCS8_PRIV_KEY_INFO *a)
|
|||||||
X509_ALGOR_free(a->pkeyalg);
|
X509_ALGOR_free(a->pkeyalg);
|
||||||
/* Clear sensitive data */
|
/* Clear sensitive data */
|
||||||
if (a->pkey->value.octet_string)
|
if (a->pkey->value.octet_string)
|
||||||
OPENSSL_cleanse(a->pkey->value.octet_string->data,
|
memset (a->pkey->value.octet_string->data,
|
||||||
a->pkey->value.octet_string->length);
|
0, a->pkey->value.octet_string->length);
|
||||||
ASN1_TYPE_free (a->pkey);
|
ASN1_TYPE_free (a->pkey);
|
||||||
sk_X509_ATTRIBUTE_pop_free (a->attributes, X509_ATTRIBUTE_free);
|
sk_X509_ATTRIBUTE_pop_free (a->attributes, X509_ATTRIBUTE_free);
|
||||||
OPENSSL_free (a);
|
OPENSSL_free (a);
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
|
|||||||
@@ -63,8 +63,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "../e_os.h"
|
|
||||||
|
|
||||||
#ifdef NO_BF
|
#ifdef NO_BF
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
@@ -277,7 +275,7 @@ int main(int argc, char *argv[])
|
|||||||
else
|
else
|
||||||
ret=test();
|
ret=test();
|
||||||
|
|
||||||
EXIT(ret);
|
exit(ret);
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
|
|||||||
@@ -109,7 +109,7 @@
|
|||||||
* o ... (for OpenSSL)
|
* o ... (for OpenSSL)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_LONG_DOUBLE
|
#if HAVE_LONG_DOUBLE
|
||||||
#define LDOUBLE long double
|
#define LDOUBLE long double
|
||||||
#else
|
#else
|
||||||
#define LDOUBLE double
|
#define LDOUBLE double
|
||||||
|
|||||||
@@ -241,7 +241,7 @@ typedef struct bio_method_st
|
|||||||
long (_far *ctrl)();
|
long (_far *ctrl)();
|
||||||
int (_far *create)();
|
int (_far *create)();
|
||||||
int (_far *destroy)();
|
int (_far *destroy)();
|
||||||
long (_far *callback_ctrl)();
|
long (_fat *callback_ctrl)();
|
||||||
} BIO_METHOD;
|
} BIO_METHOD;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ extern "C" {
|
|||||||
#define BN_BYTES 4
|
#define BN_BYTES 4
|
||||||
#define BN_BITS2 32
|
#define BN_BITS2 32
|
||||||
#define BN_BITS4 16
|
#define BN_BITS4 16
|
||||||
#if defined(_MSC_VER) || defined(__BORLANDC__)
|
#ifdef _MSC_VER
|
||||||
/* VC++ doesn't like the LL suffix */
|
/* VC++ doesn't like the LL suffix */
|
||||||
#define BN_MASK (0xffffffffffffffffL)
|
#define BN_MASK (0xffffffffffffffffL)
|
||||||
#else
|
#else
|
||||||
@@ -413,7 +413,7 @@ int BN_mod_mul_montgomery(BIGNUM *r,BIGNUM *a,BIGNUM *b,BN_MONT_CTX *mont,
|
|||||||
BN_CTX *ctx);
|
BN_CTX *ctx);
|
||||||
int BN_from_montgomery(BIGNUM *r,BIGNUM *a,BN_MONT_CTX *mont,BN_CTX *ctx);
|
int BN_from_montgomery(BIGNUM *r,BIGNUM *a,BN_MONT_CTX *mont,BN_CTX *ctx);
|
||||||
void BN_MONT_CTX_free(BN_MONT_CTX *mont);
|
void BN_MONT_CTX_free(BN_MONT_CTX *mont);
|
||||||
int BN_MONT_CTX_set(BN_MONT_CTX *mont,const BIGNUM *mod,BN_CTX *ctx);
|
int BN_MONT_CTX_set(BN_MONT_CTX *mont,const BIGNUM *modulus,BN_CTX *ctx);
|
||||||
BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to,BN_MONT_CTX *from);
|
BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to,BN_MONT_CTX *from);
|
||||||
|
|
||||||
BN_BLINDING *BN_BLINDING_new(BIGNUM *A,BIGNUM *Ai,BIGNUM *mod);
|
BN_BLINDING *BN_BLINDING_new(BIGNUM *A,BIGNUM *Ai,BIGNUM *mod);
|
||||||
|
|||||||
@@ -113,13 +113,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "cryptlib.h"
|
#include "cryptlib.h"
|
||||||
#include "bn_lcl.h"
|
#include "bn_lcl.h"
|
||||||
#ifdef ATALLA
|
|
||||||
# include <alloca.h>
|
|
||||||
# include <atasi.h>
|
|
||||||
# include <assert.h>
|
|
||||||
# include <dlfcn.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define TABLE_SIZE 32
|
#define TABLE_SIZE 32
|
||||||
|
|
||||||
@@ -183,174 +176,6 @@ err:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef ATALLA
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This routine will dynamically check for the existance of an Atalla AXL-200
|
|
||||||
* SSL accelerator module. If one is found, the variable
|
|
||||||
* asi_accelerator_present is set to 1 and the function pointers
|
|
||||||
* ptr_ASI_xxxxxx above will be initialized to corresponding ASI API calls.
|
|
||||||
*/
|
|
||||||
typedef int tfnASI_GetPerformanceStatistics(int reset_flag,
|
|
||||||
unsigned int *ret_buf);
|
|
||||||
typedef int tfnASI_GetHardwareConfig(long card_num, unsigned int *ret_buf);
|
|
||||||
typedef int tfnASI_RSAPrivateKeyOpFn(RSAPrivateKey * rsaKey,
|
|
||||||
unsigned char *output,
|
|
||||||
unsigned char *input,
|
|
||||||
unsigned int modulus_len);
|
|
||||||
|
|
||||||
static tfnASI_GetHardwareConfig *ptr_ASI_GetHardwareConfig;
|
|
||||||
static tfnASI_RSAPrivateKeyOpFn *ptr_ASI_RSAPrivateKeyOpFn;
|
|
||||||
static tfnASI_GetPerformanceStatistics *ptr_ASI_GetPerformanceStatistics;
|
|
||||||
static int asi_accelerator_present;
|
|
||||||
static int tried_atalla;
|
|
||||||
|
|
||||||
void atalla_initialize_accelerator_handle(void)
|
|
||||||
{
|
|
||||||
void *dl_handle;
|
|
||||||
int status;
|
|
||||||
unsigned int config_buf[1024];
|
|
||||||
static int tested;
|
|
||||||
|
|
||||||
if(tested)
|
|
||||||
return;
|
|
||||||
|
|
||||||
tested=1;
|
|
||||||
|
|
||||||
bzero((void *)config_buf, 1024);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Check to see if the library is present on the system
|
|
||||||
*/
|
|
||||||
dl_handle = dlopen("atasi.so", RTLD_NOW);
|
|
||||||
if (dl_handle == (void *) NULL)
|
|
||||||
{
|
|
||||||
/* printf("atasi.so library is not present on the system\n");
|
|
||||||
printf("No HW acceleration available\n");*/
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The library is present. Now we'll check to insure that the
|
|
||||||
* LDM is up and running. First we'll get the address of the
|
|
||||||
* function in the atasi library that we need to see if the
|
|
||||||
* LDM is operating.
|
|
||||||
*/
|
|
||||||
|
|
||||||
ptr_ASI_GetHardwareConfig =
|
|
||||||
(tfnASI_GetHardwareConfig *)dlsym(dl_handle,"ASI_GetHardwareConfig");
|
|
||||||
|
|
||||||
if (ptr_ASI_GetHardwareConfig)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* We found the call, now we'll get our config
|
|
||||||
* status. If we get a non 0 result, the LDM is not
|
|
||||||
* running and we cannot use the Atalla ASI *
|
|
||||||
* library.
|
|
||||||
*/
|
|
||||||
status = (*ptr_ASI_GetHardwareConfig)(0L, config_buf);
|
|
||||||
if (status != 0)
|
|
||||||
{
|
|
||||||
printf("atasi.so library is present but not initialized\n");
|
|
||||||
printf("No HW acceleration available\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* printf("We found the library, but not the function. Very Strange!\n");*/
|
|
||||||
return ;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* It looks like we have acceleration capabilities. Load up the
|
|
||||||
* pointers to our ASI API calls.
|
|
||||||
*/
|
|
||||||
ptr_ASI_RSAPrivateKeyOpFn=
|
|
||||||
(tfnASI_RSAPrivateKeyOpFn *)dlsym(dl_handle, "ASI_RSAPrivateKeyOpFn");
|
|
||||||
if (ptr_ASI_RSAPrivateKeyOpFn == NULL)
|
|
||||||
{
|
|
||||||
/* printf("We found the library, but no RSA function. Very Strange!\n");*/
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ptr_ASI_GetPerformanceStatistics =
|
|
||||||
(tfnASI_GetPerformanceStatistics *)dlsym(dl_handle, "ASI_GetPerformanceStatistics");
|
|
||||||
if (ptr_ASI_GetPerformanceStatistics == NULL)
|
|
||||||
{
|
|
||||||
/* printf("We found the library, but no stat function. Very Strange!\n");*/
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Indicate that acceleration is available
|
|
||||||
*/
|
|
||||||
asi_accelerator_present = 1;
|
|
||||||
|
|
||||||
/* printf("This system has acceleration!\n");*/
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* make sure this only gets called once when bn_mod_exp calls bn_mod_exp_mont */
|
|
||||||
int BN_mod_exp_atalla(BIGNUM *r, BIGNUM *a, const BIGNUM *p, const BIGNUM *m)
|
|
||||||
{
|
|
||||||
unsigned char *abin;
|
|
||||||
unsigned char *pbin;
|
|
||||||
unsigned char *mbin;
|
|
||||||
unsigned char *rbin;
|
|
||||||
int an,pn,mn,ret;
|
|
||||||
RSAPrivateKey keydata;
|
|
||||||
|
|
||||||
atalla_initialize_accelerator_handle();
|
|
||||||
if(!asi_accelerator_present)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
|
|
||||||
/* We should be able to run without size testing */
|
|
||||||
# define ASIZE 128
|
|
||||||
an=BN_num_bytes(a);
|
|
||||||
pn=BN_num_bytes(p);
|
|
||||||
mn=BN_num_bytes(m);
|
|
||||||
|
|
||||||
if(an <= ASIZE && pn <= ASIZE && mn <= ASIZE)
|
|
||||||
{
|
|
||||||
int size=mn;
|
|
||||||
|
|
||||||
assert(an <= mn);
|
|
||||||
abin=alloca(size);
|
|
||||||
memset(abin,'\0',mn);
|
|
||||||
BN_bn2bin(a,abin+size-an);
|
|
||||||
|
|
||||||
pbin=alloca(pn);
|
|
||||||
BN_bn2bin(p,pbin);
|
|
||||||
|
|
||||||
mbin=alloca(size);
|
|
||||||
memset(mbin,'\0',mn);
|
|
||||||
BN_bn2bin(m,mbin+size-mn);
|
|
||||||
|
|
||||||
rbin=alloca(size);
|
|
||||||
|
|
||||||
memset(&keydata,'\0',sizeof keydata);
|
|
||||||
keydata.privateExponent.data=pbin;
|
|
||||||
keydata.privateExponent.len=pn;
|
|
||||||
keydata.modulus.data=mbin;
|
|
||||||
keydata.modulus.len=size;
|
|
||||||
|
|
||||||
ret=(*ptr_ASI_RSAPrivateKeyOpFn)(&keydata,rbin,abin,keydata.modulus.len);
|
|
||||||
/*fprintf(stderr,"!%s\n",BN_bn2hex(a));*/
|
|
||||||
if(!ret)
|
|
||||||
{
|
|
||||||
BN_bin2bn(rbin,keydata.modulus.len,r);
|
|
||||||
/*fprintf(stderr,"?%s\n",BN_bn2hex(r));*/
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif /* def ATALLA */
|
|
||||||
|
|
||||||
|
|
||||||
int BN_mod_exp(BIGNUM *r, BIGNUM *a, const BIGNUM *p, const BIGNUM *m,
|
int BN_mod_exp(BIGNUM *r, BIGNUM *a, const BIGNUM *p, const BIGNUM *m,
|
||||||
BN_CTX *ctx)
|
BN_CTX *ctx)
|
||||||
{
|
{
|
||||||
@@ -360,13 +185,6 @@ int BN_mod_exp(BIGNUM *r, BIGNUM *a, const BIGNUM *p, const BIGNUM *m,
|
|||||||
bn_check_top(p);
|
bn_check_top(p);
|
||||||
bn_check_top(m);
|
bn_check_top(m);
|
||||||
|
|
||||||
#ifdef ATALLA
|
|
||||||
if(BN_mod_exp_atalla(r,a,p,m))
|
|
||||||
return 1;
|
|
||||||
/* If it fails, try the other methods (but don't try atalla again) */
|
|
||||||
tried_atalla=1;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef MONT_MUL_MOD
|
#ifdef MONT_MUL_MOD
|
||||||
/* I have finally been able to take out this pre-condition of
|
/* I have finally been able to take out this pre-condition of
|
||||||
* the top bit being set. It was caused by an error in BN_div
|
* the top bit being set. It was caused by an error in BN_div
|
||||||
@@ -392,10 +210,6 @@ int BN_mod_exp(BIGNUM *r, BIGNUM *a, const BIGNUM *p, const BIGNUM *m,
|
|||||||
{ ret=BN_mod_exp_simple(r,a,p,m,ctx); }
|
{ ret=BN_mod_exp_simple(r,a,p,m,ctx); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ATALLA
|
|
||||||
tried_atalla=0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -525,12 +339,6 @@ int BN_mod_exp_mont(BIGNUM *rr, BIGNUM *a, const BIGNUM *p,
|
|||||||
bn_check_top(p);
|
bn_check_top(p);
|
||||||
bn_check_top(m);
|
bn_check_top(m);
|
||||||
|
|
||||||
#ifdef ATALLA
|
|
||||||
if(!tried_atalla && BN_mod_exp_atalla(rr,a,p,m))
|
|
||||||
return 1;
|
|
||||||
/* If it fails, try the other methods */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!(m->d[0] & 1))
|
if (!(m->d[0] & 1))
|
||||||
{
|
{
|
||||||
BNerr(BN_F_BN_MOD_EXP_MONT,BN_R_CALLED_WITH_EVEN_MODULUS);
|
BNerr(BN_F_BN_MOD_EXP_MONT,BN_R_CALLED_WITH_EVEN_MODULUS);
|
||||||
@@ -693,19 +501,6 @@ int BN_mod_exp_mont_word(BIGNUM *rr, BN_ULONG a, const BIGNUM *p,
|
|||||||
t = BN_CTX_get(ctx);
|
t = BN_CTX_get(ctx);
|
||||||
if (d == NULL || r == NULL || t == NULL) goto err;
|
if (d == NULL || r == NULL || t == NULL) goto err;
|
||||||
|
|
||||||
#ifdef ATALLA
|
|
||||||
if (!tried_atalla)
|
|
||||||
{
|
|
||||||
BN_set_word(t, a);
|
|
||||||
if (BN_mod_exp_atalla(rr, t, p, m))
|
|
||||||
{
|
|
||||||
BN_CTX_end(ctx);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* If it fails, try the other methods */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (in_mont != NULL)
|
if (in_mont != NULL)
|
||||||
mont=in_mont;
|
mont=in_mont;
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -263,12 +263,12 @@ void BN_clear_free(BIGNUM *a)
|
|||||||
if (a == NULL) return;
|
if (a == NULL) return;
|
||||||
if (a->d != NULL)
|
if (a->d != NULL)
|
||||||
{
|
{
|
||||||
OPENSSL_cleanse(a->d,a->dmax*sizeof(a->d[0]));
|
memset(a->d,0,a->dmax*sizeof(a->d[0]));
|
||||||
if (!(BN_get_flags(a,BN_FLG_STATIC_DATA)))
|
if (!(BN_get_flags(a,BN_FLG_STATIC_DATA)))
|
||||||
OPENSSL_free(a->d);
|
OPENSSL_free(a->d);
|
||||||
}
|
}
|
||||||
i=BN_get_flags(a,BN_FLG_MALLOCED);
|
i=BN_get_flags(a,BN_FLG_MALLOCED);
|
||||||
OPENSSL_cleanse(a,sizeof(BIGNUM));
|
memset(a,0,sizeof(BIGNUM));
|
||||||
if (i)
|
if (i)
|
||||||
OPENSSL_free(a);
|
OPENSSL_free(a);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ static int bnrand(int pseudorand, BIGNUM *rnd, int bits, int top, int bottom)
|
|||||||
err:
|
err:
|
||||||
if (buf != NULL)
|
if (buf != NULL)
|
||||||
{
|
{
|
||||||
OPENSSL_cleanse(buf,bytes);
|
memset(buf,0,bytes);
|
||||||
OPENSSL_free(buf);
|
OPENSSL_free(buf);
|
||||||
}
|
}
|
||||||
return(ret);
|
return(ret);
|
||||||
|
|||||||
@@ -123,9 +123,6 @@ int BN_add_word(BIGNUM *a, BN_ULONG w)
|
|||||||
i=0;
|
i=0;
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
if (i >= a->top)
|
|
||||||
l=w;
|
|
||||||
else
|
|
||||||
l=(a->d[i]+(BN_ULONG)w)&BN_MASK2;
|
l=(a->d[i]+(BN_ULONG)w)&BN_MASK2;
|
||||||
a->d[i]=l;
|
a->d[i]=l;
|
||||||
if (w > l)
|
if (w > l)
|
||||||
|
|||||||
@@ -139,10 +139,10 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
|
|
||||||
ctx=BN_CTX_new();
|
ctx=BN_CTX_new();
|
||||||
if (ctx == NULL) EXIT(1);
|
if (ctx == NULL) exit(1);
|
||||||
|
|
||||||
out=BIO_new(BIO_s_file());
|
out=BIO_new(BIO_s_file());
|
||||||
if (out == NULL) EXIT(1);
|
if (out == NULL) exit(1);
|
||||||
if (outfile == NULL)
|
if (outfile == NULL)
|
||||||
{
|
{
|
||||||
BIO_set_fp(out,stdout,BIO_NOCLOSE);
|
BIO_set_fp(out,stdout,BIO_NOCLOSE);
|
||||||
@@ -152,7 +152,7 @@ int main(int argc, char *argv[])
|
|||||||
if (!BIO_write_filename(out,outfile))
|
if (!BIO_write_filename(out,outfile))
|
||||||
{
|
{
|
||||||
perror(outfile);
|
perror(outfile);
|
||||||
EXIT(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,14 +228,14 @@ int main(int argc, char *argv[])
|
|||||||
BIO_free(out);
|
BIO_free(out);
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
EXIT(0);
|
exit(0);
|
||||||
err:
|
err:
|
||||||
BIO_puts(out,"1\n"); /* make sure the Perl script fed by bc notices
|
BIO_puts(out,"1\n"); /* make sure the Perl script fed by bc notices
|
||||||
* the failure, see test_bn in test/Makefile.ssl*/
|
* the failure, see test_bn in test/Makefile.ssl*/
|
||||||
BIO_flush(out);
|
BIO_flush(out);
|
||||||
ERR_load_crypto_strings();
|
ERR_load_crypto_strings();
|
||||||
ERR_print_errors_fp(stderr);
|
ERR_print_errors_fp(stderr);
|
||||||
EXIT(1);
|
exit(1);
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -746,7 +746,7 @@ int test_mod_mul(BIO *bp, BN_CTX *ctx)
|
|||||||
while ((l=ERR_get_error()))
|
while ((l=ERR_get_error()))
|
||||||
fprintf(stderr,"ERROR:%s\n",
|
fprintf(stderr,"ERROR:%s\n",
|
||||||
ERR_error_string(l,NULL));
|
ERR_error_string(l,NULL));
|
||||||
EXIT(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
if (bp != NULL)
|
if (bp != NULL)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -59,9 +59,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "../e_os.h"
|
|
||||||
|
|
||||||
#include <openssl/bio.h>
|
#include <openssl/bio.h>
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
#include <openssl/rand.h>
|
#include <openssl/rand.h>
|
||||||
@@ -89,7 +86,7 @@ int main(int argc, char *argv[])
|
|||||||
ERR_load_BN_strings();
|
ERR_load_BN_strings();
|
||||||
|
|
||||||
ctx=BN_CTX_new();
|
ctx=BN_CTX_new();
|
||||||
if (ctx == NULL) EXIT(1);
|
if (ctx == NULL) exit(1);
|
||||||
r_mont=BN_new();
|
r_mont=BN_new();
|
||||||
r_recp=BN_new();
|
r_recp=BN_new();
|
||||||
r_simple=BN_new();
|
r_simple=BN_new();
|
||||||
@@ -102,7 +99,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
out=BIO_new(BIO_s_file());
|
out=BIO_new(BIO_s_file());
|
||||||
|
|
||||||
if (out == NULL) EXIT(1);
|
if (out == NULL) exit(1);
|
||||||
BIO_set_fp(out,stdout,BIO_NOCLOSE);
|
BIO_set_fp(out,stdout,BIO_NOCLOSE);
|
||||||
|
|
||||||
for (i=0; i<200; i++)
|
for (i=0; i<200; i++)
|
||||||
@@ -127,7 +124,7 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
printf("BN_mod_exp_mont() problems\n");
|
printf("BN_mod_exp_mont() problems\n");
|
||||||
ERR_print_errors(out);
|
ERR_print_errors(out);
|
||||||
EXIT(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret=BN_mod_exp_recp(r_recp,a,b,m,ctx);
|
ret=BN_mod_exp_recp(r_recp,a,b,m,ctx);
|
||||||
@@ -135,7 +132,7 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
printf("BN_mod_exp_recp() problems\n");
|
printf("BN_mod_exp_recp() problems\n");
|
||||||
ERR_print_errors(out);
|
ERR_print_errors(out);
|
||||||
EXIT(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret=BN_mod_exp_simple(r_simple,a,b,m,ctx);
|
ret=BN_mod_exp_simple(r_simple,a,b,m,ctx);
|
||||||
@@ -143,7 +140,7 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
printf("BN_mod_exp_simple() problems\n");
|
printf("BN_mod_exp_simple() problems\n");
|
||||||
ERR_print_errors(out);
|
ERR_print_errors(out);
|
||||||
EXIT(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (BN_cmp(r_simple, r_mont) == 0
|
if (BN_cmp(r_simple, r_mont) == 0
|
||||||
@@ -166,7 +163,7 @@ int main(int argc, char *argv[])
|
|||||||
printf("\nrecp ="); BN_print(out,r_recp);
|
printf("\nrecp ="); BN_print(out,r_recp);
|
||||||
printf("\nmont ="); BN_print(out,r_mont);
|
printf("\nmont ="); BN_print(out,r_mont);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
EXIT(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BN_free(r_mont);
|
BN_free(r_mont);
|
||||||
@@ -180,11 +177,11 @@ int main(int argc, char *argv[])
|
|||||||
CRYPTO_mem_leaks(out);
|
CRYPTO_mem_leaks(out);
|
||||||
BIO_free(out);
|
BIO_free(out);
|
||||||
printf(" done\n");
|
printf(" done\n");
|
||||||
EXIT(0);
|
exit(0);
|
||||||
err:
|
err:
|
||||||
ERR_load_crypto_strings();
|
ERR_load_crypto_strings();
|
||||||
ERR_print_errors(out);
|
ERR_print_errors(out);
|
||||||
EXIT(1);
|
exit(1);
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
|
|||||||
@@ -60,8 +60,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "../e_os.h"
|
|
||||||
|
|
||||||
#ifdef NO_CAST
|
#ifdef NO_CAST
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
@@ -226,7 +224,7 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
EXIT(err);
|
exit(err);
|
||||||
return(err);
|
return(err);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(LIBSRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(LIBSRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
|
|||||||
@@ -224,9 +224,9 @@ static int def_load(CONF *conf, BIO *in, long *line)
|
|||||||
section_sk=(STACK_OF(CONF_VALUE) *)sv->value;
|
section_sk=(STACK_OF(CONF_VALUE) *)sv->value;
|
||||||
|
|
||||||
bufnum=0;
|
bufnum=0;
|
||||||
again=0;
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
|
again=0;
|
||||||
if (!BUF_MEM_grow(buff,bufnum+BUFSIZE))
|
if (!BUF_MEM_grow(buff,bufnum+BUFSIZE))
|
||||||
{
|
{
|
||||||
CONFerr(CONF_F_CONF_LOAD_BIO,ERR_R_BUF_LIB);
|
CONFerr(CONF_F_CONF_LOAD_BIO,ERR_R_BUF_LIB);
|
||||||
@@ -237,8 +237,7 @@ static int def_load(CONF *conf, BIO *in, long *line)
|
|||||||
BIO_gets(in, p, BUFSIZE-1);
|
BIO_gets(in, p, BUFSIZE-1);
|
||||||
p[BUFSIZE-1]='\0';
|
p[BUFSIZE-1]='\0';
|
||||||
ii=i=strlen(p);
|
ii=i=strlen(p);
|
||||||
if (i == 0 && !again) break;
|
if (i == 0) break;
|
||||||
again=0;
|
|
||||||
while (i > 0)
|
while (i > 0)
|
||||||
{
|
{
|
||||||
if ((p[i-1] != '\r') && (p[i-1] != '\n'))
|
if ((p[i-1] != '\r') && (p[i-1] != '\n'))
|
||||||
@@ -248,7 +247,7 @@ static int def_load(CONF *conf, BIO *in, long *line)
|
|||||||
}
|
}
|
||||||
/* we removed some trailing stuff so there is a new
|
/* we removed some trailing stuff so there is a new
|
||||||
* line on the end. */
|
* line on the end. */
|
||||||
if (ii && i == ii)
|
if (i == ii)
|
||||||
again=1; /* long line */
|
again=1; /* long line */
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -58,7 +58,6 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <assert.h>
|
|
||||||
#include "cryptlib.h"
|
#include "cryptlib.h"
|
||||||
#include <openssl/crypto.h>
|
#include <openssl/crypto.h>
|
||||||
#include <openssl/safestack.h>
|
#include <openssl/safestack.h>
|
||||||
@@ -90,7 +89,6 @@ static const char* lock_names[CRYPTO_NUM_LOCKS] =
|
|||||||
"ssl_session",
|
"ssl_session",
|
||||||
"ssl_sess_cert",
|
"ssl_sess_cert",
|
||||||
"ssl",
|
"ssl",
|
||||||
/* "ssl_method", */
|
|
||||||
"rand",
|
"rand",
|
||||||
"rand2",
|
"rand2",
|
||||||
"debug_malloc",
|
"debug_malloc",
|
||||||
@@ -103,7 +101,8 @@ static const char* lock_names[CRYPTO_NUM_LOCKS] =
|
|||||||
"debug_malloc2",
|
"debug_malloc2",
|
||||||
"dso",
|
"dso",
|
||||||
"dynlock",
|
"dynlock",
|
||||||
#if CRYPTO_NUM_LOCKS != 29
|
"engine",
|
||||||
|
#if CRYPTO_NUM_LOCKS != 30
|
||||||
# error "Inconsistency between crypto.h and cryptlib.c"
|
# error "Inconsistency between crypto.h and cryptlib.c"
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
@@ -206,18 +205,10 @@ int CRYPTO_get_new_dynlockid(void)
|
|||||||
i=sk_CRYPTO_dynlock_find(dyn_locks,NULL);
|
i=sk_CRYPTO_dynlock_find(dyn_locks,NULL);
|
||||||
/* If there was none, push, thereby creating a new one */
|
/* If there was none, push, thereby creating a new one */
|
||||||
if (i == -1)
|
if (i == -1)
|
||||||
/* Since sk_push() returns the number of items on the
|
i=sk_CRYPTO_dynlock_push(dyn_locks,pointer);
|
||||||
stack, not the location of the pushed item, we need
|
|
||||||
to transform the returned number into a position,
|
|
||||||
by decreasing it. */
|
|
||||||
i=sk_CRYPTO_dynlock_push(dyn_locks,pointer) - 1;
|
|
||||||
else
|
|
||||||
/* If we found a place with a NULL pointer, put our pointer
|
|
||||||
in it. */
|
|
||||||
sk_CRYPTO_dynlock_set(dyn_locks,i,pointer);
|
|
||||||
CRYPTO_w_unlock(CRYPTO_LOCK_DYNLOCK);
|
CRYPTO_w_unlock(CRYPTO_LOCK_DYNLOCK);
|
||||||
|
|
||||||
if (i == -1)
|
if (!i)
|
||||||
{
|
{
|
||||||
dynlock_destroy_callback(pointer->data,__FILE__,__LINE__);
|
dynlock_destroy_callback(pointer->data,__FILE__,__LINE__);
|
||||||
OPENSSL_free(pointer);
|
OPENSSL_free(pointer);
|
||||||
@@ -408,19 +399,17 @@ void CRYPTO_lock(int mode, int type, const char *file, int line)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (type < 0)
|
if (type < 0)
|
||||||
{
|
|
||||||
if (dynlock_lock_callback != NULL)
|
|
||||||
{
|
{
|
||||||
struct CRYPTO_dynlock_value *pointer
|
struct CRYPTO_dynlock_value *pointer
|
||||||
= CRYPTO_get_dynlock_value(type);
|
= CRYPTO_get_dynlock_value(type);
|
||||||
|
|
||||||
assert(pointer != NULL);
|
if (pointer && dynlock_lock_callback)
|
||||||
|
{
|
||||||
dynlock_lock_callback(mode, pointer, file, line);
|
dynlock_lock_callback(mode, pointer, file, line);
|
||||||
|
}
|
||||||
|
|
||||||
CRYPTO_destroy_dynlockid(type);
|
CRYPTO_destroy_dynlockid(type);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
else
|
||||||
if (locking_callback != NULL)
|
if (locking_callback != NULL)
|
||||||
locking_callback(mode,type,file,line);
|
locking_callback(mode,type,file,line);
|
||||||
@@ -470,7 +459,7 @@ const char *CRYPTO_get_lock_name(int type)
|
|||||||
return("dynamic");
|
return("dynamic");
|
||||||
else if (type < CRYPTO_NUM_LOCKS)
|
else if (type < CRYPTO_NUM_LOCKS)
|
||||||
return(lock_names[type]);
|
return(lock_names[type]);
|
||||||
else if (type-CRYPTO_NUM_LOCKS > sk_num(app_locks))
|
else if (type-CRYPTO_NUM_LOCKS >= sk_num(app_locks))
|
||||||
return("ERROR");
|
return("ERROR");
|
||||||
else
|
else
|
||||||
return(sk_value(app_locks,type-CRYPTO_NUM_LOCKS));
|
return(sk_value(app_locks,type-CRYPTO_NUM_LOCKS));
|
||||||
@@ -502,3 +491,11 @@ BOOL WINAPI DLLEntryPoint(HINSTANCE hinstDLL, DWORD fdwReason,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void OpenSSLDie(const char *file,int line,const char *assertion)
|
||||||
|
{
|
||||||
|
fprintf(stderr,"%s(%d): OpenSSL internal error, assertion failed: %s\n",
|
||||||
|
file,line,assertion);
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -93,6 +93,10 @@ extern "C" {
|
|||||||
#define DECIMAL_SIZE(type) ((sizeof(type)*8+2)/3+1)
|
#define DECIMAL_SIZE(type) ((sizeof(type)*8+2)/3+1)
|
||||||
#define HEX_SIZE(type) ((sizeof(type)*2)
|
#define HEX_SIZE(type) ((sizeof(type)*2)
|
||||||
|
|
||||||
|
/* die if we have to */
|
||||||
|
void OpenSSLDie(const char *file,int line,const char *assertion);
|
||||||
|
#define die(e) ((e) ? (void)0 : OpenSSLDie(__FILE__, __LINE__, #e))
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ $! Define The Different Encryption Types.
|
|||||||
$!
|
$!
|
||||||
$ ENCRYPT_TYPES = "Basic,MD2,MD4,MD5,SHA,MDC2,HMAC,RIPEMD,"+ -
|
$ ENCRYPT_TYPES = "Basic,MD2,MD4,MD5,SHA,MDC2,HMAC,RIPEMD,"+ -
|
||||||
"DES,RC2,RC4,RC5,IDEA,BF,CAST,"+ -
|
"DES,RC2,RC4,RC5,IDEA,BF,CAST,"+ -
|
||||||
"BN,RSA,DSA,DH,DSO,"+ -
|
"BN,RSA,DSA,DH,DSO,ENGINE,"+ -
|
||||||
"BUFFER,BIO,STACK,LHASH,RAND,ERR,OBJECTS,"+ -
|
"BUFFER,BIO,STACK,LHASH,RAND,ERR,OBJECTS,"+ -
|
||||||
"EVP,EVP_2,ASN1,ASN1_2,PEM,X509,X509V3,"+ -
|
"EVP,EVP_2,ASN1,ASN1_2,PEM,X509,X509V3,"+ -
|
||||||
"CONF,TXT_DB,PKCS7,PKCS12,COMP"
|
"CONF,TXT_DB,PKCS7,PKCS12,COMP"
|
||||||
@@ -174,7 +174,7 @@ $!
|
|||||||
$ APPS_DES = "DES/DES,CBC3_ENC"
|
$ APPS_DES = "DES/DES,CBC3_ENC"
|
||||||
$ APPS_PKCS7 = "ENC/ENC;DEC/DEC;SIGN/SIGN;VERIFY/VERIFY,EXAMPLE"
|
$ APPS_PKCS7 = "ENC/ENC;DEC/DEC;SIGN/SIGN;VERIFY/VERIFY,EXAMPLE"
|
||||||
$
|
$
|
||||||
$ LIB_ = "cryptlib,mem,mem_clr,mem_dbg,cversion,ex_data,tmdiff,cpt_err,ebcdic,uid"
|
$ LIB_ = "cryptlib,mem,mem_dbg,cversion,ex_data,tmdiff,cpt_err,ebcdic,uid"
|
||||||
$ LIB_MD2 = "md2_dgst,md2_one"
|
$ LIB_MD2 = "md2_dgst,md2_one"
|
||||||
$ LIB_MD4 = "md4_dgst,md4_one"
|
$ LIB_MD4 = "md4_dgst,md4_one"
|
||||||
$ LIB_MD5 = "md5_dgst,md5_one"
|
$ LIB_MD5 = "md5_dgst,md5_one"
|
||||||
@@ -206,6 +206,9 @@ $ LIB_DSA = "dsa_gen,dsa_key,dsa_lib,dsa_asn1,dsa_vrf,dsa_sign,dsa_err,dsa_ossl"
|
|||||||
$ LIB_DH = "dh_gen,dh_key,dh_lib,dh_check,dh_err"
|
$ LIB_DH = "dh_gen,dh_key,dh_lib,dh_check,dh_err"
|
||||||
$ LIB_DSO = "dso_dl,dso_dlfcn,dso_err,dso_lib,dso_null,"+ -
|
$ LIB_DSO = "dso_dl,dso_dlfcn,dso_err,dso_lib,dso_null,"+ -
|
||||||
"dso_openssl,dso_win32,dso_vms"
|
"dso_openssl,dso_win32,dso_vms"
|
||||||
|
$ LIB_ENGINE = "engine_err,engine_lib,engine_list,engine_openssl,"+ -
|
||||||
|
"hw_atalla,hw_cswift,hw_ncipher,hw_aep,hw_sureware,"+ -
|
||||||
|
"hw_ubsec,hw_keyclient"
|
||||||
$ LIB_BUFFER = "buffer,buf_err"
|
$ LIB_BUFFER = "buffer,buf_err"
|
||||||
$ LIB_BIO = "bio_lib,bio_cb,bio_err,"+ -
|
$ LIB_BIO = "bio_lib,bio_cb,bio_err,"+ -
|
||||||
"bss_mem,bss_null,bss_fd,"+ -
|
"bss_mem,bss_null,bss_fd,"+ -
|
||||||
@@ -1195,7 +1198,9 @@ $ CC = "CC"
|
|||||||
$ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" -
|
$ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" -
|
||||||
THEN CC = "CC/DECC"
|
THEN CC = "CC/DECC"
|
||||||
$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + -
|
$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + -
|
||||||
"/NOLIST/PREFIX=ALL/INCLUDE=SYS$DISK:[]" + CCEXTRAFLAGS
|
"/NOLIST/PREFIX=ALL" + -
|
||||||
|
"/INCLUDE=(SYS$DISK:[],SYS$DISK:[.ENGINE.VENDOR_DEFNS])" + -
|
||||||
|
CCEXTRAFLAGS
|
||||||
$!
|
$!
|
||||||
$! Define The Linker Options File Name.
|
$! Define The Linker Options File Name.
|
||||||
$!
|
$!
|
||||||
@@ -1227,7 +1232,8 @@ $ WRITE SYS$OUTPUT "There is no VAX C on Alpha!"
|
|||||||
$ EXIT
|
$ EXIT
|
||||||
$ ENDIF
|
$ ENDIF
|
||||||
$ IF F$TRNLNM("DECC$CC_DEFAULT").EQS."/DECC" THEN CC = "CC/VAXC"
|
$ IF F$TRNLNM("DECC$CC_DEFAULT").EQS."/DECC" THEN CC = "CC/VAXC"
|
||||||
$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/NOLIST/INCLUDE=SYS$DISK:[]" + -
|
$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/NOLIST" + -
|
||||||
|
"/INCLUDE=(SYS$DISK:[],SYS$DISK:[.ENGINE.VENDOR_DEFNS])" + -
|
||||||
CCEXTRAFLAGS
|
CCEXTRAFLAGS
|
||||||
$ CCDEFS = """VAXC""," + CCDEFS
|
$ CCDEFS = """VAXC""," + CCDEFS
|
||||||
$!
|
$!
|
||||||
@@ -1259,7 +1265,8 @@ $!
|
|||||||
$! Use GNU C...
|
$! Use GNU C...
|
||||||
$!
|
$!
|
||||||
$ CC = "GCC/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + -
|
$ CC = "GCC/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + -
|
||||||
"/INCLUDE=SYS$DISK:[]" + CCEXTRAFLAGS
|
"/INCLUDE=(SYS$DISK:[],SYS$DISK:[.ENGINE.VENDOR_DEFNS])" + -
|
||||||
|
CCEXTRAFLAGS
|
||||||
$!
|
$!
|
||||||
$! Define The Linker Options File Name.
|
$! Define The Linker Options File Name.
|
||||||
$!
|
$!
|
||||||
@@ -1326,7 +1333,7 @@ $ CC4 = CC - CCDISABLEWARNINGS + CC4DISABLEWARNINGS
|
|||||||
$!
|
$!
|
||||||
$! Show user the result
|
$! Show user the result
|
||||||
$!
|
$!
|
||||||
$ WRITE/SYMBOL SYS$OUTPUT "Main C Compiling Command: ",CC
|
$ WRITE SYS$OUTPUT "Main C Compiling Command: ",CC
|
||||||
$!
|
$!
|
||||||
$! Else The User Entered An Invalid Arguement.
|
$! Else The User Entered An Invalid Arguement.
|
||||||
$!
|
$!
|
||||||
@@ -1357,7 +1364,7 @@ $ IF ARCH .EQS. "AXP" THEN MACRO = "MACRO/MIGRATION/''DEBUGGER'/''MACRO_OPTIMIZE
|
|||||||
$!
|
$!
|
||||||
$! Show user the result
|
$! Show user the result
|
||||||
$!
|
$!
|
||||||
$ WRITE/SYMBOL SYS$OUTPUT "Main MACRO Compiling Command: ",MACRO
|
$ WRITE SYS$OUTPUT "Main MACRO Compiling Command: ",MACRO
|
||||||
$!
|
$!
|
||||||
$! Time to check the contents, and to make sure we get the correct library.
|
$! Time to check the contents, and to make sure we get the correct library.
|
||||||
$!
|
$!
|
||||||
|
|||||||
@@ -111,9 +111,6 @@ extern "C" {
|
|||||||
#define CRYPTO_LOCK_SSL_SESSION 14
|
#define CRYPTO_LOCK_SSL_SESSION 14
|
||||||
#define CRYPTO_LOCK_SSL_SESS_CERT 15
|
#define CRYPTO_LOCK_SSL_SESS_CERT 15
|
||||||
#define CRYPTO_LOCK_SSL 16
|
#define CRYPTO_LOCK_SSL 16
|
||||||
/* for binary compatibility between 0.9.6 minor versions,
|
|
||||||
* reuse an existing lock (later version use a new one): */
|
|
||||||
# define CRYPTO_LOCK_SSL_METHOD CRYPTO_LOCK_SSL_CTX
|
|
||||||
#define CRYPTO_LOCK_RAND 17
|
#define CRYPTO_LOCK_RAND 17
|
||||||
#define CRYPTO_LOCK_RAND2 18
|
#define CRYPTO_LOCK_RAND2 18
|
||||||
#define CRYPTO_LOCK_MALLOC 19
|
#define CRYPTO_LOCK_MALLOC 19
|
||||||
@@ -126,7 +123,8 @@ extern "C" {
|
|||||||
#define CRYPTO_LOCK_MALLOC2 26
|
#define CRYPTO_LOCK_MALLOC2 26
|
||||||
#define CRYPTO_LOCK_DSO 27
|
#define CRYPTO_LOCK_DSO 27
|
||||||
#define CRYPTO_LOCK_DYNLOCK 28
|
#define CRYPTO_LOCK_DYNLOCK 28
|
||||||
#define CRYPTO_NUM_LOCKS 29
|
#define CRYPTO_LOCK_ENGINE 29
|
||||||
|
#define CRYPTO_NUM_LOCKS 30
|
||||||
|
|
||||||
#define CRYPTO_LOCK 1
|
#define CRYPTO_LOCK 1
|
||||||
#define CRYPTO_UNLOCK 2
|
#define CRYPTO_UNLOCK 2
|
||||||
@@ -345,8 +343,6 @@ void CRYPTO_free(void *);
|
|||||||
void *CRYPTO_realloc(void *addr,int num, const char *file, int line);
|
void *CRYPTO_realloc(void *addr,int num, const char *file, int line);
|
||||||
void *CRYPTO_remalloc(void *addr,int num, const char *file, int line);
|
void *CRYPTO_remalloc(void *addr,int num, const char *file, int line);
|
||||||
|
|
||||||
void OPENSSL_cleanse(void *ptr, size_t len);
|
|
||||||
|
|
||||||
void CRYPTO_set_mem_debug_options(long bits);
|
void CRYPTO_set_mem_debug_options(long bits);
|
||||||
long CRYPTO_get_mem_debug_options(void);
|
long CRYPTO_get_mem_debug_options(void);
|
||||||
|
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
@@ -192,11 +192,8 @@ qud_cksm.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
|
|||||||
qud_cksm.o: ../../include/openssl/opensslconf.h des_locl.h
|
qud_cksm.o: ../../include/openssl/opensslconf.h des_locl.h
|
||||||
rand_key.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
|
rand_key.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
|
||||||
rand_key.o: ../../include/openssl/opensslconf.h ../../include/openssl/rand.h
|
rand_key.o: ../../include/openssl/opensslconf.h ../../include/openssl/rand.h
|
||||||
read2pwd.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
|
read2pwd.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
|
||||||
read2pwd.o: ../../include/openssl/e_os2.h ../../include/openssl/opensslconf.h
|
read2pwd.o: ../../include/openssl/opensslconf.h des_locl.h
|
||||||
read2pwd.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
|
|
||||||
read2pwd.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
|
||||||
read2pwd.o: des_locl.h
|
|
||||||
read_pwd.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
read_pwd.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
|
||||||
read_pwd.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
|
read_pwd.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
|
||||||
read_pwd.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
|
read_pwd.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
|
||||||
@@ -209,10 +206,7 @@ rpc_enc.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
|
|||||||
rpc_enc.o: ../../include/openssl/opensslconf.h des_locl.h des_ver.h rpc_des.h
|
rpc_enc.o: ../../include/openssl/opensslconf.h des_locl.h des_ver.h rpc_des.h
|
||||||
set_key.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
|
set_key.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
|
||||||
set_key.o: ../../include/openssl/opensslconf.h des_locl.h
|
set_key.o: ../../include/openssl/opensslconf.h des_locl.h
|
||||||
str2key.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
|
str2key.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
|
||||||
str2key.o: ../../include/openssl/e_os2.h ../../include/openssl/opensslconf.h
|
str2key.o: ../../include/openssl/opensslconf.h des_locl.h
|
||||||
str2key.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
|
|
||||||
str2key.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
|
||||||
str2key.o: des_locl.h
|
|
||||||
xcbc_enc.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
|
xcbc_enc.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
|
||||||
xcbc_enc.o: ../../include/openssl/opensslconf.h des_locl.h
|
xcbc_enc.o: ../../include/openssl/opensslconf.h des_locl.h
|
||||||
|
|||||||
@@ -86,7 +86,6 @@
|
|||||||
#endif
|
#endif
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#endif
|
#endif
|
||||||
#include <openssl/crypto.h>
|
|
||||||
#include <openssl/des.h>
|
#include <openssl/des.h>
|
||||||
#include <openssl/rand.h>
|
#include <openssl/rand.h>
|
||||||
|
|
||||||
@@ -424,7 +423,7 @@ void doencryption(void)
|
|||||||
k2[i-8]=k;
|
k2[i-8]=k;
|
||||||
}
|
}
|
||||||
des_set_key_unchecked(&k2,ks2);
|
des_set_key_unchecked(&k2,ks2);
|
||||||
OPENSSL_cleanse(k2,sizeof(k2));
|
memset(k2,0,sizeof(k2));
|
||||||
}
|
}
|
||||||
else if (longk || flag3)
|
else if (longk || flag3)
|
||||||
{
|
{
|
||||||
@@ -432,7 +431,7 @@ void doencryption(void)
|
|||||||
{
|
{
|
||||||
des_string_to_2keys(key,&kk,&k2);
|
des_string_to_2keys(key,&kk,&k2);
|
||||||
des_set_key_unchecked(&k2,ks2);
|
des_set_key_unchecked(&k2,ks2);
|
||||||
OPENSSL_cleanse(k2,sizeof(k2));
|
memset(k2,0,sizeof(k2));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
des_string_to_key(key,&kk);
|
des_string_to_key(key,&kk);
|
||||||
@@ -454,8 +453,8 @@ void doencryption(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
des_set_key_unchecked(&kk,ks);
|
des_set_key_unchecked(&kk,ks);
|
||||||
OPENSSL_cleanse(key,sizeof(key));
|
memset(key,0,sizeof(key));
|
||||||
OPENSSL_cleanse(kk,sizeof(kk));
|
memset(kk,0,sizeof(kk));
|
||||||
/* woops - A bug that does not showup under unix :-( */
|
/* woops - A bug that does not showup under unix :-( */
|
||||||
memset(iv,0,sizeof(iv));
|
memset(iv,0,sizeof(iv));
|
||||||
memset(iv2,0,sizeof(iv2));
|
memset(iv2,0,sizeof(iv2));
|
||||||
@@ -663,18 +662,18 @@ void doencryption(void)
|
|||||||
if (l) fclose(CKSUM_OUT);
|
if (l) fclose(CKSUM_OUT);
|
||||||
}
|
}
|
||||||
problems:
|
problems:
|
||||||
OPENSSL_cleanse(buf,sizeof(buf));
|
memset(buf,0,sizeof(buf));
|
||||||
OPENSSL_cleanse(obuf,sizeof(obuf));
|
memset(obuf,0,sizeof(obuf));
|
||||||
OPENSSL_cleanse(ks,sizeof(ks));
|
memset(ks,0,sizeof(ks));
|
||||||
OPENSSL_cleanse(ks2,sizeof(ks2));
|
memset(ks2,0,sizeof(ks2));
|
||||||
OPENSSL_cleanse(iv,sizeof(iv));
|
memset(iv,0,sizeof(iv));
|
||||||
OPENSSL_cleanse(iv2,sizeof(iv2));
|
memset(iv2,0,sizeof(iv2));
|
||||||
OPENSSL_cleanse(kk,sizeof(kk));
|
memset(kk,0,sizeof(kk));
|
||||||
OPENSSL_cleanse(k2,sizeof(k2));
|
memset(k2,0,sizeof(k2));
|
||||||
OPENSSL_cleanse(uubuf,sizeof(uubuf));
|
memset(uubuf,0,sizeof(uubuf));
|
||||||
OPENSSL_cleanse(b,sizeof(b));
|
memset(b,0,sizeof(b));
|
||||||
OPENSSL_cleanse(bb,sizeof(bb));
|
memset(bb,0,sizeof(bb));
|
||||||
OPENSSL_cleanse(cksum,sizeof(cksum));
|
memset(cksum,0,sizeof(cksum));
|
||||||
if (Exit) EXIT(Exit);
|
if (Exit) EXIT(Exit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "des_locl.h"
|
#include "des_locl.h"
|
||||||
#include <openssl/crypto.h>
|
|
||||||
|
|
||||||
int des_read_password(des_cblock *key, const char *prompt, int verify)
|
int des_read_password(des_cblock *key, const char *prompt, int verify)
|
||||||
{
|
{
|
||||||
@@ -66,8 +65,8 @@ int des_read_password(des_cblock *key, const char *prompt, int verify)
|
|||||||
|
|
||||||
if ((ok=des_read_pw(buf,buff,BUFSIZ,prompt,verify)) == 0)
|
if ((ok=des_read_pw(buf,buff,BUFSIZ,prompt,verify)) == 0)
|
||||||
des_string_to_key(buf,key);
|
des_string_to_key(buf,key);
|
||||||
OPENSSL_cleanse(buf,BUFSIZ);
|
memset(buf,0,BUFSIZ);
|
||||||
OPENSSL_cleanse(buff,BUFSIZ);
|
memset(buff,0,BUFSIZ);
|
||||||
return(ok);
|
return(ok);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,7 +78,7 @@ int des_read_2passwords(des_cblock *key1, des_cblock *key2, const char *prompt,
|
|||||||
|
|
||||||
if ((ok=des_read_pw(buf,buff,BUFSIZ,prompt,verify)) == 0)
|
if ((ok=des_read_pw(buf,buff,BUFSIZ,prompt,verify)) == 0)
|
||||||
des_string_to_2keys(buf,key1,key2);
|
des_string_to_2keys(buf,key1,key2);
|
||||||
OPENSSL_cleanse(buf,BUFSIZ);
|
memset(buf,0,BUFSIZ);
|
||||||
OPENSSL_cleanse(buff,BUFSIZ);
|
memset(buff,0,BUFSIZ);
|
||||||
return(ok);
|
return(ok);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ int des_read_pw_string(char *buf, int length, const char *prompt,
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret=des_read_pw(buf,buff,(length>BUFSIZ)?BUFSIZ:length,prompt,verify);
|
ret=des_read_pw(buf,buff,(length>BUFSIZ)?BUFSIZ:length,prompt,verify);
|
||||||
OPENSSL_cleanse(buff,BUFSIZ);
|
memset(buff,0,BUFSIZ);
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,6 @@
|
|||||||
* [including the GNU Public Licence.]
|
* [including the GNU Public Licence.]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <openssl/crypto.h>
|
|
||||||
#include "des_locl.h"
|
#include "des_locl.h"
|
||||||
|
|
||||||
void des_string_to_key(const char *str, des_cblock *key)
|
void des_string_to_key(const char *str, des_cblock *key)
|
||||||
@@ -89,7 +88,7 @@ void des_string_to_key(const char *str, des_cblock *key)
|
|||||||
des_set_odd_parity(key);
|
des_set_odd_parity(key);
|
||||||
des_set_key_unchecked(key,ks);
|
des_set_key_unchecked(key,ks);
|
||||||
des_cbc_cksum((const unsigned char*)str,key,length,ks,key);
|
des_cbc_cksum((const unsigned char*)str,key,length,ks,key);
|
||||||
OPENSSL_cleanse(ks,sizeof(ks));
|
memset(ks,0,sizeof(ks));
|
||||||
des_set_odd_parity(key);
|
des_set_odd_parity(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,7 +149,7 @@ void des_string_to_2keys(const char *str, des_cblock *key1, des_cblock *key2)
|
|||||||
des_cbc_cksum((const unsigned char*)str,key1,length,ks,key1);
|
des_cbc_cksum((const unsigned char*)str,key1,length,ks,key1);
|
||||||
des_set_key_unchecked(key2,ks);
|
des_set_key_unchecked(key2,ks);
|
||||||
des_cbc_cksum((const unsigned char*)str,key2,length,ks,key2);
|
des_cbc_cksum((const unsigned char*)str,key2,length,ks,key2);
|
||||||
OPENSSL_cleanse(ks,sizeof(ks));
|
memset(ks,0,sizeof(ks));
|
||||||
des_set_odd_parity(key1);
|
des_set_odd_parity(key1);
|
||||||
des_set_odd_parity(key2);
|
des_set_odd_parity(key2);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
@@ -101,19 +101,39 @@ dh_gen.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
|
|||||||
dh_gen.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
|
dh_gen.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
|
||||||
dh_gen.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
dh_gen.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
dh_gen.o: ../cryptlib.h
|
dh_gen.o: ../cryptlib.h
|
||||||
dh_key.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
|
dh_key.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
||||||
dh_key.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
dh_key.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
|
||||||
dh_key.o: ../../include/openssl/dh.h ../../include/openssl/e_os.h
|
dh_key.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
|
||||||
dh_key.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
|
dh_key.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
|
||||||
dh_key.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
|
dh_key.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
|
||||||
|
dh_key.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
|
||||||
|
dh_key.o: ../../include/openssl/engine.h ../../include/openssl/err.h
|
||||||
|
dh_key.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
|
||||||
|
dh_key.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
|
||||||
|
dh_key.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
|
||||||
|
dh_key.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
|
||||||
|
dh_key.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
dh_key.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h
|
dh_key.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h
|
||||||
dh_key.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
dh_key.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
|
||||||
|
dh_key.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
|
||||||
|
dh_key.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
||||||
|
dh_key.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
dh_key.o: ../../include/openssl/symhacks.h ../cryptlib.h
|
dh_key.o: ../../include/openssl/symhacks.h ../cryptlib.h
|
||||||
dh_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
|
dh_lib.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
||||||
dh_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
dh_lib.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
|
||||||
dh_lib.o: ../../include/openssl/dh.h ../../include/openssl/e_os.h
|
dh_lib.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
|
||||||
dh_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
|
dh_lib.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
|
||||||
dh_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
|
dh_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
|
||||||
dh_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
|
dh_lib.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
|
||||||
dh_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
dh_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h
|
||||||
dh_lib.o: ../cryptlib.h
|
dh_lib.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
|
||||||
|
dh_lib.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
|
||||||
|
dh_lib.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
|
||||||
|
dh_lib.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
|
||||||
|
dh_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
|
dh_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h
|
||||||
|
dh_lib.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
|
||||||
|
dh_lib.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
|
||||||
|
dh_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
||||||
|
dh_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
|
dh_lib.o: ../../include/openssl/symhacks.h ../cryptlib.h
|
||||||
|
|||||||
@@ -115,7 +115,11 @@ struct dh_st
|
|||||||
|
|
||||||
int references;
|
int references;
|
||||||
CRYPTO_EX_DATA ex_data;
|
CRYPTO_EX_DATA ex_data;
|
||||||
|
#if 0
|
||||||
DH_METHOD *meth;
|
DH_METHOD *meth;
|
||||||
|
#else
|
||||||
|
struct engine_st *engine;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#define DH_GENERATOR_2 2
|
#define DH_GENERATOR_2 2
|
||||||
@@ -150,10 +154,15 @@ struct dh_st
|
|||||||
|
|
||||||
DH_METHOD *DH_OpenSSL(void);
|
DH_METHOD *DH_OpenSSL(void);
|
||||||
|
|
||||||
void DH_set_default_method(DH_METHOD *meth);
|
void DH_set_default_openssl_method(DH_METHOD *meth);
|
||||||
DH_METHOD *DH_get_default_method(void);
|
DH_METHOD *DH_get_default_openssl_method(void);
|
||||||
|
#if 0
|
||||||
DH_METHOD *DH_set_method(DH *dh, DH_METHOD *meth);
|
DH_METHOD *DH_set_method(DH *dh, DH_METHOD *meth);
|
||||||
DH *DH_new_method(DH_METHOD *meth);
|
DH *DH_new_method(DH_METHOD *meth);
|
||||||
|
#else
|
||||||
|
int DH_set_method(DH *dh, struct engine_st *engine);
|
||||||
|
DH *DH_new_method(struct engine_st *engine);
|
||||||
|
#endif
|
||||||
|
|
||||||
DH * DH_new(void);
|
DH * DH_new(void);
|
||||||
void DH_free(DH *dh);
|
void DH_free(DH *dh);
|
||||||
|
|||||||
@@ -61,6 +61,7 @@
|
|||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
#include <openssl/rand.h>
|
#include <openssl/rand.h>
|
||||||
#include <openssl/dh.h>
|
#include <openssl/dh.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
static int generate_key(DH *dh);
|
static int generate_key(DH *dh);
|
||||||
static int compute_key(unsigned char *key, BIGNUM *pub_key, DH *dh);
|
static int compute_key(unsigned char *key, BIGNUM *pub_key, DH *dh);
|
||||||
@@ -72,12 +73,12 @@ static int dh_finish(DH *dh);
|
|||||||
|
|
||||||
int DH_generate_key(DH *dh)
|
int DH_generate_key(DH *dh)
|
||||||
{
|
{
|
||||||
return dh->meth->generate_key(dh);
|
return ENGINE_get_DH(dh->engine)->generate_key(dh);
|
||||||
}
|
}
|
||||||
|
|
||||||
int DH_compute_key(unsigned char *key, BIGNUM *pub_key, DH *dh)
|
int DH_compute_key(unsigned char *key, BIGNUM *pub_key, DH *dh)
|
||||||
{
|
{
|
||||||
return dh->meth->compute_key(key, pub_key, dh);
|
return ENGINE_get_DH(dh->engine)->compute_key(key, pub_key, dh);
|
||||||
}
|
}
|
||||||
|
|
||||||
static DH_METHOD dh_ossl = {
|
static DH_METHOD dh_ossl = {
|
||||||
@@ -137,7 +138,9 @@ static int generate_key(DH *dh)
|
|||||||
l = dh->length ? dh->length : BN_num_bits(dh->p)-1; /* secret exponent length */
|
l = dh->length ? dh->length : BN_num_bits(dh->p)-1; /* secret exponent length */
|
||||||
if (!BN_rand(priv_key, l, 0, 0)) goto err;
|
if (!BN_rand(priv_key, l, 0, 0)) goto err;
|
||||||
}
|
}
|
||||||
if (!dh->meth->bn_mod_exp(dh, pub_key,dh->g,priv_key,dh->p,&ctx,mont)) goto err;
|
if (!ENGINE_get_DH(dh->engine)->bn_mod_exp(dh, pub_key, dh->g,
|
||||||
|
priv_key,dh->p,&ctx,mont))
|
||||||
|
goto err;
|
||||||
|
|
||||||
dh->pub_key=pub_key;
|
dh->pub_key=pub_key;
|
||||||
dh->priv_key=priv_key;
|
dh->priv_key=priv_key;
|
||||||
@@ -176,7 +179,8 @@ static int compute_key(unsigned char *key, BIGNUM *pub_key, DH *dh)
|
|||||||
}
|
}
|
||||||
|
|
||||||
mont=(BN_MONT_CTX *)dh->method_mont_p;
|
mont=(BN_MONT_CTX *)dh->method_mont_p;
|
||||||
if (!dh->meth->bn_mod_exp(dh, tmp,pub_key,dh->priv_key,dh->p,&ctx,mont))
|
if (!ENGINE_get_DH(dh->engine)->bn_mod_exp(dh, tmp, pub_key,
|
||||||
|
dh->priv_key,dh->p,&ctx,mont))
|
||||||
{
|
{
|
||||||
DHerr(DH_F_DH_COMPUTE_KEY,ERR_R_BN_LIB);
|
DHerr(DH_F_DH_COMPUTE_KEY,ERR_R_BN_LIB);
|
||||||
goto err;
|
goto err;
|
||||||
|
|||||||
@@ -60,6 +60,7 @@
|
|||||||
#include "cryptlib.h"
|
#include "cryptlib.h"
|
||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
#include <openssl/dh.h>
|
#include <openssl/dh.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
const char *DH_version="Diffie-Hellman" OPENSSL_VERSION_PTEXT;
|
const char *DH_version="Diffie-Hellman" OPENSSL_VERSION_PTEXT;
|
||||||
|
|
||||||
@@ -67,17 +68,32 @@ static DH_METHOD *default_DH_method = NULL;
|
|||||||
static int dh_meth_num = 0;
|
static int dh_meth_num = 0;
|
||||||
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *dh_meth = NULL;
|
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *dh_meth = NULL;
|
||||||
|
|
||||||
void DH_set_default_method(DH_METHOD *meth)
|
void DH_set_default_openssl_method(DH_METHOD *meth)
|
||||||
|
{
|
||||||
|
ENGINE *e;
|
||||||
|
/* We'll need to notify the "openssl" ENGINE of this
|
||||||
|
* change too. We won't bother locking things down at
|
||||||
|
* our end as there was never any locking in these
|
||||||
|
* functions! */
|
||||||
|
if(default_DH_method != meth)
|
||||||
{
|
{
|
||||||
default_DH_method = meth;
|
default_DH_method = meth;
|
||||||
|
e = ENGINE_by_id("openssl");
|
||||||
|
if(e)
|
||||||
|
{
|
||||||
|
ENGINE_set_DH(e, meth);
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DH_METHOD *DH_get_default_method(void)
|
DH_METHOD *DH_get_default_openssl_method(void)
|
||||||
{
|
{
|
||||||
if(!default_DH_method) default_DH_method = DH_OpenSSL();
|
if(!default_DH_method) default_DH_method = DH_OpenSSL();
|
||||||
return default_DH_method;
|
return default_DH_method;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
DH_METHOD *DH_set_method(DH *dh, DH_METHOD *meth)
|
DH_METHOD *DH_set_method(DH *dh, DH_METHOD *meth)
|
||||||
{
|
{
|
||||||
DH_METHOD *mtmp;
|
DH_METHOD *mtmp;
|
||||||
@@ -87,14 +103,37 @@ DH_METHOD *DH_set_method(DH *dh, DH_METHOD *meth)
|
|||||||
if (meth->init) meth->init(dh);
|
if (meth->init) meth->init(dh);
|
||||||
return mtmp;
|
return mtmp;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
int DH_set_method(DH *dh, ENGINE *engine)
|
||||||
|
{
|
||||||
|
ENGINE *mtmp;
|
||||||
|
DH_METHOD *meth;
|
||||||
|
mtmp = dh->engine;
|
||||||
|
meth = ENGINE_get_DH(mtmp);
|
||||||
|
if (!ENGINE_init(engine))
|
||||||
|
return 0;
|
||||||
|
if (meth->finish) meth->finish(dh);
|
||||||
|
dh->engine= engine;
|
||||||
|
meth = ENGINE_get_DH(engine);
|
||||||
|
if (meth->init) meth->init(dh);
|
||||||
|
/* SHOULD ERROR CHECK THIS!!! */
|
||||||
|
ENGINE_finish(mtmp);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
DH *DH_new(void)
|
DH *DH_new(void)
|
||||||
{
|
{
|
||||||
return DH_new_method(NULL);
|
return DH_new_method(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
DH *DH_new_method(DH_METHOD *meth)
|
DH *DH_new_method(DH_METHOD *meth)
|
||||||
|
#else
|
||||||
|
DH *DH_new_method(ENGINE *engine)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
|
DH_METHOD *meth;
|
||||||
DH *ret;
|
DH *ret;
|
||||||
ret=(DH *)OPENSSL_malloc(sizeof(DH));
|
ret=(DH *)OPENSSL_malloc(sizeof(DH));
|
||||||
|
|
||||||
@@ -103,8 +142,17 @@ DH *DH_new_method(DH_METHOD *meth)
|
|||||||
DHerr(DH_F_DH_NEW,ERR_R_MALLOC_FAILURE);
|
DHerr(DH_F_DH_NEW,ERR_R_MALLOC_FAILURE);
|
||||||
return(NULL);
|
return(NULL);
|
||||||
}
|
}
|
||||||
if(meth) ret->meth = meth;
|
if(engine)
|
||||||
else ret->meth = DH_get_default_method();
|
ret->engine = engine;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if((ret->engine=ENGINE_get_default_DH()) == NULL)
|
||||||
|
{
|
||||||
|
OPENSSL_free(ret);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
meth = ENGINE_get_DH(ret->engine);
|
||||||
ret->pad=0;
|
ret->pad=0;
|
||||||
ret->version=0;
|
ret->version=0;
|
||||||
ret->p=NULL;
|
ret->p=NULL;
|
||||||
@@ -119,9 +167,9 @@ DH *DH_new_method(DH_METHOD *meth)
|
|||||||
ret->counter = NULL;
|
ret->counter = NULL;
|
||||||
ret->method_mont_p=NULL;
|
ret->method_mont_p=NULL;
|
||||||
ret->references = 1;
|
ret->references = 1;
|
||||||
ret->flags=ret->meth->flags;
|
ret->flags=meth->flags;
|
||||||
CRYPTO_new_ex_data(dh_meth,ret,&ret->ex_data);
|
CRYPTO_new_ex_data(dh_meth,ret,&ret->ex_data);
|
||||||
if ((ret->meth->init != NULL) && !ret->meth->init(ret))
|
if ((meth->init != NULL) && !meth->init(ret))
|
||||||
{
|
{
|
||||||
CRYPTO_free_ex_data(dh_meth,ret,&ret->ex_data);
|
CRYPTO_free_ex_data(dh_meth,ret,&ret->ex_data);
|
||||||
OPENSSL_free(ret);
|
OPENSSL_free(ret);
|
||||||
@@ -132,6 +180,7 @@ DH *DH_new_method(DH_METHOD *meth)
|
|||||||
|
|
||||||
void DH_free(DH *r)
|
void DH_free(DH *r)
|
||||||
{
|
{
|
||||||
|
DH_METHOD *meth;
|
||||||
int i;
|
int i;
|
||||||
if(r == NULL) return;
|
if(r == NULL) return;
|
||||||
i = CRYPTO_add(&r->references, -1, CRYPTO_LOCK_DH);
|
i = CRYPTO_add(&r->references, -1, CRYPTO_LOCK_DH);
|
||||||
@@ -147,7 +196,9 @@ void DH_free(DH *r)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(r->meth->finish) r->meth->finish(r);
|
meth = ENGINE_get_DH(r->engine);
|
||||||
|
if(meth->finish) meth->finish(r);
|
||||||
|
ENGINE_finish(r->engine);
|
||||||
|
|
||||||
CRYPTO_free_ex_data(dh_meth, r, &r->ex_data);
|
CRYPTO_free_ex_data(dh_meth, r, &r->ex_data);
|
||||||
|
|
||||||
|
|||||||
@@ -59,9 +59,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "../e_os.h"
|
|
||||||
|
|
||||||
#ifdef WINDOWS
|
#ifdef WINDOWS
|
||||||
#include "../bio/bss_file.c"
|
#include "../bio/bss_file.c"
|
||||||
#endif
|
#endif
|
||||||
@@ -110,7 +107,7 @@ int main(int argc, char *argv[])
|
|||||||
RAND_seed(rnd_seed, sizeof rnd_seed);
|
RAND_seed(rnd_seed, sizeof rnd_seed);
|
||||||
|
|
||||||
out=BIO_new(BIO_s_file());
|
out=BIO_new(BIO_s_file());
|
||||||
if (out == NULL) EXIT(1);
|
if (out == NULL) exit(1);
|
||||||
BIO_set_fp(out,stdout,BIO_NOCLOSE);
|
BIO_set_fp(out,stdout,BIO_NOCLOSE);
|
||||||
|
|
||||||
a=DH_generate_parameters(64,DH_GENERATOR_5,cb,out);
|
a=DH_generate_parameters(64,DH_GENERATOR_5,cb,out);
|
||||||
@@ -191,7 +188,7 @@ err:
|
|||||||
if(b != NULL) DH_free(b);
|
if(b != NULL) DH_free(b);
|
||||||
if(a != NULL) DH_free(a);
|
if(a != NULL) DH_free(a);
|
||||||
BIO_free(out);
|
BIO_free(out);
|
||||||
EXIT(ret);
|
exit(ret);
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ lint:
|
|||||||
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
lint -DLINT $(INCLUDES) $(SRC)>fluff
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
$(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
|
$(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC)
|
||||||
|
|
||||||
dclean:
|
dclean:
|
||||||
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
||||||
@@ -116,39 +116,75 @@ dsa_key.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
|
|||||||
dsa_key.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
dsa_key.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
dsa_key.o: ../../include/openssl/symhacks.h ../cryptlib.h
|
dsa_key.o: ../../include/openssl/symhacks.h ../cryptlib.h
|
||||||
dsa_lib.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
dsa_lib.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
||||||
dsa_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
dsa_lib.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
|
||||||
dsa_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
|
dsa_lib.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
|
||||||
dsa_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
|
dsa_lib.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
|
||||||
dsa_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
|
dsa_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
|
||||||
dsa_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
|
dsa_lib.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
|
||||||
dsa_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
|
dsa_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h
|
||||||
dsa_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
dsa_lib.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
|
||||||
dsa_lib.o: ../cryptlib.h
|
dsa_lib.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
|
||||||
|
dsa_lib.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
|
||||||
|
dsa_lib.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
|
||||||
|
dsa_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
|
dsa_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h
|
||||||
|
dsa_lib.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
|
||||||
|
dsa_lib.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
|
||||||
|
dsa_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
||||||
|
dsa_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
|
dsa_lib.o: ../../include/openssl/symhacks.h ../cryptlib.h
|
||||||
dsa_ossl.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
dsa_ossl.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
||||||
dsa_ossl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
dsa_ossl.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
|
||||||
dsa_ossl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
|
dsa_ossl.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
|
||||||
dsa_ossl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
|
dsa_ossl.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
|
||||||
dsa_ossl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
|
dsa_ossl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
|
||||||
dsa_ossl.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
|
dsa_ossl.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
|
||||||
|
dsa_ossl.o: ../../include/openssl/engine.h ../../include/openssl/err.h
|
||||||
|
dsa_ossl.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
|
||||||
|
dsa_ossl.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
|
||||||
|
dsa_ossl.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
|
||||||
|
dsa_ossl.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
|
||||||
|
dsa_ossl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
dsa_ossl.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h
|
dsa_ossl.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h
|
||||||
dsa_ossl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
dsa_ossl.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
|
||||||
|
dsa_ossl.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
|
||||||
|
dsa_ossl.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
||||||
|
dsa_ossl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
dsa_ossl.o: ../../include/openssl/symhacks.h ../cryptlib.h
|
dsa_ossl.o: ../../include/openssl/symhacks.h ../cryptlib.h
|
||||||
dsa_sign.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
dsa_sign.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
|
||||||
dsa_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
dsa_sign.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
|
||||||
dsa_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
|
dsa_sign.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
|
||||||
dsa_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
|
dsa_sign.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
|
||||||
dsa_sign.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
|
dsa_sign.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
|
||||||
dsa_sign.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
|
dsa_sign.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
|
||||||
|
dsa_sign.o: ../../include/openssl/engine.h ../../include/openssl/err.h
|
||||||
|
dsa_sign.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
|
||||||
|
dsa_sign.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
|
||||||
|
dsa_sign.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
|
||||||
|
dsa_sign.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
|
||||||
|
dsa_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
|
||||||
dsa_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h
|
dsa_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h
|
||||||
dsa_sign.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
|
dsa_sign.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
|
||||||
|
dsa_sign.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
|
||||||
|
dsa_sign.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
|
||||||
|
dsa_sign.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
|
||||||
dsa_sign.o: ../../include/openssl/symhacks.h ../cryptlib.h
|
dsa_sign.o: ../../include/openssl/symhacks.h ../cryptlib.h
|
||||||
dsa_vrf.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
|
dsa_vrf.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
|
||||||
dsa_vrf.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
|
dsa_vrf.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h
|
||||||
dsa_vrf.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
|
dsa_vrf.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
|
||||||
dsa_vrf.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
|
dsa_vrf.o: ../../include/openssl/cast.h ../../include/openssl/crypto.h
|
||||||
dsa_vrf.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
|
dsa_vrf.o: ../../include/openssl/des.h ../../include/openssl/dh.h
|
||||||
dsa_vrf.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
|
dsa_vrf.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
|
||||||
|
dsa_vrf.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
|
||||||
|
dsa_vrf.o: ../../include/openssl/err.h ../../include/openssl/evp.h
|
||||||
|
dsa_vrf.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
|
||||||
|
dsa_vrf.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
|
||||||
|
dsa_vrf.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
|
||||||
|
dsa_vrf.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
|
||||||
dsa_vrf.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
dsa_vrf.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
|
||||||
dsa_vrf.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
|
dsa_vrf.o: ../../include/openssl/rand.h ../../include/openssl/rc2.h
|
||||||
|
dsa_vrf.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
|
||||||
|
dsa_vrf.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
|
||||||
|
dsa_vrf.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
|
||||||
dsa_vrf.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
dsa_vrf.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
|
||||||
dsa_vrf.o: ../cryptlib.h
|
dsa_vrf.o: ../cryptlib.h
|
||||||
|
|||||||
@@ -133,7 +133,11 @@ struct dsa_st
|
|||||||
char *method_mont_p;
|
char *method_mont_p;
|
||||||
int references;
|
int references;
|
||||||
CRYPTO_EX_DATA ex_data;
|
CRYPTO_EX_DATA ex_data;
|
||||||
|
#if 0
|
||||||
DSA_METHOD *meth;
|
DSA_METHOD *meth;
|
||||||
|
#else
|
||||||
|
struct engine_st *engine;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#define DSAparams_dup(x) (DSA *)ASN1_dup((int (*)())i2d_DSAparams, \
|
#define DSAparams_dup(x) (DSA *)ASN1_dup((int (*)())i2d_DSAparams, \
|
||||||
@@ -159,12 +163,20 @@ int DSA_do_verify(const unsigned char *dgst,int dgst_len,
|
|||||||
|
|
||||||
DSA_METHOD *DSA_OpenSSL(void);
|
DSA_METHOD *DSA_OpenSSL(void);
|
||||||
|
|
||||||
void DSA_set_default_method(DSA_METHOD *);
|
void DSA_set_default_openssl_method(DSA_METHOD *);
|
||||||
DSA_METHOD *DSA_get_default_method(void);
|
DSA_METHOD *DSA_get_default_openssl_method(void);
|
||||||
|
#if 0
|
||||||
DSA_METHOD *DSA_set_method(DSA *dsa, DSA_METHOD *);
|
DSA_METHOD *DSA_set_method(DSA *dsa, DSA_METHOD *);
|
||||||
|
#else
|
||||||
|
int DSA_set_method(DSA *dsa, struct engine_st *engine);
|
||||||
|
#endif
|
||||||
|
|
||||||
DSA * DSA_new(void);
|
DSA * DSA_new(void);
|
||||||
|
#if 0
|
||||||
DSA * DSA_new_method(DSA_METHOD *meth);
|
DSA * DSA_new_method(DSA_METHOD *meth);
|
||||||
|
#else
|
||||||
|
DSA * DSA_new_method(struct engine_st *engine);
|
||||||
|
#endif
|
||||||
int DSA_size(DSA *);
|
int DSA_size(DSA *);
|
||||||
/* next 4 return -1 on error */
|
/* next 4 return -1 on error */
|
||||||
int DSA_sign_setup( DSA *dsa,BN_CTX *ctx_in,BIGNUM **kinvp,BIGNUM **rp);
|
int DSA_sign_setup( DSA *dsa,BN_CTX *ctx_in,BIGNUM **kinvp,BIGNUM **rp);
|
||||||
|
|||||||
@@ -63,6 +63,7 @@
|
|||||||
#include <openssl/bn.h>
|
#include <openssl/bn.h>
|
||||||
#include <openssl/dsa.h>
|
#include <openssl/dsa.h>
|
||||||
#include <openssl/asn1.h>
|
#include <openssl/asn1.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
const char *DSA_version="DSA" OPENSSL_VERSION_PTEXT;
|
const char *DSA_version="DSA" OPENSSL_VERSION_PTEXT;
|
||||||
|
|
||||||
@@ -70,12 +71,26 @@ static DSA_METHOD *default_DSA_method = NULL;
|
|||||||
static int dsa_meth_num = 0;
|
static int dsa_meth_num = 0;
|
||||||
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *dsa_meth = NULL;
|
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *dsa_meth = NULL;
|
||||||
|
|
||||||
void DSA_set_default_method(DSA_METHOD *meth)
|
void DSA_set_default_openssl_method(DSA_METHOD *meth)
|
||||||
|
{
|
||||||
|
ENGINE *e;
|
||||||
|
/* We'll need to notify the "openssl" ENGINE of this
|
||||||
|
* change too. We won't bother locking things down at
|
||||||
|
* our end as there was never any locking in these
|
||||||
|
* functions! */
|
||||||
|
if(default_DSA_method != meth)
|
||||||
{
|
{
|
||||||
default_DSA_method = meth;
|
default_DSA_method = meth;
|
||||||
|
e = ENGINE_by_id("openssl");
|
||||||
|
if(e)
|
||||||
|
{
|
||||||
|
ENGINE_set_DSA(e, meth);
|
||||||
|
ENGINE_free(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DSA_METHOD *DSA_get_default_method(void)
|
DSA_METHOD *DSA_get_default_openssl_method(void)
|
||||||
{
|
{
|
||||||
if(!default_DSA_method) default_DSA_method = DSA_OpenSSL();
|
if(!default_DSA_method) default_DSA_method = DSA_OpenSSL();
|
||||||
return default_DSA_method;
|
return default_DSA_method;
|
||||||
@@ -86,6 +101,7 @@ DSA *DSA_new(void)
|
|||||||
return DSA_new_method(NULL);
|
return DSA_new_method(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
DSA_METHOD *DSA_set_method(DSA *dsa, DSA_METHOD *meth)
|
DSA_METHOD *DSA_set_method(DSA *dsa, DSA_METHOD *meth)
|
||||||
{
|
{
|
||||||
DSA_METHOD *mtmp;
|
DSA_METHOD *mtmp;
|
||||||
@@ -95,10 +111,33 @@ DSA_METHOD *DSA_set_method(DSA *dsa, DSA_METHOD *meth)
|
|||||||
if (meth->init) meth->init(dsa);
|
if (meth->init) meth->init(dsa);
|
||||||
return mtmp;
|
return mtmp;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
int DSA_set_method(DSA *dsa, ENGINE *engine)
|
||||||
DSA *DSA_new_method(DSA_METHOD *meth)
|
|
||||||
{
|
{
|
||||||
|
ENGINE *mtmp;
|
||||||
|
DSA_METHOD *meth;
|
||||||
|
mtmp = dsa->engine;
|
||||||
|
meth = ENGINE_get_DSA(mtmp);
|
||||||
|
if (!ENGINE_init(engine))
|
||||||
|
return 0;
|
||||||
|
if (meth->finish) meth->finish(dsa);
|
||||||
|
dsa->engine = engine;
|
||||||
|
meth = ENGINE_get_DSA(engine);
|
||||||
|
if (meth->init) meth->init(dsa);
|
||||||
|
/* SHOULD ERROR CHECK THIS!!! */
|
||||||
|
ENGINE_finish(mtmp);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
DSA *DSA_new_method(DSA_METHOD *meth)
|
||||||
|
#else
|
||||||
|
DSA *DSA_new_method(ENGINE *engine)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
DSA_METHOD *meth;
|
||||||
DSA *ret;
|
DSA *ret;
|
||||||
|
|
||||||
ret=(DSA *)OPENSSL_malloc(sizeof(DSA));
|
ret=(DSA *)OPENSSL_malloc(sizeof(DSA));
|
||||||
@@ -107,8 +146,17 @@ DSA *DSA_new_method(DSA_METHOD *meth)
|
|||||||
DSAerr(DSA_F_DSA_NEW,ERR_R_MALLOC_FAILURE);
|
DSAerr(DSA_F_DSA_NEW,ERR_R_MALLOC_FAILURE);
|
||||||
return(NULL);
|
return(NULL);
|
||||||
}
|
}
|
||||||
if(meth) ret->meth = meth;
|
if(engine)
|
||||||
else ret->meth = DSA_get_default_method();
|
ret->engine = engine;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if((ret->engine=ENGINE_get_default_DSA()) == NULL)
|
||||||
|
{
|
||||||
|
OPENSSL_free(ret);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
meth = ENGINE_get_DSA(ret->engine);
|
||||||
ret->pad=0;
|
ret->pad=0;
|
||||||
ret->version=0;
|
ret->version=0;
|
||||||
ret->write_params=1;
|
ret->write_params=1;
|
||||||
@@ -124,9 +172,9 @@ DSA *DSA_new_method(DSA_METHOD *meth)
|
|||||||
ret->method_mont_p=NULL;
|
ret->method_mont_p=NULL;
|
||||||
|
|
||||||
ret->references=1;
|
ret->references=1;
|
||||||
ret->flags=ret->meth->flags;
|
ret->flags=meth->flags;
|
||||||
CRYPTO_new_ex_data(dsa_meth,ret,&ret->ex_data);
|
CRYPTO_new_ex_data(dsa_meth,ret,&ret->ex_data);
|
||||||
if ((ret->meth->init != NULL) && !ret->meth->init(ret))
|
if ((meth->init != NULL) && !meth->init(ret))
|
||||||
{
|
{
|
||||||
CRYPTO_free_ex_data(dsa_meth,ret,&ret->ex_data);
|
CRYPTO_free_ex_data(dsa_meth,ret,&ret->ex_data);
|
||||||
OPENSSL_free(ret);
|
OPENSSL_free(ret);
|
||||||
@@ -138,6 +186,7 @@ DSA *DSA_new_method(DSA_METHOD *meth)
|
|||||||
|
|
||||||
void DSA_free(DSA *r)
|
void DSA_free(DSA *r)
|
||||||
{
|
{
|
||||||
|
DSA_METHOD *meth;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (r == NULL) return;
|
if (r == NULL) return;
|
||||||
@@ -155,7 +204,9 @@ void DSA_free(DSA *r)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(r->meth->finish) r->meth->finish(r);
|
meth = ENGINE_get_DSA(r->engine);
|
||||||
|
if(meth->finish) meth->finish(r);
|
||||||
|
ENGINE_finish(r->engine);
|
||||||
|
|
||||||
CRYPTO_free_ex_data(dsa_meth, r, &r->ex_data);
|
CRYPTO_free_ex_data(dsa_meth, r, &r->ex_data);
|
||||||
|
|
||||||
|
|||||||
@@ -64,6 +64,7 @@
|
|||||||
#include <openssl/dsa.h>
|
#include <openssl/dsa.h>
|
||||||
#include <openssl/rand.h>
|
#include <openssl/rand.h>
|
||||||
#include <openssl/asn1.h>
|
#include <openssl/asn1.h>
|
||||||
|
#include <openssl/engine.h>
|
||||||
|
|
||||||
static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa);
|
static DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa);
|
||||||
static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp);
|
static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp);
|
||||||
@@ -201,7 +202,7 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Compute r = (g^k mod p) mod q */
|
/* Compute r = (g^k mod p) mod q */
|
||||||
if (!dsa->meth->bn_mod_exp(dsa, r,dsa->g,&k,dsa->p,ctx,
|
if (!ENGINE_get_DSA(dsa->engine)->bn_mod_exp(dsa, r,dsa->g,&k,dsa->p,ctx,
|
||||||
(BN_MONT_CTX *)dsa->method_mont_p)) goto err;
|
(BN_MONT_CTX *)dsa->method_mont_p)) goto err;
|
||||||
if (!BN_mod(r,r,dsa->q,ctx)) goto err;
|
if (!BN_mod(r,r,dsa->q,ctx)) goto err;
|
||||||
|
|
||||||
@@ -290,7 +291,7 @@ static int dsa_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG *sig,
|
|||||||
if (!BN_mod(&u1,&u1,dsa->q,ctx)) goto err;
|
if (!BN_mod(&u1,&u1,dsa->q,ctx)) goto err;
|
||||||
#else
|
#else
|
||||||
{
|
{
|
||||||
if (!dsa->meth->dsa_mod_exp(dsa, &t1,dsa->g,&u1,dsa->pub_key,&u2,
|
if (!ENGINE_get_DSA(dsa->engine)->dsa_mod_exp(dsa, &t1,dsa->g,&u1,dsa->pub_key,&u2,
|
||||||
dsa->p,ctx,mont)) goto err;
|
dsa->p,ctx,mont)) goto err;
|
||||||
/* BN_copy(&u1,&t1); */
|
/* BN_copy(&u1,&t1); */
|
||||||
/* let u1 = u1 mod q */
|
/* let u1 = u1 mod q */
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user