Commit graph

4672 commits

Author SHA1 Message Date
Andy Polyakov
cf2bc94e5c Wire RC4 key_table to read-only segment. 2007-09-18 21:10:32 +00:00
Andy Polyakov
26f0cf69d3 Constify obj_dat.[ch], as well as minimize linker relocations. 2007-09-18 21:05:21 +00:00
Andy Polyakov
61836c1b70 Wire DES weak_keys to read-only segment. 2007-09-18 20:58:33 +00:00
Andy Polyakov
2a1b0c8d65 Eliminate redundant make rule. 2007-09-18 20:57:06 +00:00
Andy Polyakov
75a8e30f4f Minimize stack utilization in probable_prime. 2007-09-18 20:52:05 +00:00
Andy Polyakov
716b87a026 Remove excessive whitespaces from bio.h 2007-09-18 20:48:39 +00:00
Bodo Möller
08b229e13f Make sure that BN_from_montgomery keeps the BIGNUMS in proper format 2007-09-18 16:35:28 +00:00
Andy Polyakov
eff371c866 Remove pq_compat.h. 2007-09-16 19:29:35 +00:00
Andy Polyakov
8dc899dee4 Minor sha[256|512]-586 performance tweaks. 2007-09-16 18:47:24 +00:00
Andy Polyakov
cc3d7bd0fc It's inappropraite to override application signal, nor is it appropriate
to shut down Winsock unless we know it won't be used [and we never do].
PR: 1439
2007-09-16 18:35:02 +00:00
Andy Polyakov
77519b51db Make bn2dec work on "SIXTY_FOUR_BIT" platforms.
PR: 1456
2007-09-15 17:05:11 +00:00
Andy Polyakov
1a01868e35 Remove sha512-sse2.pl. 2007-09-15 13:45:17 +00:00
Andy Polyakov
563d3e5948 Engage new x86 assembler modules. 2007-09-14 21:06:14 +00:00
Dr. Stephen Henson
7c5921e736 Handle empty case in X509_NAME canonical encoding. 2007-09-14 18:11:17 +00:00
Andy Polyakov
399f94bfb4 Commentary updates. 2007-09-13 07:27:10 +00:00
Andy Polyakov
1fa29843fa SHA512 for ARMv4. 2007-09-13 07:26:35 +00:00
Andy Polyakov
ee0449b17c SHA256/512 for x86. 2007-09-13 07:26:19 +00:00
Dr. Stephen Henson
a6fbcb4220 Change safestack reimplementation to match 0.9.8.
Fix additional gcc 4.2 value not used warnings.
2007-09-07 13:25:15 +00:00
Andy Polyakov
a5804a750b Add sha512_block implementation optimized for small register bank.
On x86 it gives same performance, while code size shrinks >10 times.
2007-09-07 12:34:45 +00:00
Dr. Stephen Henson
81025661a9 Update ssl code to support digests other than MD5+SHA1 in handshake.
Submitted by: Victor B. Wagner <vitus@cryptocom.ru>
2007-08-31 12:42:53 +00:00
Andy Polyakov
4ece7eb6f4 Constify seed and md2. 2007-08-31 10:12:35 +00:00
Andy Polyakov
1c56e95e28 Compress and more aggressively constify ec_curve.c [the latter is
achieved by minimizing link relocations].
2007-08-31 09:36:43 +00:00
Andy Polyakov
d8803d5ae6 aes_ige suffered SIGBUS on RISC platforms. 2007-08-29 21:30:13 +00:00
Andy Polyakov
0ddd3ea217 Make naming more consistent. 2007-08-28 21:02:38 +00:00
Andy Polyakov
6a8517f274 Make room for Camellia assembler. 2007-08-28 20:45:25 +00:00
Andy Polyakov
55eab3b74b Make x86_64 modules work under Win64/x64. 2007-08-23 12:01:58 +00:00
Andy Polyakov
dc0fcb98df Workaround MSVC6 compiler bug. 2007-08-23 11:59:53 +00:00
Dr. Stephen Henson
167066fed4 Fix for asm/no-asm on WIN32. 2007-08-13 02:24:26 +00:00
Dr. Stephen Henson
710069c19e Fix warnings. 2007-08-12 17:44:32 +00:00
Andy Polyakov
9d35d08ab6 Typo in ppccpuid.pl. 2007-07-31 18:19:40 +00:00
Andy Polyakov
983180bb8b Buglet fixes and minor optimization in aes-x86_86 assembler. 2007-07-30 16:42:57 +00:00
Andy Polyakov
cdb0392159 Make preprocessor logic more fail-safe. 2007-07-30 11:53:01 +00:00
Andy Polyakov
1891f5b395 As for inline vs. __inline. The original code implies that most compilers
understand inline, while WIN32 ones insist on __inline. Well, there are
other compilers that insist on __inline. At the same time it turned out
that most compilers understand both __inline and inline. I could find
only one that doesn't understand __inline, Sun C. In other words it seems
that __inline as preferred choice provides better coverage...
2007-07-30 11:42:08 +00:00
Andy Polyakov
a3963619f6 Make ppccpuid AIX friendly. 2007-07-30 08:47:32 +00:00
Andy Polyakov
34994068a4 Respect ISO aliasing rules.
PR: 1296
2007-07-27 20:34:10 +00:00
Andy Polyakov
afaad0ada6 AES for IA64 update. 2007-07-27 18:20:52 +00:00
Andy Polyakov
05f9cb3b77 ia64cpuid update. 2007-07-27 18:03:27 +00:00
Andy Polyakov
1988a456a7 x86 perlasm updates. 2007-07-25 12:38:11 +00:00
Andy Polyakov
a61710b868 Allow for option to skip hardware support. 2007-07-23 20:38:57 +00:00
Andy Polyakov
20f7563f3d md32_common.h update. 2007-07-23 13:57:15 +00:00
Andy Polyakov
3df2eff4bd x86*cpuid update. 2007-07-21 14:46:27 +00:00
Andy Polyakov
a415ebd026 Complete synchronization of aes-x86_64 with aes-586. 2007-07-21 14:20:46 +00:00
Andy Polyakov
52ee3d01ae Lppc_AES_[en|de]crypt_compact: size optimization. 2007-07-19 15:31:22 +00:00
Andy Polyakov
e59f992be6 Minor optimization in AES_set_encryption_key for x86_64. 2007-07-19 14:59:26 +00:00
Andy Polyakov
8bae7722a2 _x86_64_AES_[en|de]crypt_compact: size optimization and aggressive
T[ed]4 prefetch.
2007-07-19 14:29:41 +00:00
Andy Polyakov
287a9ee76e gas -g doesn't tolerate unpadded .bytes in code segment. 2007-07-13 21:35:56 +00:00
Andy Polyakov
96b0f6c16d Various minor updates to AES assembler modules. 2007-07-13 17:42:13 +00:00
Andy Polyakov
e1612ea59d Add _x86_64_AES_[en|de]crypt_compact. 2007-07-13 17:39:40 +00:00
Andy Polyakov
71f4ea44eb EVP_*_cfb1 was broken.
PR: 1318
2007-07-08 19:14:02 +00:00
Andy Polyakov
35295bdbee bn_mul_recursive doesn't handle all cases correctly, which results in
BN_mul failures at certain key-length mixes.
PR: 1427
2007-07-08 18:53:03 +00:00
Andy Polyakov
aa8d6f3e86 Typo in str_lib.c
PR: 1177
2007-07-07 20:11:12 +00:00
Andy Polyakov
62aa5dd415 Fix build problem on Tru64. 2007-06-29 13:11:45 +00:00
Andy Polyakov
673c55a2fe Latest bn_mont.c modification broke ECDSA test. I've got math wrong, which
is fixed now.
2007-06-29 13:10:19 +00:00
Ben Laurie
949ce10e88 Fix warning. 2007-06-23 18:47:51 +00:00
Ben Laurie
8dee823e61 Inline function declarations have to be prototypes. 2007-06-23 18:40:16 +00:00
Andy Polyakov
5d86336746 Flush output in x86_64cpuid.pl. 2007-06-21 11:39:35 +00:00
Andy Polyakov
5b89f78a89 Typo in x86_64-mont.pl.
PR: 1549
2007-06-21 11:38:52 +00:00
Andy Polyakov
c943ca5404 Optimize OPENSSL_cleanse. 2007-06-20 17:36:39 +00:00
Andy Polyakov
1c7f8707fd bn_asm for s390x. 2007-06-20 14:10:16 +00:00
Andy Polyakov
a21c46e70b Typo in Linux part of sparcv9cap.c
PR: 1532
2007-06-20 13:02:34 +00:00
Andy Polyakov
f3c26535ad Make some shortcuts in sparcv9cap.c. Trouble is that di_walk_node result
is inconsistent among CPU generations.
2007-06-20 13:00:59 +00:00
Andy Polyakov
2329694222 SPARC Solaris and Linux assemblers treat .align directive differently.
PR: 1547
2007-06-20 12:24:22 +00:00
Dr. Stephen Henson
9677bf0f30 Update .cvsignore 2007-06-18 12:40:24 +00:00
Andy Polyakov
7d9cf7c0bb Eliminate conditional final subtraction in Montgomery assembler modules. 2007-06-17 17:10:03 +00:00
Andy Polyakov
55525742f4 Privatize BN_*_no_branch. 2007-06-11 16:33:03 +00:00
Andy Polyakov
c693b5a55c Commentary updates and minor optimization for bn_mont.c. 2007-06-11 08:53:52 +00:00
Andy Polyakov
6b6443dead Eliminate conditional final subtraction in Montgomery multiplication. 2007-06-10 19:34:38 +00:00
Dr. Stephen Henson
54b5fd537f WIN32 fixes. 2007-06-08 00:26:16 +00:00
Dr. Stephen Henson
0b99d4f1d1 Remove unnecessary casts and avoid some warnings with gcc 4.2. 2007-06-07 16:07:57 +00:00
Dr. Stephen Henson
3c07d3a3d3 Finish gcc 4.2 changes. 2007-06-07 13:14:42 +00:00
Dr. Stephen Henson
1d1a64653c Back out safestack.h change for now: seems to break some things. 2007-06-04 22:18:20 +00:00
Dr. Stephen Henson
297e6f1917 Avoid use of function pointer casts in pem library. Modify safestack to
always use inline functions.
2007-06-04 17:53:04 +00:00
Dr. Stephen Henson
18096abb29 Handle NULL parameter in some EVP utility functions. 2007-05-31 12:39:21 +00:00
Andy Polyakov
f20af72312 AES_set_[en|de]crypt_key for ARMv4. 2007-05-30 15:57:31 +00:00
Andy Polyakov
7ef643360d s390x gas can't handle .align 128. 2007-05-28 16:32:50 +00:00
Andy Polyakov
76c828c627 AES_set_[en|de]crypt_key for s390x. 2007-05-28 16:30:18 +00:00
Dr. Stephen Henson
64a5c5d1be Fix X509_REQ_print_ex() to process extension options. 2007-05-22 23:31:29 +00:00
Dr. Stephen Henson
7b8b797375 Revert broken change to ccgost.
Initialize context properly for HMAC pkey method.
2007-05-22 12:58:39 +00:00
Andy Polyakov
a1a382dbc9 SHA256 for ARMv4. 2007-05-22 09:56:45 +00:00
Bodo Möller
19f6c524bf Fix crypto/ec/ec_mult.c to work properly with scalars of value 0 2007-05-22 09:47:43 +00:00
Andy Polyakov
e4317d2031 OPENSSL_IMPLEMENT_GLOBAL caused more grief than it's worth (it's used twice
in legacy code). I'd rather just remove it along with legacy interface,
but it's probably not as appropriate as I'd like. Reimplement the macro.
2007-05-20 20:11:19 +00:00
Andy Polyakov
86d8f3ee19 Typo in aes-ppc.pl. 2007-05-19 20:00:33 +00:00
Andy Polyakov
3005764c18 Typo in x509_txt.c.
Submitted by: Martin.Kraemer@Fujitsu-Siemens.com
2007-05-19 18:03:21 +00:00
Andy Polyakov
b1e8b4e65d x86cpuid fixes.
PR: 1526
2007-05-19 17:52:51 +00:00
Andy Polyakov
c6149e2f02 ppc-xlate.pl update. 2007-05-19 17:32:06 +00:00
Andy Polyakov
aa5c99fa01 sparccpuid.s update. 2007-05-19 17:26:48 +00:00
Andy Polyakov
9c200f5471 Initial draft of AES for PPC. 2007-05-19 17:16:27 +00:00
Dr. Stephen Henson
a70c09e2a2 Add .cvsignore to seed dir. 2007-05-17 16:43:15 +00:00
Dr. Stephen Henson
e77dbf325f Prepend signature name in dgst output. 2007-05-17 16:19:17 +00:00
Dr. Stephen Henson
4eba5d8c86 Fix error code name. 2007-05-16 00:14:32 +00:00
Dr. Stephen Henson
e69adea539 New function EVP_PKEY_asn1_copy(). Use default MD if type param is NULL. 2007-05-15 23:52:03 +00:00
Dr. Stephen Henson
9660cbcd6b Change C++ style comments. 2007-05-15 23:50:55 +00:00
Andy Polyakov
9c9c83ccb9 Throw in ppccpuid module. 2007-05-15 20:51:48 +00:00
Andy Polyakov
1d42fb5f4a Fix linking error after adding alphacpuid.s. 2007-05-15 07:11:23 +00:00
Andy Polyakov
e119769480 Add alphacpuid.s 2007-05-15 06:36:17 +00:00
Andy Polyakov
b2dba9bf1f Profiling revealed that OPENSSL_cleanse consumes *more* CPU time than
sha1_block_data_order when hashing short messages. Move OPENSSL_cleanse
to "cpuid" assembler module and gain 2x.
2007-05-14 21:35:25 +00:00
Andy Polyakov
932cc129ee x86_64 assembler updates. 2007-05-14 15:57:19 +00:00
Andy Polyakov
1a42839ba7 As all assembler modules are alignment neutral, allow C to pass unaligned
content.
2007-05-13 15:16:44 +00:00
Andy Polyakov
232a938c75 Make sha*-ia64 modules alignment neutral. 2007-05-13 15:15:24 +00:00
Ben Laurie
69ab085290 More IGE speedup. 2007-05-13 15:14:38 +00:00
Ben Laurie
5f09d0ecc2 AES IGE mode speedup. 2007-05-13 12:57:59 +00:00
Dr. Stephen Henson
6217896145 Improve error detection when streaming S/MIME.
Only use streaming when appropriate for detached data in smime utility.
2007-05-10 17:37:15 +00:00
Dr. Stephen Henson
ee7ca0941a Tidy up docs, remove warning. 2007-05-10 17:35:37 +00:00
Dr. Stephen Henson
f8492ffeaa More useful ASN1 macros for static allocation functions. 2007-05-10 17:34:42 +00:00
Andy Polyakov
308595638a Mention Core2 in sha1-x86_64. 2007-05-10 07:34:50 +00:00
Andy Polyakov
0bd8d6e2e1 Commentary updates to SHA for sparcv9. 2007-05-10 06:48:28 +00:00
Andy Polyakov
ae0d6e3e36 Engage SHA for sparcv9. 2007-05-04 12:54:02 +00:00
Andy Polyakov
6fa8a01c72 SHA for sparcv9. 2007-05-04 12:52:54 +00:00
Andy Polyakov
3f6916cf29 Fix bug introduced in cn#16195. 2007-05-03 09:12:47 +00:00
Andy Polyakov
a4470ae7b2 Fine reading of manual suggests that km can return non-normal completion code. 2007-05-03 07:26:27 +00:00
Andy Polyakov
251718e4c1 Fix s390x bugs and correct performance coefficients. 2007-05-02 11:44:02 +00:00
Richard Levitte
c504a5e783 Synchronise VMS with Unix. 2007-05-01 12:25:15 +00:00
Andy Polyakov
f6fb2c95ef Revert irrelevant changes from commit #16191. 2007-04-30 17:22:09 +00:00
Andy Polyakov
708311267a rll does not seem to be available on legacy s390. 2007-04-30 17:19:12 +00:00
Andy Polyakov
cdd1d7a618 Typo in commit #16187. 2007-04-30 15:55:00 +00:00
Andy Polyakov
b38c0add30 s390x optimizations. 2007-04-30 13:26:06 +00:00
Andy Polyakov
b900df5258 Engage s390x assembler modules. 2007-04-30 09:22:27 +00:00
Andy Polyakov
a2a54ffc5f s390x assembler pack. 2007-04-30 08:42:54 +00:00
Andy Polyakov
20c04a13e6 Reimplement rc4-586.pl, relicense rc4-x86_64.pl. 2007-04-26 20:48:38 +00:00
Bodo Möller
a291745eeb fix function codes for error 2007-04-24 01:06:19 +00:00
Bodo Möller
0862caf27e remove leftover from editing ... 2007-04-24 00:47:53 +00:00
Bodo Möller
96afc1cfd5 Add SEED encryption algorithm.
PR: 1503
Submitted by: KISA
Reviewed by: Bodo Moeller
2007-04-23 23:48:59 +00:00
Bodo Möller
24a8c25ab5 fix error codes 2007-04-19 15:14:21 +00:00
Bodo Möller
d1e7d1d96c don't violate the bn_check_top assertion in BN_mod_inverse_no_branch() 2007-04-19 14:45:57 +00:00
Dr. Stephen Henson
18f547734e New function ASN1_STRING_copy() to copy to an already
alloacted ASN1_STRING structure.
2007-04-14 17:53:55 +00:00
Dr. Stephen Henson
14ab6cdd69 Flush b64 BIO. 2007-04-13 18:00:45 +00:00
Dr. Stephen Henson
eeec060df0 Don't finalize signerinfo if reuse and partial both set. 2007-04-13 16:41:52 +00:00
Dr. Stephen Henson
9cfc8a9d5c Update smime utility to support streaming for -encrypt and -sign -nodetach
options. Add new streaming i2d (though strictly speaking it is BER format
when streaming) and PEM functions.

These all process content on the fly without storing it all in memory.
2007-04-13 01:06:41 +00:00
Dr. Stephen Henson
18327cd0e4 Copy update callback across when copying EVP_MD_CTX.
Remove unnecessary reference to EVP_MD_CTX in HMAC pkey method.
2007-04-12 13:02:31 +00:00
Dr. Stephen Henson
2022cfe07e New -mac and -macopt options to dgst utility. Reimplement -hmac option in
terms of new API.
2007-04-11 17:20:40 +00:00
Dr. Stephen Henson
74633553a9 Experimental HMAC support via EVP_PKEY_METHOD. 2007-04-11 12:33:06 +00:00
Dr. Stephen Henson
376bf1d4aa Constification. 2007-04-11 12:26:53 +00:00
Dr. Stephen Henson
d318fb79d2 Don't ignore config_name parameter passed to OPENSSL_config(). Use
"openssl_conf" in config file if config_name variable is missing.
2007-04-09 11:45:54 +00:00
Dr. Stephen Henson
0cc361f3e7 Fix from stable branch. 2007-04-08 17:45:47 +00:00
Dr. Stephen Henson
baecb96e8a Fix digest signing so digest type is set after init. 2007-04-08 16:53:50 +00:00
Dr. Stephen Henson
6181f5e404 Preliminary support for signctx/verifyctx callbacks. 2007-04-08 13:03:26 +00:00
Ben Laurie
48bd505c0b If you're going to check for negative, use an signed integer! Coverity ID 122. 2007-04-05 17:31:29 +00:00
Ben Laurie
ab2d91bd6b Don't copy from a nonexistent next. Coverity ID 47. 2007-04-05 17:23:51 +00:00
Ben Laurie
3b2eead381 Fix duplicate error number. 2007-04-05 17:09:43 +00:00
Ben Laurie
8bbf6ac010 Don't dereference NULL argument. Coverity ID 52. 2007-04-05 16:58:39 +00:00
Ben Laurie
f6301f6888 Avoid overrun. Coverity ID 60. 2007-04-05 15:45:58 +00:00
Nils Larsch
907e99623c check return value of ASN1_item_i2d(), Coverity ID 55 2007-04-04 19:41:20 +00:00
Ben Laurie
4f1a0b2c21 Handle bad content type. Coverity ID 99. 2007-04-04 15:31:17 +00:00
Ben Laurie
260c497cdd Fix buffer overrun. Coverity ID 106. 2007-04-04 15:13:31 +00:00
Ben Laurie
2ff7a0edef Make sure we detect corruption. 2007-04-04 13:21:15 +00:00
Nils Larsch
442cbb062d check correct pointer before freeing it (Coverity CID 79,86) 2007-04-02 20:29:40 +00:00
Nils Larsch
c971ca4c86 check if pointer is != NULL before dereferencing it (Coverity CID 40) 2007-04-02 20:02:27 +00:00
Andy Polyakov
9babf3929b RC4_set_key for x86_64 and Core2 optimization.
PR: 1447
2007-04-02 09:50:14 +00:00
Ben Laurie
2ec0be9e77 Don't die if the value is NULL (Coverity CID 98). 2007-04-01 18:00:52 +00:00
Ben Laurie
c2d1c2d319 Fix warning. 2007-04-01 17:56:25 +00:00
Andy Polyakov
162f677def Update x86cpuid.pl to correctly detect shared cache and to support new
RC4_set_key.
2007-04-01 17:28:08 +00:00
Andy Polyakov
2875462425 Reserve for assembler implementation of RC4_set_key and implement x86 one. 2007-04-01 17:01:12 +00:00
Bodo Möller
b002265ee3 make BN_FLG_CONSTTIME semantics more fool-proof 2007-03-28 18:41:23 +00:00
Bodo Möller
bd31fb2145 Change to mitigate branch prediction attacks
Submitted by: Matthew D Wood
Reviewed by: Bodo Moeller
2007-03-28 00:15:28 +00:00
Dr. Stephen Henson
9981a51e42 Stage 1 GOST ciphersuite support.
Submitted by: ran@cryptocom.ru
Reviewed by: steve@openssl.org
2007-03-23 17:04:05 +00:00
Richard Levitte
ebb326afe6 Synchronise the VMS build with recent movements in the Unix build. 2007-03-23 09:36:33 +00:00
Andy Polyakov
8f41e4fa4d link warnings caused by nasm modules. 2007-03-20 09:37:06 +00:00
Andy Polyakov
de50494505 Two extra instructions in RC4 character loop give 80% performance
improvement on Core2. I still need to detect Core2 and choose this
path...
2007-03-20 09:13:07 +00:00
Andy Polyakov
8b71d35458 nasm fixes. 2007-03-20 08:55:58 +00:00
Andy Polyakov
760e353528 sparcv9a-mont was modified to handle 32-bit aligned input, but check
for 64-bit alignment was not removed.
2007-03-20 08:54:51 +00:00
Dr. Stephen Henson
3627fedbea Win32 fixes. Add GOST algorithm to mkdef, update ordinals. Signed/unsigned fixes. 2007-03-16 22:20:55 +00:00
Dr. Stephen Henson
bbb5cf05db Fix from stable branch. 2007-03-05 00:09:08 +00:00
Nils Larsch
ebb01b84b8 size_t -> int 2007-03-02 19:56:29 +00:00
Nils Larsch
a0d48e7e7e remove unused file 2007-03-02 19:42:16 +00:00
Lutz Jänicke
1fcfa22222 Initialize "buf" to 0 to make valgrind happy :-)
Note: the RAND_bytes() manual page says:
 RAND_bytes() puts num cryptographically strong pseudo-random bytes into buf.
It does not talk about using the previous contents of buf so we are working
as documented.
2007-03-02 17:54:51 +00:00
Lutz Jänicke
c9fb4e2c8d Do not use uninitialized memory to seed the PRNG as it may confuse
code checking tools.
PR: 1499
2007-03-02 17:46:25 +00:00
Dr. Stephen Henson
6e7ca5e1eb Update from stable branch. 2007-02-27 18:43:42 +00:00
Nils Larsch
0d5ac5a738 allow EVP_PKEY_CTX_free(NULL) 2007-02-26 18:32:53 +00:00
Nils Larsch
c209a35820 remove dead code 2007-02-26 18:21:19 +00:00
Lutz Jänicke
0636c39bb1 Fix incorrect handling of special characters
PR: 1459
Submitted by: tnitschke@innominate.com
Reviewed by: steve@openssl.org
2007-02-21 17:44:53 +00:00
Dr. Stephen Henson
a2e623c011 Update from 0.9.7-stable. 2007-02-21 13:49:35 +00:00
Dr. Stephen Henson
5d5ca32fa1 Updates from 0.9.8-stable branch. 2007-02-18 18:21:57 +00:00
Bodo Möller
52b8dad8ec Reorganize the data used for SSL ciphersuite pattern matching.
This change resolves a number of problems and obviates multiple kludges.
A new feature is that you can now say "AES256" or "AES128" (not just
"AES", which enables both).

In some cases the ciphersuite list generated from a given string is
affected by this change.  I hope this is just in those cases where the
previous behaviour did not make sense.
2007-02-17 06:45:38 +00:00
Nils Larsch
30e5e8aca5 - use OPENSSL_malloc() etc. in zlib
- move zlib_stateful_ex_idx initialization to COMP_zlib()

PR: 1468
2007-02-14 21:52:01 +00:00
Nils Larsch
b900a6b42f avoid shifting input 2007-02-11 19:33:21 +00:00
Nils Larsch
92ada7cc52 remove unreachable code 2007-02-10 09:45:07 +00:00
Dr. Stephen Henson
52cfa39716 Add -hmac option to dgst from 0.9.7 stable branch. 2007-02-08 19:07:43 +00:00
Nils Larsch
b3bad17d1a remove unused variable 2007-02-07 20:49:58 +00:00
Richard Levitte
82bf227e91 After objects have been freed, NULLify the pointers so there will be no double
free of those objects
2007-02-07 01:42:46 +00:00
Nils Larsch
8807a2dfc4 fix typo 2007-02-06 19:48:42 +00:00
Dr. Stephen Henson
af32f9fdda Update from fips2 branch. 2007-02-03 17:32:49 +00:00
Nils Larsch
357d5de5b9 add support for DSA with SHA2 2007-02-03 14:41:12 +00:00
Nils Larsch
689f9faba4 fix potential memory leaks
PR: 1462
2007-02-03 09:55:42 +00:00
Andy Polyakov
82686bdcaa Minimize aes_core.c footprint when AES_[en|de]crypt is implemented in
assembler.
2007-01-25 20:47:00 +00:00
Andy Polyakov
14b1d089b6 Minor touch to aes-armv4.pl. 2007-01-25 11:28:07 +00:00
Andy Polyakov
a296239bdd AES for ARMv4. 2007-01-25 10:44:48 +00:00
Andy Polyakov
0b0896cdd2 Minor optimization for sha1-armv4 module. 2007-01-25 10:44:18 +00:00
Dr. Stephen Henson
2d3e956ae0 Update from 0.9.7-stable. 2007-01-23 17:53:48 +00:00
Andy Polyakov
36b7c06975 SHA1 for ARMv4 and Thumb. 2007-01-22 20:33:46 +00:00
Dr. Stephen Henson
560b79cbff Constify version strings and some structures. 2007-01-21 13:07:17 +00:00
Andy Polyakov
64aecc6720 Make armv4t-mont module backward binary compatible with armv4 and rename it
accordingly.
2007-01-17 20:12:41 +00:00
Andy Polyakov
43b8fe1cd0 Montgomery multiplication for ARMv4. 2007-01-11 21:43:25 +00:00
Andy Polyakov
5c914f204a #include <stddef.h> in digest headers.
Submitted by: Kurt Roeckx <kurt@roeckx.be>
2006-12-29 14:51:42 +00:00
Andy Polyakov
8876e58f34 Montgomery multiplication for MIPS III/IV. Not engaged. 2006-12-29 11:09:33 +00:00
Andy Polyakov
7321a84d4c Minor clean-up in crypto/bn/asm. 2006-12-29 11:05:20 +00:00
Andy Polyakov
bb11c28246 Minor clean-up in crypto/engine. 2006-12-29 10:55:43 +00:00
Andy Polyakov
00b4e083fd Move eng_padlock.c to ./engines.
Submitted by: Michal Ludvig <michal@logix.cz>
2006-12-29 10:42:24 +00:00
Andy Polyakov
4cfe3df1f5 Minor performance improvements to x86-mont.pl. 2006-12-28 12:43:16 +00:00
Andy Polyakov
8f2d60ec26 Fix for "strange errors" exposed by ccgost engine. The fix is
two extra insructions in sqradd loop at line #503.
2006-12-27 10:59:51 +00:00
Richard Levitte
423a5d54a1 Synchronise a bit more with Unixly build 2006-12-26 21:20:15 +00:00
Richard Levitte
ea46f5e0e5 Replace strdup() with BUF_strdup(). 2006-12-25 09:43:46 +00:00
Richard Levitte
7f6c848242 Synchronise with Unixly build, again ;-) 2006-12-24 20:25:51 +00:00
Dr. Stephen Henson
559d50138f Add bit I missed from PKCS#7 streaming encoder. 2006-12-24 16:46:47 +00:00
Dr. Stephen Henson
11d8cdc6ad Experimental streaming PKCS#7 support.
I thought it was about time I dusted this off. This stuff had been sitting on
my hard drive for *ages* (2003 in fact). Hasn't been tested well and may not
work properly.

Nothing uses it at present which is just as well.

Think of this as a traditional Christmas present which looks far more
impressive in the adverts and on the box, some of the bits are missing and
falls to bits if you play with it too much.
2006-12-24 16:22:56 +00:00
Richard Levitte
e49978dafe Synchronise with Unixly build 2006-12-24 09:27:23 +00:00
Andy Polyakov
e1d9e533b5 Oops! New prototype code creeped through... 2006-12-22 15:47:01 +00:00
Andy Polyakov
f946dd7198 Make sha.h more "portable." 2006-12-22 15:42:06 +00:00
Andy Polyakov
1702c8c4bf x86-mont.pl sse2 tune-up and integer-only squaring procedure. 2006-12-22 15:28:07 +00:00
Nils Larsch
b0ec114685 fix order
PR: 1442
2006-12-21 19:50:48 +00:00
Nils Larsch
c92da5a605 update 2006-12-21 19:48:47 +00:00
Nils Larsch
06e2dd037e add support for ecdsa-with-sha256 etc. 2006-12-20 08:58:54 +00:00
Nils Larsch
34f0a19309 remove trailing '\'
PR: 1438
2006-12-19 19:49:02 +00:00
Bodo Möller
772e3c07b4 Fix the BIT STRING encoding of EC points or parameter seeds
(need to prevent the removal of trailing zero bits).
2006-12-19 15:11:37 +00:00
Nils Larsch
360ff3cf58 fix order 2006-12-18 22:20:27 +00:00
Nils Larsch
91b73acb19 use const ASN1_TIME * 2006-12-11 22:35:51 +00:00
Andy Polyakov
87d3af6475 Eliminate 64-bit alignment limitation in sparcv9a-mont. 2006-12-08 15:18:41 +00:00
Andy Polyakov
98939a05b6 alpha-mont.pl: gcc portability fix and make-rule. 2006-12-08 14:18:58 +00:00
Andy Polyakov
d28134b8f3 Minor, +10%, tune-up for x86_64-mont.pl. 2006-12-08 10:13:51 +00:00
Andy Polyakov
8583eba015 Montgomery multiplication routine for Alpha. 2006-12-08 10:12:56 +00:00
Dr. Stephen Henson
5894b98f99 Update from 0.9.7-stable branch. 2006-12-07 13:29:08 +00:00
Dr. Stephen Henson
5de3a0ff3d Sync OID NIDs with OpenSSL 0.9.8. 2006-12-06 13:44:21 +00:00
Dr. Stephen Henson
10ca15f3fa Fix change to OPENSSL_NO_RFC3779 2006-12-06 13:36:48 +00:00
Nils Larsch
fa9ac569b8 avoid duplicate entries in add_cert_dir()
PR: 1407
Submitted by: Tomas Mraz <tmraz@redhat.com>
2006-12-05 21:21:37 +00:00
Nils Larsch
0f997d0dc3 allocate a new attributes entry in X509_REQ_add_extensions()
if it's NULL (in case of a malformed pkcs10 request)

PR: 1347
Submitted by: Remo Inverardi <invi@your.toilet.ch>
2006-12-04 19:11:57 +00:00
Nils Larsch
b0eedd77f6 add "Certificate Issuer" and "Subject Directory Attributes" OIDs
PR: 1433
2006-12-04 18:51:06 +00:00
Andy Polyakov
502aef5aaf Eliminate redundant variable in Camellia CBC routine. 2006-12-02 11:52:50 +00:00
Andy Polyakov
9f8cfb1c62 Improve Camellia code readability. 2006-12-02 11:12:13 +00:00
Andy Polyakov
c163b5f7a0 Fix bugs in Camellia CBC routine. 2006-12-02 10:56:45 +00:00
Andy Polyakov
20da8b8f90 Camellia portability fixes.
Submitted by: Masashi Fujita, NTT
2006-12-02 10:38:40 +00:00
Dr. Stephen Henson
4d7aff707e Update dependencies. 2006-11-30 13:41:47 +00:00
Dr. Stephen Henson
d137b56a5b Win32 fixes from stable branch. 2006-11-30 13:39:34 +00:00
Nils Larsch
7806f3dd4b replace macros with functions
Submitted by: Tracy Camp <tracyx.e.camp@intel.com>
2006-11-29 20:54:57 +00:00
Andy Polyakov
73b979e601 Clarify HAL SPARC64 support situation in sparcv9a-mont.pl. 2006-11-28 11:07:36 +00:00
Andy Polyakov
ebae8092cb Minor optimizations based on intruction level profiler feedback. 2006-11-28 10:34:51 +00:00
Andy Polyakov
2e21922eb6 Modulo-schedule loops in sparcv9a-mont.pl. Overall improvement factor
over 0.9.8 is up to 3x on USI&II cores and up to 80% - on USIII&IV.
2006-11-28 07:24:26 +00:00
Andy Polyakov
1c3d2b94be This is "informational" commit. Its mere purpose is to expose "modulo
factor" in inner loops.
2006-11-28 07:20:36 +00:00
Andy Polyakov
48d2335d73 Non-SSE2 path to bn_mul_mont. But it's disabled, because it currently
doesn't give performance improvement.
2006-11-27 14:59:35 +00:00
Ben Laurie
96ea4ae91c Add RFC 3779 support. 2006-11-27 14:18:05 +00:00
Andy Polyakov
7af5726108 sha512-ppc.pl mutli-thread safety fix. 2006-11-27 13:11:15 +00:00
Nils Larsch
69d4646f4e register the engine as default engine in ENGINE_set_default()
PR: 1431
2006-11-24 18:37:43 +00:00
Dr. Stephen Henson
47a9d527ab Update from 0.9.8 stable. Eliminate duplicate error codes. 2006-11-21 21:29:44 +00:00
Dr. Stephen Henson
14975faa60 Remove illegal IMPLEMENT macros from header file. 2006-11-16 00:55:33 +00:00
Dr. Stephen Henson
3f12464861 Remove redundant PREDECLARE statement. 2006-11-16 00:52:49 +00:00
Dr. Stephen Henson
de12116417 Initial, incomplete support for typesafe macros without using function
casts.
2006-11-16 00:19:39 +00:00
Dr. Stephen Henson
28b987aec9 Don't assume requestorName is present for signed requests. ASN1 OCSP module
fix: certs field is OPTIONAL.
2006-11-13 13:21:47 +00:00
Dr. Stephen Henson
fb596f3bb7 OCSP library tidy. Use extension to encode OCSP extensions instead of doing
it manually. Make OCSP_CERTID_dup() a real function instead of a macro.
2006-11-13 13:18:28 +00:00
Ben Laurie
84948b39df Fix various warnings. 2006-11-08 09:45:12 +00:00
Dr. Stephen Henson
ad0e439604 Avoid shadow warning. 2006-11-07 16:20:14 +00:00
Nils Larsch
1611b9ed80 remove SSLEAY_MACROS code 2006-11-06 19:53:39 +00:00
Nils Larsch
05cfe06607 fix OPENSSL_NO_foo defines 2006-10-27 21:25:53 +00:00
Dr. Stephen Henson
b37a68cc8f Initialize old_priv_encode, old_priv_decode. 2006-10-27 11:43:27 +00:00
Andy Polyakov
5b50f99e1e Further mingw build procedure updates. 2006-10-24 22:14:20 +00:00
Andy Polyakov
a6efc2d1b8 Fix mingw warnings. 2006-10-23 07:41:05 +00:00
Andy Polyakov
08a638237d Allow for mingw cross-compile configuration. 2006-10-23 07:30:19 +00:00
Andy Polyakov
3634d7e97a Gcc over-optimizes PadLock AES CFB codepath, tell it not to. 2006-10-19 20:55:05 +00:00
Andy Polyakov
53d7efea76 Temporary fix for sha256 IA64 assembler. 2006-10-18 09:42:56 +00:00
Andy Polyakov
002684d693 Fix bug in big-endian path and optimize it for size. 2006-10-18 08:15:16 +00:00
Andy Polyakov
c038b8aa56 Typo in perlasm/x86asm.pl. 2006-10-17 16:21:28 +00:00
Andy Polyakov
c5f17d45c1 Further synchronizations with md32_common.h update, consistent naming
for low-level SHA block routines.
2006-10-17 16:13:18 +00:00
Andy Polyakov
31439046e0 bn/asm/ppc.pl to use ppc-xlate.pl. 2006-10-17 14:37:07 +00:00
Andy Polyakov
11d0ebc841 Further synchronizations with md32_common.h update. 2006-10-17 13:38:10 +00:00
Andy Polyakov
cecfdbf72d VIA-specific Montgomery multiplication routine. 2006-10-17 07:04:48 +00:00
Andy Polyakov
f0f61f6d0d Synchronize SHA1 assembler with md32_common.h update. 2006-10-17 07:00:23 +00:00
Andy Polyakov
d68ff71004 Support for .asciz directive in perlasm modules. 2006-10-17 06:43:11 +00:00
Andy Polyakov
591e85e928 Linking errors on IA64 and typo in aes-ia64.S. 2006-10-17 06:41:27 +00:00
Andy Polyakov
c69ed6ea39 Re-implement md32_common.h [make it simpler!] and eliminate code rendered
redundant as result.
2006-10-11 11:55:11 +00:00
Dr. Stephen Henson
55a08fac68 Typo. 2006-10-05 21:59:50 +00:00
Nils Larsch
2fc281d01f return an error if the supplied precomputed values lead to an invalid signature 2006-10-04 19:37:17 +00:00
Bodo Möller
d326582cab ASN1_item_verify needs to initialize ctx before any "goto err" can
happen; the new code for the OID cross reference table failed to do so.
2006-10-04 06:14:36 +00:00
Dr. Stephen Henson
f4c630abb3 Place standard CRL behaviour in default X509_CRL_METHOD new functions to
create, free and set default CRL method.
2006-10-03 02:47:59 +00:00
Mark J. Cox
c2cccfc585 Initialise ctx to NULL to avoid uninitialized free, noticed by
Steve Kiernan
2006-09-29 08:21:41 +00:00
Bodo Möller
5e3225cc44 Introduce limits to prevent malicious keys being able to
cause a denial of service.  (CVE-2006-2940)
[Steve Henson, Bodo Moeller]
2006-09-28 13:45:34 +00:00
Mark J. Cox
348be7ec60 Fix ASN.1 parsing of certain invalid structures that can result
in a denial of service.  (CVE-2006-2937)  [Steve Henson]
2006-09-28 13:20:44 +00:00
Dr. Stephen Henson
019bfef899 Initialize new callbacks and make sure hent is always initialized. 2006-09-26 13:25:19 +00:00
Richard Levitte
0709249f4c Complete the change for VMS. 2006-09-25 08:35:35 +00:00
Dr. Stephen Henson
5b73c3609b Using correct lock for X509_REQ.
PR:1348
2006-09-22 17:06:09 +00:00
Dr. Stephen Henson
eebeb52b29 Update length if copying MSB set in asn1_string_canon(). 2006-09-22 13:37:15 +00:00
Dr. Stephen Henson
44181ea836 Add missing prototype. Fix various warnings (C++ comments, ; outside function). 2006-09-21 13:24:46 +00:00
Dr. Stephen Henson
c80c7bf999 Make int_rsa_sign function match prototype.
PR: 1383
2006-09-21 13:11:24 +00:00
Dr. Stephen Henson
ffa5ebf3f4 Compile in gost engine. 2006-09-21 13:07:57 +00:00
Dr. Stephen Henson
1182301ca7 Do CRL method init after other operations. 2006-09-21 12:48:56 +00:00
Dr. Stephen Henson
010fa0b331 Tidy up CRL handling by checking for critical extensions when it is
loaded. Add new function X509_CRL_get0_by_serial() to lookup a revoked
entry to avoid the need to access the structure directly.

Add new X509_CRL_METHOD to allow common CRL operations (verify, lookup) to be
redirected.
2006-09-21 12:42:15 +00:00
Andy Polyakov
4b67fefe5a Remove x86ms.pl and reimplement x86*.pl. 2006-09-18 19:17:09 +00:00
Andy Polyakov
3a8012cbf2 Improve 386 portability of aes-586.pl. 2006-09-18 19:13:15 +00:00
Bodo Möller
a53cdc5b08 Ensure that the addition mods[i]+delta cannot overflow in probable_prime().
[Problem pointed out by Adam Young <adamy (at) acm.org>]
2006-09-18 14:00:49 +00:00
Dr. Stephen Henson
5d20c4fb35 Overhaul of by_dir code to handle dynamic loading of CRLs. 2006-09-17 17:16:28 +00:00
Dr. Stephen Henson
bc7535bc7f Support for AKID in CRLs and partial support for IDP. Overhaul of CRL
handling to support this.
2006-09-14 17:25:02 +00:00
Dr. Stephen Henson
016bc5ceb3 Fixes for new CRL/cert callbacks. Update CRL processing code to use new
callbacks.
2006-09-11 13:00:52 +00:00
Dr. Stephen Henson
4d50a2b4d6 Add verify callback functions to lookup a STACK of matching certs or CRLs
based on subject name.

New thread safe functions to retrieve matching STACK from X509_STORE.

Cache some IDP components.
2006-09-10 12:38:37 +00:00
Bodo Möller
7f4301668f Make sure the int_rsa_verify() prototype matches the implementation
(m_len currently is 'unsigned int', not 'size_t')

Submitted by: Gisle Vanem
2006-09-08 06:00:40 +00:00
Bodo Möller
2952886010 Remove non-functional part of recent patch, after discussion with
Colin Percival (this would have caused more problems than solved,
and isn't really necessary anyway)
2006-09-06 06:43:11 +00:00
Mark J. Cox
b79aa05e3b Avoid PKCS #1 v1.5 signature attack discovered by Daniel Bleichenbacher
(CVE-2006-4339)

Submitted by: Ben Laurie, Google Security Team
Reviewed by: bmoeller, mjc, shenson
2006-09-05 08:58:03 +00:00
Andy Polyakov
500b5a181d Rewrite sha1-586.pl. 2006-08-31 21:27:30 +00:00
Andy Polyakov
2b8a5406f9 Fix bug in aes-586.pl. 2006-08-31 21:15:38 +00:00
Andy Polyakov
2f35ae90fe Fix bug in x86unix.pl introduced in latest update.
PR: 1380
2006-08-31 21:12:17 +00:00
Dr. Stephen Henson
02c9b66a6c Fix C++ style comments, change assert to OPENSSL_assert, stop warning with
pedantic mode.
2006-08-31 20:56:20 +00:00
Dr. Stephen Henson
539d4c1030 Fix leak 2006-08-31 20:10:37 +00:00
Ben Laurie
aa6d1a0c19 Forward port of IGE mode. 2006-08-31 14:04:04 +00:00
Ben Laurie
777c47acbe Make things static that should be. Declare stuff in headers that should be.
Fix warnings.
2006-08-28 17:01:04 +00:00
Ulf Möller
1c23bc5670 Use gmtime on cygwin
Submitted by: Corinna Vinschen
2006-08-13 09:03:38 +00:00
Andy Polyakov
8ea975d070 +20% tune-up for Power5. 2006-08-09 15:40:30 +00:00
Andy Polyakov
6c69aa532e Revised AES_cbc_encrypt in x86 assembler module. 2006-08-07 09:05:52 +00:00
Andy Polyakov
fc92414273 Agressively prefetch S-box in SSE codepatch, relax alignment requirement,
check for SSE bit instead of MMX, as pshufw was introduces in PIII, minor
optimization, typos...
2006-08-02 22:38:16 +00:00
Andy Polyakov
53154d71c3 Switch to compact S-box when generating AES key schedule. 2006-08-02 07:46:56 +00:00
Andy Polyakov
8cebec9802 Switch to compact S-box when generating AES key schedule. 2006-08-01 22:10:39 +00:00
Andy Polyakov
c8a0d0aaf9 Engage assembler in solaris64-x86_64-cc. 2006-07-31 22:28:40 +00:00
Andy Polyakov
0cc46efa09 perlasm/x86unix.pl update. 2006-07-31 22:26:40 +00:00
Andy Polyakov
22c268e6c9 Next generation aes-586.pl featuring AES_[en|de]crypt, accessing exclusively
256 byte S-box. AES_cbc_encrypt needs further work as it should also use
slow routines when processing smaller amount of data.
2006-07-31 20:03:56 +00:00
Dr. Stephen Henson
f6e7d01450 Support for multiple CRLs with same issuer name in X509_STORE. Modify
verify logic to try to use an unexpired CRL if possible.
2006-07-25 17:39:38 +00:00
Dr. Stephen Henson
edc540211c Cache some CRL related extensions. 2006-07-24 12:39:22 +00:00
Dr. Stephen Henson
2eed3a3cc8 Avoid warning. 2006-07-21 22:46:19 +00:00
Dr. Stephen Henson
786aa98da1 Use correct pointer types for various functions. 2006-07-20 16:56:47 +00:00
Bodo Möller
413e0853d7 New Camellia implementation (replacing previous version)
Submitted by: NTT
2006-07-19 13:38:26 +00:00
Dr. Stephen Henson
450ea83495 Store canonical encodings of Name structures. Update X509_NAME_cmp() to use
them.
2006-07-18 12:36:19 +00:00
Andy Polyakov
af8c1d81a3 Reimplement outer rounds as "compact" in x86 assembler. This has rather
strong impact on decrypt performance, 20-25%. One probably should consider
switching between slower and faster routines depending on how much data
we were asked to process.
2006-07-18 10:05:38 +00:00
Dr. Stephen Henson
b589427941 WIN32 fixes signed/unsigned issues and slightly socket semantics. 2006-07-17 18:52:51 +00:00
Dr. Stephen Henson
f0fa285f75 Update .cvsignore again. 2006-07-17 16:42:06 +00:00
Dr. Stephen Henson
a0b5b07010 Update .cvsignore 2006-07-17 16:40:20 +00:00
Dr. Stephen Henson
5c95c2ac23 Fix various error codes to match functions. 2006-07-17 16:33:31 +00:00
Dr. Stephen Henson
c1c6c0bf45 New non-blocking OCSP functionality. 2006-07-17 12:18:28 +00:00
Andy Polyakov
dff2922aa7 Add option for "compact" rounds to aes_x86core.c. "Compact" rounds are
those referencing compact, 256-byte, S-boxes.
2006-07-14 09:57:55 +00:00
Dr. Stephen Henson
31780d0e26 Bugfix: don't look in internal table for signature if found in application
supplied list.
2006-07-12 16:30:40 +00:00
Dr. Stephen Henson
29cf84c692 New docs for EVP_Digest{Sign,Verify}*() function. Update existing docs. 2006-07-12 12:31:30 +00:00
Dr. Stephen Henson
b7683e3a5d Allow digests to supply S/MIME micalg values from a ctrl.
Send ctrls to EVP_PKEY_METHOD during signing of PKCS7 structure so
customisation is possible.
2006-07-10 18:36:55 +00:00
Dr. Stephen Henson
0ee2166cc5 New functions to add and free up application defined signature OIDs. 2006-07-09 16:05:43 +00:00
Dr. Stephen Henson
067707e367 Set detached flag in PKCS7 structure earlier to avoid eating up memory.
PR: 1071
2006-07-09 12:02:08 +00:00
Dr. Stephen Henson
5ba4bf35c5 New functions to enumerate digests and ciphers. 2006-07-09 00:53:45 +00:00
Andy Polyakov
86bdc0a3ee Fix compiler warnings. 2006-07-04 20:29:50 +00:00
Andy Polyakov
1a4e245f3e Unsigned vs signed comparison warning. 2006-07-04 20:29:14 +00:00
Andy Polyakov
975efcbaee Typos(?) in HEAD/crypto/evp/p_lib.c. 2006-07-04 20:27:44 +00:00
Dr. Stephen Henson
90e1b1fd7d dsa_pub_cmp() doesn't need to check parameters because that is done in
EVP_PKEY_cmp().
2006-07-02 21:13:39 +00:00
Dr. Stephen Henson
86207c1960 Make return value from EVP_PKEY_cmp() and EVP_PKEY_cmp_parameters() consistent. 2006-07-02 21:12:40 +00:00
Andy Polyakov
9c62bca11a Prepare playground for AES experimental code. 2006-07-02 09:18:00 +00:00
Bodo Möller
3df760b83a use <poll.h> as by Single Unix Specification 2006-06-30 08:14:39 +00:00
Bodo Möller
e34aa5a3b3 always read in RAND_poll() if we can't use select because of a too
large FD: it's non-blocking mode anyway
2006-06-28 14:50:12 +00:00
Andy Polyakov
985e4c4154 Mitigate the hazard of cache-collision timing attack on last round. The
only chance for T[ed]4 to get evicted in this module is when its cache
"overlaps" with last 128 bits of key schedule.
2006-06-28 08:52:16 +00:00
Andy Polyakov
9598fa8759 Mitigate the hazard of cache-collision timing attack on last round. Well,
prefetch could have been moved closer to Td4 references. Something for
later consideration...
2006-06-28 08:48:54 +00:00
Andy Polyakov
ac8173515a Mitigate cache-collision timing attack on last round. 2006-06-28 08:39:06 +00:00
Dr. Stephen Henson
944f858021 Fix EVP_PKEY_CTX_dup() to return correct value and handle NULL keys in
the source.
2006-06-27 17:23:24 +00:00
Richard Levitte
27a3d9f9aa Use poll() when possible to gather Unix randomness entropy 2006-06-27 06:31:34 +00:00
Bodo Möller
48fc582f66 New functions CRYPTO_set_idptr_callback(),
CRYPTO_get_idptr_callback(), CRYPTO_thread_idptr() for a 'void *' type
thread ID, since the 'unsigned long' type of the existing thread ID
does not always work well.
2006-06-23 15:21:36 +00:00
Bodo Möller
c4e7870ac1 Change array representation of binary polynomials to make GF2m part of
the BN library more generally useful.

Submitted by: Douglas Stebila
2006-06-18 22:00:57 +00:00
Bodo Möller
4584eccea0 another thread-safety fix 2006-06-16 01:00:47 +00:00
Bodo Möller
675f605d44 Thread-safety fixes 2006-06-14 08:55:23 +00:00
Richard Levitte
1a159e08af Keep synchronised with Unix 2006-06-12 06:46:18 +00:00
Bodo Möller
dd030860c4 Camellia cipher, contributed by NTT
Submitted by: Masashi Fujita
Reviewed by: Bodo Moeller
2006-06-11 01:09:07 +00:00
Richard Levitte
2d09372434 Keep synchronised with the Unix build 2006-06-10 05:38:23 +00:00
Bodo Möller
67912e0032 Camellia cipher, contributed by NTT
Submitted by: Masashi Fujita
Reviewed by: Bodo Moeller
2006-06-09 22:29:40 +00:00
Bodo Möller
f3dea9a595 Camellia cipher, contributed by NTT
Submitted by: Masashi Fujita
Reviewed by: Bodo Moeller
2006-06-09 15:44:59 +00:00
Dr. Stephen Henson
fb7b393278 Output MIME parameter micalg according to RFC3851 and RFC4490 instead of hard
coding it to "sha1".
2006-06-06 13:27:36 +00:00
Dr. Stephen Henson
61e5ec4b1e Add AES and GOST S/MIME capabilities if algorithms are supported. 2006-06-06 12:35:05 +00:00
Andy Polyakov
6f344eab03 Fix obvious typo. 2006-06-05 16:04:09 +00:00
Dr. Stephen Henson
41eacc84a0 Clarify comment and add #ifdef. 2006-06-05 12:38:22 +00:00
Dr. Stephen Henson
01b8b3c7d2 Complete EVP_PKEY_ASN1_METHOD ENGINE support. 2006-06-05 11:52:46 +00:00
Andy Polyakov
8fecd4b4f1 Sync aes.h with http://cvs.openssl.org/chngview?cn=15336. 2006-06-05 10:43:41 +00:00
Andy Polyakov
41fc5f2dbe Reimplement AES_ofb128_encrypt. 2006-06-05 10:40:54 +00:00
Andy Polyakov
bcfd3d68f5 Correct logical error in STRICT_ALIGNMENT check and remove copy of
eay licence, as module is practically rewritten from scratch [well,
even original submission was obviously "almost, but not quite,
entirely unlike" any other eay *_cfb.c module, not to mention new
functions].
2006-06-05 10:40:28 +00:00
Andy Polyakov
d3a6461d71 Minor ppc-xlate.pl update. 2006-06-05 09:42:31 +00:00
Andy Polyakov
17478fdede Add sha512-ppc.pl module. 2006-06-05 09:37:55 +00:00
Andy Polyakov
4dca00cec8 Minor sha1-ppc.pl update. 2006-06-05 09:35:50 +00:00
Richard Levitte
061d774b99 A few more ENGINE strings that need shortening. 2006-06-04 08:22:25 +00:00
Richard Levitte
20469da285 Synchronise with Unix 2006-06-03 02:17:49 +00:00
Dr. Stephen Henson
e18e3eba76 Make update. 2006-06-02 17:54:47 +00:00
Dr. Stephen Henson
de9fcfe348 Initial public key ASN1 method engine support. Not integrated yet. 2006-06-02 17:52:27 +00:00
Dr. Stephen Henson
7e5b06813d Automatically free up dynamically allocated public key methods when
and ENGINE is destroyed.
2006-06-02 17:09:17 +00:00
Dr. Stephen Henson
1892c8bf97 Extend default method string to include public key methods.
Add missing prototypes.

Fix engine method lookup.
2006-06-02 13:09:59 +00:00
Dr. Stephen Henson
5e428e7d0d Typo. 2006-06-02 12:37:02 +00:00
Dr. Stephen Henson
c9777d2659 Add ENGINE support for EVP_PKEY_METHOD including lookups of ENGINE
implementations and functional reference counting when a context
is allocated, free or copied.
2006-06-02 12:33:39 +00:00
Richard Levitte
3aedd213a9 Synchronise with the Unixly build. 2006-06-01 12:50:56 +00:00
Dr. Stephen Henson
e0c1ea9038 Fix error code. make update 2006-06-01 12:43:39 +00:00
Dr. Stephen Henson
6f88c6a634 Add missing prototype. Extend engine utility to print public key algorithms. 2006-06-01 12:38:22 +00:00
Dr. Stephen Henson
58aa573ac2 Add engine table for EVP_PKEY_METHOD. Doesn't do much yet. 2006-06-01 11:38:50 +00:00
Dr. Stephen Henson
b28dea4e10 New pkey functions for keygen callbacks and retrieving operation type. 2006-05-31 17:34:14 +00:00
Andy Polyakov
21f0db692d Tune up AES CFB. Performance improvement varies from 10% to 50% from
platform to platform. Its absolute value is within few percents
marginal from that of ECB.
2006-05-30 07:20:13 +00:00
Richard Levitte
25074d6c22 Deal with another name that's longer than 31 characters. 2006-05-28 19:39:36 +00:00
Richard Levitte
0cfc80c4c3 rslen is unsigned, so it can never go below 0. 2006-05-28 19:36:29 +00:00
Dr. Stephen Henson
994df5a248 Flush p7bio when all data has been copied. 2006-05-26 17:14:23 +00:00
Dr. Stephen Henson
3207e61222 Add prototypes, update Win32 ordinals. 2006-05-25 11:44:05 +00:00
Richard Levitte
3671233089 Keep in sync with Unix 2006-05-25 10:40:01 +00:00
Dr. Stephen Henson
3a828611e9 Update EVP_MD_CTX_copy_ex() to use EVP_PKEY_CTX_dup(). 2006-05-25 00:55:00 +00:00
Dr. Stephen Henson
8bdcef40e4 New function to dup EVP_PKEY_CTX. This will be needed to make new signing
functions and EVP_MD_CTX_copy work properly.
2006-05-24 23:49:30 +00:00
Dr. Stephen Henson
91c9e62123 New functions for enchanced digest sign/verify. 2006-05-24 17:30:09 +00:00
Dr. Stephen Henson
0e3453536e Fix warnings. 2006-05-24 13:29:32 +00:00
Dr. Stephen Henson
eaff5a1412 Use size_t for new crypto size parameters. 2006-05-24 12:33:46 +00:00
Dr. Stephen Henson
0965991600 Add ctrl to EVP_MD and EVP_PKEY_CTX to EVP_MD_CTX. These will be used
for enhanced sign/verify operations.
2006-05-22 13:01:01 +00:00
Dr. Stephen Henson
5531192151 Add -resign and -md options to smime command to support resigning an
existing structure and using alternative digest for signing.
2006-05-18 23:44:44 +00:00
Dr. Stephen Henson
a620626a33 Code tidy. 2006-05-18 18:06:03 +00:00
Dr. Stephen Henson
f13a71c66b Typo. 2006-05-18 17:46:56 +00:00
Dr. Stephen Henson
3ef3e07a49 make update 2006-05-18 17:22:31 +00:00
Dr. Stephen Henson
76fa8f1838 More S/MIME tidy. Place some common attribute operations in utility
functions.
2006-05-18 17:20:23 +00:00
Dr. Stephen Henson
f2b139ed1f Remove old digest type hacks for non RSA keys. 2006-05-18 13:05:20 +00:00
Dr. Stephen Henson
76d6ac4b06 PKCS#12 mac key length should equal digest length. 2006-05-17 18:19:51 +00:00
Dr. Stephen Henson
60f20632e2 Tidy up of S/MIME code and add new functions which will make is easier
to create S/MIME signed data with multiple signers.
2006-05-17 17:17:01 +00:00
Dr. Stephen Henson
ae519a247f Extended PBES2 function supporting application supplied IV and PRF NID. 2006-05-17 12:47:17 +00:00
Dr. Stephen Henson
1631d5f9b9 HMAC OIDs from RFC4231. 2006-05-17 12:27:45 +00:00
Dr. Stephen Henson
6d3a1eac3b Add PRF preference ctrl to ciphers. 2006-05-15 18:35:13 +00:00
Dr. Stephen Henson
b8f702a0af Change builting PBE to use static table. Add entries for HMAC and MD5, GOST. 2006-05-15 17:34:36 +00:00
Dr. Stephen Henson
43c9825c2a Update old **EVIL** PEM_X509_INFO_read_bio() function to correctly assign
private keys.

FIXME: this function should really be rewritten because it is *horrible*.
2006-05-15 13:28:00 +00:00
Dr. Stephen Henson
3f36baa9f4 Correctly handle missing DSA parameters. 2006-05-15 01:26:52 +00:00
Dr. Stephen Henson
b0e69a0500 Add feature to PKCS12_create() if the encryption NID corresponds to a
supported encryption algorithm instead of a PBE NID then use that
algorithm with PBES2.
2006-05-15 00:45:10 +00:00
Dr. Stephen Henson
856640b54f Extend PBE code to support non default PKCS#5 v2.0 PRFs. 2006-05-14 18:40:53 +00:00
Dr. Stephen Henson
76240b3a39 Check for deprecated private key types before PKCS#8 types. 2006-05-14 18:35:42 +00:00
Richard Levitte
98bf13c36b make update 2006-05-12 15:31:28 +00:00
Richard Levitte
7e76e56387 Someone made a mistake, and some function and reason codes got
duplicate numbers.  Renumbering.
2006-05-12 15:27:52 +00:00
Dr. Stephen Henson
7f57b076a6 New functions to get key types without dereferncing EVP_PKEY.
More error checking for RSA pmeth.
2006-05-11 21:33:00 +00:00
Dr. Stephen Henson
7144c4212a Update PKCS#7 decrypt routines to use new API. 2006-05-08 16:38:19 +00:00
Dr. Stephen Henson
399a6f0bd1 Update PKCS#7 enveloped data to new API. 2006-05-08 12:44:25 +00:00
Dr. Stephen Henson
3d47929968 Update S/MIME code to use default digest. 2006-05-07 17:22:58 +00:00
Dr. Stephen Henson
03919683f9 Add support for default public key digest type ctrl. 2006-05-07 17:09:39 +00:00
Andy Polyakov
67d990904e Futher minor PPC assembler update. 2006-05-04 21:30:41 +00:00
Andy Polyakov
c09a0318b7 Minor PPC assembler updates. 2006-05-03 14:07:34 +00:00
Andy Polyakov
fe716ba686 PPC assembler distiller update. 2006-05-03 13:39:34 +00:00
Dr. Stephen Henson
e881f6175a Update from stable branch. 2006-05-03 13:19:06 +00:00
Andy Polyakov
a9c32ace06 SHA1 for PowerPC. 2006-05-01 13:35:03 +00:00
Andy Polyakov
2c5d4daac5 Yet another "teaser" Montgomery multiplication module, for PowerPC. 2006-04-30 21:15:29 +00:00
Dr. Stephen Henson
b46343583c Update EVP_PKEY_cmp() and X509_check_private() to return sensible values and
handle unsupported key types.
2006-04-28 12:27:37 +00:00
Dr. Stephen Henson
a78568b7e9 Replace RSA specific PKCS7_RECIP_INFO set up with an public key algorithm
ctrl.
2006-04-27 18:20:34 +00:00
Dr. Stephen Henson
ee5b2a1e51 Code tidy. 2006-04-27 00:42:51 +00:00
Dr. Stephen Henson
e4b21c74fc New function to extract AlgorithmIdentifier for PKCS7_RECIP_INFO. 2006-04-27 00:29:50 +00:00
Dr. Stephen Henson
4edcb93dca Don't free up parameter. The public key ASN1 method can do that if it needs
to.
2006-04-27 00:20:43 +00:00
Dr. Stephen Henson
81cebb8b79 Add prototypes and pkey accessor function for EVP_PKEY_CTX. 2006-04-26 11:52:36 +00:00
Dr. Stephen Henson
a4e75b3dfd Correct copyright notice... this doesn't contain any SSLeay code. 2006-04-24 00:07:26 +00:00
Dr. Stephen Henson
cddaba8ede Add 'flags' parameter to EVP_PKEY_asn1_meth_new() to set algorithm flags. 2006-04-21 17:38:58 +00:00
Nils Larsch
49c5f38d3d undo accidental commit 2006-04-20 13:54:34 +00:00
Nils Larsch
f8296228f1 as we encrypt every bit separately we need to loop through the number
of bits; thanks to Michael McDougall <mmcdouga@saul.cis.upenn.edu>

PR: 1318
2006-04-20 13:11:52 +00:00
Nils Larsch
930b0c4b8a make local function static 2006-04-20 09:53:49 +00:00
Dr. Stephen Henson
3d153f7985 Remove dss1 hack from S/MIME code. 2006-04-19 17:47:15 +00:00
Dr. Stephen Henson
ee1d9ec019 Remove link between digests and signature algorithms.
Use cross reference table in ASN1_item_sign(), ASN1_item_verify() to eliminate
the need for algorithm specific code.
2006-04-19 17:05:59 +00:00
Dr. Stephen Henson
614b448a67 Remove comment from SSLeay days about EVP_PKEY_METHOD. 2006-04-19 12:16:58 +00:00
Richard Levitte
a784b943c1 Synchronise with Unixly build.
(Geez, a lot is happening right now, eh? :-))
2006-04-19 06:44:07 +00:00
Dr. Stephen Henson
d202709808 Add OID cross reference table.
Fix some typos in GOST OIDs.

Update dependencies.
2006-04-18 23:36:07 +00:00
Richard Levitte
51ff0abb05 Synchronise 2006-04-17 17:19:59 +00:00
Dr. Stephen Henson
492a9e2415 Allow public key ASN1 methods to set PKCS#7 SignerInfo structures. 2006-04-17 17:12:23 +00:00
Dr. Stephen Henson
c20276e4ae Fix (most) WIN32 warnings and errors. 2006-04-17 12:08:22 +00:00
Dr. Stephen Henson
9ca7047d71 Provisional support for EC pkey method, supporting ECDH and ECDSA. 2006-04-16 16:15:59 +00:00
Andy Polyakov
ba3b2f1538 SHA-1 for x86_64. 2006-04-16 14:42:54 +00:00
Dr. Stephen Henson
b010b7c434 Use more flexible method of determining output length, by setting &outlen
value of the passed output buffer is NULL.

The old method of using EVP_PKEY_size(pkey) isn't flexible enough to cover all
cases where the output length may depend on the operation or the parameters
associated with it.
2006-04-15 18:50:56 +00:00
Dr. Stephen Henson
9dc17a2536 Fix from 0.9.7-stable branch. 2006-04-15 17:43:43 +00:00
Dr. Stephen Henson
5950bf7943 Revert to original... 2006-04-15 13:15:25 +00:00
Dr. Stephen Henson
4141c803d8 Oops... 2006-04-15 13:12:42 +00:00
Dr. Stephen Henson
09b88a4a55 Update copyright notices on a few files where all original SSLeay code has
been deleted.
2006-04-14 17:36:18 +00:00
Dr. Stephen Henson
f3481ca28f Print out zero length string properly. 2006-04-14 16:47:18 +00:00
Dr. Stephen Henson
ba30bad57b Add functions to allow setting and adding external EVP_PKEY_METHOD. 2006-04-14 12:41:35 +00:00
Dr. Stephen Henson
ffb1ac674c Complete key derivation support. 2006-04-13 20:16:56 +00:00
Dr. Stephen Henson
3be34589e8 Update dependencies. 2006-04-13 13:00:45 +00:00
Dr. Stephen Henson
d87e615209 Add key derivation support. 2006-04-13 12:56:41 +00:00
Richard Levitte
7b82159865 Synchronise what what's happening with the Unix build 2006-04-13 09:59:52 +00:00
Dr. Stephen Henson
52c11dce31 Typo. 2006-04-13 00:26:05 +00:00
Dr. Stephen Henson
3ba0885a3e Extend DH ASN1 method, add DH EVP_PKEY_METHOD. 2006-04-12 23:51:24 +00:00
Dr. Stephen Henson
023c9d8dd5 Fix leak. 2006-04-12 23:38:45 +00:00