Dr. Stephen Henson
b49df9502e
Disable Dual EC DRBG.
...
Return an error if an attempt is made to enable the Dual EC DRBG: it
is not used by default.
(cherry picked from commit a4870de5aa
)
2013-09-22 18:25:58 +01:00
Dr. Stephen Henson
7560f63909
Fix warning.
2013-09-18 15:10:22 +01:00
Dr. Stephen Henson
7c23127fde
Add functions to set ECDSA_METHOD structure.
...
Add various functions to allocate and set the fields of an ECDSA_METHOD
structure.
(cherry picked from commit 94c2f77a62
)
2013-09-18 01:23:40 +01:00
Bodo Moeller
485d7d5904
Fix overly lenient comparisons:
...
- EC_GROUP_cmp shouldn't consider curves equal just because
the curve name is the same. (They really *should* be the same
in this case, but there's an EC_GROUP_set_curve_name API,
which could be misused.)
- EC_POINT_cmp shouldn't return 0 for ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED
or EC_R_INCOMPATIBLE_OBJECTS errors because in a cmp API, 0 indicates
equality (not an error).
Reported by: king cope
(cherry picked from commit 312a46791ab465cfa3bf26764361faed0e5df014)
2013-09-16 14:50:48 +02:00
Andy Polyakov
d75e384ff8
Extend OPENSSL_ia32cap_P (backport from HEAD).
2013-09-15 22:13:54 +02:00
Andy Polyakov
c340c7a88c
crypto/armcap.c: fix typo in rdtsc subroutine.
...
PR: 3125
Submitted by: Kyle McMartin
(cherry picked from commit 8e52a9063a
)
2013-09-15 22:10:49 +02:00
Ben Laurie
0338648426
Constification.
2013-09-10 17:58:44 +01:00
Andy Polyakov
c7dc404188
crypto/modes/asm/aesni-gcm-x86_64.pl: minor optimization.
...
Avoid occasional up to 8% performance drops.
(cherry picked from commit 7a1a12232a
)
2013-09-09 21:46:02 +02:00
Andy Polyakov
08853158b6
crypto/bn/asm/x86_64-mont.pl: minor optimization.
...
(cherry picked from commit 72a158703b
)
2013-09-09 21:42:48 +02:00
Andy Polyakov
74e0187663
Revert "x86cpuid.pl: fix extended feature flags detection."
...
This reverts commit 514f1a7835
.
2013-09-09 21:35:15 +02:00
Dr. Stephen Henson
5117d50b7e
Partial path fix.
...
When verifying a partial path always check to see if the EE certificate
is explicitly trusted: the path could contain other untrusted certificates.
(cherry picked from commit 52073b7675
)
2013-09-08 21:25:10 +01:00
Dr. Stephen Henson
904348a492
Time difference functions.
...
Backport of ASN1_TIME_diff and OPENSSL_gmtime_diff functions from master
branch.
2013-08-19 21:55:07 +01:00
Dr. Stephen Henson
5b430cfc44
Make no-ec compilation work.
...
(cherry picked from commit 14536c8c9c
)
2013-08-19 14:13:38 +01:00
Dr. Stephen Henson
71c34b7f2d
Fix verify loop with CRL checking.
...
PR #3090
Reported by: Franck Youssef <fry@open.ch>
If no new reason codes are obtained after checking a CRL exit with an
error to avoid repeatedly checking the same CRL.
This will only happen if verify errors such as invalid CRL scope are
overridden in a callback.
(cherry picked from commit 4b26645c1a
)
2013-08-06 16:08:04 +01:00
Kaspar Brand
b0cfaf58ad
Fix for PEM_X509_INFO_read_bio.
...
PR: 3028
Fix bug introduced in PEM_X509_INFO_bio which wouldn't process RSA keys
correctly if they appeared first.
(cherry picked from commit 5ae8d6bcba
)
2013-08-06 16:04:52 +01:00
Andy Polyakov
9dc07f04c3
crypto/evp/e_aes.c: fix logical pre-processor bug and formatting.
...
Bug would emerge when XTS is added to bsaes-armv7.pl. Pointed out by
Ard Biesheuvel of Linaro.
(cherry picked from commit 044f63086051d7542fa9485a1432498c39c4d8fa)
2013-08-03 17:09:37 +02:00
Andy Polyakov
f15c16200b
crypto/bn/asm/rsax-x86_64.pl: make it work on Darwin.
...
(cherry picked from commit fd8ad019e1
)
2013-08-03 16:30:40 +02:00
Andy Polyakov
4e09add6f8
crypto/sha/asm/sha*-x86_64.pl: comply with Win64 ABI.
...
(cherry picked from commit 006784378d
)
2013-07-31 23:52:21 +02:00
Andy Polyakov
82ae22ef4d
bn/asm/rsaz-avx2.pl: Windows-specific fix.
...
(cherry picked from commit 5c57c69f9e
)
2013-07-12 19:01:23 +02:00
Ben Laurie
b56bae5126
s/rsaz_eligible/rsaz_avx2_eligible/.
...
(cherry picked from commit 852f837f5e
)
2013-07-12 18:53:05 +02:00
Andy Polyakov
2d3f31e0a1
sha512-586.pl: fix typo.
...
Submitted by: Gisle Vanem
(cherry picked from commit 241fba4ea9
)
2013-07-10 10:02:34 +02:00
Andy Polyakov
ae74191e38
Remove RSAX engine, superseded by RSAZ module.
...
(cherry picked from commit f5b132d652
)
Conflicts [resloved]:
Configure
2013-07-05 22:16:10 +02:00
Andy Polyakov
ab8233ab81
Take RSAZ modules into build loop, add glue and engage.
...
RT: 2582, 2850
(cherry picked from commit ca48ace5c5
)
Conflicts:
Configure
2013-07-05 21:53:05 +02:00
Andy Polyakov
d5572bdc64
Add RSAZ assembly modules.
...
RT: 2582, 2850
(cherry picked from commit 0b4bb91db6
)
2013-07-05 21:49:19 +02:00
Andy Polyakov
e3990db59c
bn/asm/x86_86-mont.pl: optimize reduction for Intel Core family.
...
(cherry picked from commit 26e43b48a3
)
2013-07-05 21:15:16 +02:00
Andy Polyakov
87d90528ac
bn/bn_exp.c: harmonize.
...
(cherry picked from commit cbce8c4644
)
2013-07-05 21:01:51 +02:00
Andy Polyakov
8508a80998
bn/bn_exp.c: Solaris-specific fix, T4 MONTMUL relies on alloca.
...
(cherry picked from commit b74ce8d948
)
2013-06-30 23:14:31 +02:00
Andy Polyakov
7850a8bc04
x86_64-xlate.pl: Windows fixes.
...
(cherry picked from commit a9d14832fd
)
2013-06-30 23:14:19 +02:00
Andy Polyakov
fccec89084
aesni-sha256-x86_64.pl: fix typo in Windows SEH.
...
(cherry picked from commit 42386fdb62
)
2013-06-30 23:14:04 +02:00
Andy Polyakov
6c7fa27404
PA-RISC assembler pack: switch to bve in 64-bit builds.
...
PR: 3074
(cherry picked from commit 02450ec69d
)
2013-06-30 23:13:23 +02:00
Andy Polyakov
e7f9c08ab8
SPARC T4 DES support: fix typo.
...
(cherry picked from commit 8ee3c7e676
)
2013-06-18 11:07:24 +02:00
Andy Polyakov
03c8441b14
Optimize SPARC T4 MONTMUL support.
...
Improve RSA sing performance by 20-30% by:
- switching from floating-point to integer conditional moves;
- daisy-chaining sqr-sqr-sqr-sqr-sqr-mul sequences;
- using MONTMUL even during powers table setup;
(cherry picked from commit 4ddacd9921
)
2013-06-18 11:07:16 +02:00
Ben Laurie
e887c4187e
Backport single makefile from master.
2013-06-13 15:09:48 +01:00
Ben Laurie
933aee6199
Wrong include path.
2013-06-13 13:26:22 +01:00
Andy Polyakov
f00962aaf3
aesni-sha1-x86_64.pl: update performance data.
...
(cherry picked from commit 3b848d3401
)
2013-06-10 22:52:06 +02:00
Andy Polyakov
3eccd2e53a
aesni-sha256-x86_64.pl: harmonize with latest sha512-x86_64.pl.
...
(cherry picked from commit 42b9a4177b
)
2013-06-10 22:51:55 +02:00
Andy Polyakov
fcd0e61c24
sha1-x86_64.pl: add AVX2+BMI code path.
...
(cherry picked from commit cd8d7335af
)
2013-06-10 22:51:47 +02:00
Andy Polyakov
e7a02b24c1
sha512-x86_64.pl: upcoming-Atom-specific optimization.
...
(cherry picked from commit c7f690c243
)
2013-06-10 22:51:31 +02:00
Andy Polyakov
cbe6bb54e6
sha[256|512]-586.pl: add more SIMD code paths.
...
(cherry picked from commit 32213d8d77
)
2013-06-10 22:50:32 +02:00
Andy Polyakov
23966faca4
ghash-x86_64.pl: add Haswell performance data.
...
(cherry picked from commit b42759158d
)
2013-06-10 22:50:23 +02:00
Andy Polyakov
514f1a7835
x86cpuid.pl: fix extended feature flags detection.
...
(cherry picked from commit 1bc0b68d7b
)
2013-06-10 22:49:35 +02:00
Dr. Stephen Henson
af908bc48b
Don't use RC2 with PKCS#12 files in FIPS mode.
...
(cherry picked from commit cdb6c48445
)
2013-06-05 15:06:02 +01:00
Dr. Stephen Henson
233ebcb543
Fix PSS signature printing.
...
Fix PSS signature printing: consistently use 0x prefix for hex values for
padding length and trailer fields.
(cherry picked from commit deb24ad53147f5a8dd63416224a5edd7bbc0e74a)
2013-06-05 15:06:02 +01:00
Dr. Stephen Henson
da0c007254
Reencode with X509_CRL_ctx_sign too.
...
(cherry picked from commit 96940f4f2d0300c033379a87db0ff19e598c6264)
2013-06-05 15:06:02 +01:00
Ben Laurie
e3120586fb
Missing prototypes.
2013-06-04 15:14:18 +01:00
Ben Laurie
3941aa12f1
Remove added ;.
2013-06-04 15:05:18 +01:00
Andy Polyakov
0c10cf0ad6
crypto/modes: even more strict aliasing fixes [and fix bug in cbc128.c from
...
previous cbc128.c commit].
2013-06-04 14:31:23 +01:00
Andy Polyakov
62874a5a69
cbc128.c: fix strict aliasing warning.
2013-06-04 14:30:49 +01:00
Andy Polyakov
8c1f9c56fd
crypto/bn/bn_exp.c: SPARC portability fix.
...
(cherry picked from commit b69437e1e5
)
2013-06-01 09:59:54 +02:00
Andy Polyakov
75063c1527
aesni-sha1-x86_64.pl: Atom-specific optimization.
...
(cherry picked from commit 4df2280b4f
)
2013-05-25 19:09:47 +02:00
Andy Polyakov
5de583aa91
sha512-x86_64.pl: +16% optimization for Atom.
...
(and pending AVX2 changes).
(cherry picked from commit 504bbcf3cd
)
2013-05-25 19:04:48 +02:00
Andy Polyakov
a0675d8149
vpaes-x86[_64].pl: minor Atom-specific optimization.
...
(cherry picked from commit 988d11b641
)
2013-05-25 18:58:54 +02:00
Andy Polyakov
a7e9ed95ec
evp/e_aes.c: engage SPARC T4 AES support [from master].
2013-05-20 16:36:53 +02:00
Andy Polyakov
615d0edf1f
evp/e_aes.c: engage AES-NI GCM stitch.
2013-05-20 16:30:21 +02:00
Andy Polyakov
e775755dec
evp/evp_err.c: update from master.
2013-05-20 16:16:34 +02:00
Andy Polyakov
a1bf7de5a7
evp/e_camellia.c: engage SPARC T5 Camellia support [from master].
2013-05-20 16:09:13 +02:00
Andy Polyakov
047c02e8db
evp/e_des[3].c: engage SPARC T4 DES support.
2013-05-20 16:08:39 +02:00
Andy Polyakov
c92989d2b7
Add BN support for SPARC VIS3 and T4 [from master].
2013-05-20 15:48:13 +02:00
Andy Polyakov
039e7875ff
md5_locl.h: enable assembly support on SPARC [from master].
2013-05-20 00:33:09 +02:00
Andy Polyakov
48b7b96bd0
sparcv9cap.c: update from master.
2013-05-20 00:16:18 +02:00
Andy Polyakov
747b7a636a
Add MD5 SPARC T4 code from master.
2013-05-20 00:08:15 +02:00
Andy Polyakov
635f56fabd
Add SHA SPARC T4 code from master.
2013-05-20 00:04:38 +02:00
Andy Polyakov
c617bc0054
Add Camellia SPARC T4 module from master.
2013-05-19 23:58:54 +02:00
Andy Polyakov
d215724753
Add AES SPARC T4 module from master.
2013-05-19 23:54:34 +02:00
Andy Polyakov
9c1ee1bed5
Add DES SPARC T4 module from master.
2013-05-19 23:51:22 +02:00
Andy Polyakov
14ef63c15e
Add perlasm/sparcv9_modes.pl from master.
2013-05-19 23:47:38 +02:00
Andy Polyakov
5a456140c1
des_enc.m4: update from master.
2013-05-19 23:43:12 +02:00
Andy Polyakov
1ff546737b
evp/Makefile: fix typo.
2013-05-19 23:11:03 +02:00
Andy Polyakov
56f0b25754
Add EVP glue to AES-NI SHA256 stich [from master].
2013-05-19 22:35:37 +02:00
Andy Polyakov
b0f78dc018
Add AES-NI SHA256 stitch and take it into build loop [from master].
2013-05-19 22:23:18 +02:00
Andy Polyakov
1f2d194acf
aesni-sha1-x86_64.pl: update from master.
2013-05-19 22:18:52 +02:00
Andy Polyakov
aacfb2a2c6
Add AES-NI GCM stich and take it into build loop [from master].
2013-05-19 22:06:18 +02:00
Andy Polyakov
0ba304dd31
gcm128.c: update from master (add AVX and VIS3 support).
2013-05-19 21:55:30 +02:00
Andy Polyakov
8eb2da5fbb
ghash-sparcv9.pl: update from master.
2013-05-19 21:53:14 +02:00
Andy Polyakov
d1896e8ccd
ghash-x86_64.pl: update from master.
2013-05-19 21:51:19 +02:00
Andy Polyakov
0edcb7a556
ghash-x86.pl: update from master.
2013-05-19 21:46:03 +02:00
Andy Polyakov
ecc2c5d81a
sha512-x86_64.pl: update from master.
2013-05-19 21:36:54 +02:00
Andy Polyakov
441dec8e9f
sha512-586.pl: update from master.
2013-05-19 21:36:38 +02:00
Andy Polyakov
4f566c360b
sha256-598.pl: update from master.
2013-05-19 21:35:55 +02:00
Andy Polyakov
e10cd58090
sha1-x86_64.pl: update from master.
2013-05-19 21:33:04 +02:00
Andy Polyakov
5c8ae6d93e
sha1-586.pl: update from master.
2013-05-19 21:32:29 +02:00
Andy Polyakov
e72f7677bf
crypto/perlasm: update from master.
2013-05-19 21:27:59 +02:00
Dr. Stephen Henson
8659dc73f4
Reencode certificates in X509_sign_ctx.
...
Reencode certificates in X509_sign_ctx as well as X509_sign.
This was causing a problem in the x509 application when it modified an
existing certificate.
(cherry picked from commit c6d8adb8a4
)
2013-05-02 12:24:33 +01:00
Andy Polyakov
07464787a8
crypto/modes/modes_lcl.h: let STRICT_ALIGNMENT be on ARMv7.
...
While ARMv7 in general is capable of unaligned access, not all instructions
actually are. And trouble is that compiler doesn't seem to differentiate
those capable and incapable of unaligned access. Side effect is that kernel
goes into endless loop retrying same instruction triggering unaligned trap.
Problem was observed in xts128.c and ccm128.c modules. It's possible to
resolve it by using (volatile u32*) casts, but letting STRICT_ALIGNMENT
be feels more appropriate.
(cherry picked from commit 3bdd80521a
)
2013-04-13 21:19:16 +02:00
Dr. Stephen Henson
a8cc9f1873
Typo.
...
(cherry picked from commit 0ded2a0689
)
2013-03-31 17:43:42 +01:00
Matt Caswell
4e5b9645e8
Make binary curve ASN.1 work in FIPS mode.
...
Don't check for binary curves by checking methods: the values will
be different in FIPS mode as they are redirected to the validated module
version.
(cherry picked from commit 94782e0e9c
)
2013-03-26 16:58:29 +00:00
Dr. Stephen Henson
04347839ea
enhance EC method to support setting curve type when generating keys and add parameter encoding option
...
(cherry picked from commit 24edfa9df9
)
2013-03-20 15:54:05 +00:00
Andy Polyakov
2a1ab7b438
x86cpuid.pl: make it work with older CPUs.
...
PR: 3005
(cherry picked from commit 5702e965d7
)
2013-03-18 19:50:09 +01:00
Andy Polyakov
dd1e4fbcc0
e_aes_cbc_hmac_sha1.c: fix rare bad record mac on AES-NI plaforms.
...
PR: 3002
(cherry picked from commit 5c60046553
)
2013-03-18 19:35:20 +01:00
Dr. Stephen Henson
d7e429b91d
Encode INTEGER correctly.
...
If an ASN1_INTEGER structure is allocated but not explicitly set encode
it as zero: don't generate an invalid zero length INTEGER.
(cherry picked from commit 1643edc63c
)
2013-03-18 14:22:01 +00:00
Andy Polyakov
2d9be79407
x86_64-gf2m.pl: fix typo.
...
(cherry picked from commit 342dbbbe4e
)
2013-03-01 22:37:53 +01:00
Andy Polyakov
2e4b7eede3
x86_64-gf2m.pl: add missing Windows build fix for #2963 .
...
PR: 3004
(cherry picked from commit 7c43601d44
)
2013-03-01 21:57:25 +01:00
Dr. Stephen Henson
e1dee801b9
Add function CMS_RecipientInfo_encrypt
...
Add CMS_RecipientInfo_encrypt: this function encrypts an existing content
encryption key to match the key in the RecipientInfo structure: this is
useful if a new recpient is added to and existing enveloped data structure.
Add documentation.
(cherry picked from commit e1f1d28f34
)
2013-02-26 17:06:08 +00:00
Andy Polyakov
b9eef98883
bn_nist.c: work around clang 3.0 bug.
...
(cherry picked from commit 750398acd8
)
2013-02-16 11:37:38 +01:00
Andy Polyakov
a3e66779d3
sparccpuid.S: work around emulator bug on T1.
...
(cherry picked from commit 3caeef94bd
)
2013-02-11 10:41:22 +01:00
Andy Polyakov
82425f2c28
e_aes_cbc_hmac_sha1.c: align calculated MAC at cache line.
...
It also ensures that valgring is happy.
(cherry picked from commit 2141e6f30b
)
2013-02-08 10:35:02 +01:00
Andy Polyakov
af010edd55
e_aes_cbc_hmac_sha1.c: cleanse temporary copy of HMAC secret.
...
(cherry picked from commit 529d27ea47
)
2013-02-06 13:56:15 +00:00
Andy Polyakov
5966f4d973
e_aes_cbc_hmac_sha1.c: address the CBC decrypt timing issues.
...
Address CBC decrypt timing issues and reenable the AESNI+SHA1 stitch.
(cherry picked from commit 125093b59f
)
2013-02-06 13:56:15 +00:00
Ben Laurie
fb0a59cc58
Make CBC decoding constant time.
...
This patch makes the decoding of SSLv3 and TLS CBC records constant
time. Without this, a timing side-channel can be used to build a padding
oracle and mount Vaudenay's attack.
This patch also disables the stitched AESNI+SHA mode pending a similar
fix to that code.
In order to be easy to backport, this change is implemented in ssl/,
rather than as a generic AEAD mode. In the future this should be changed
around so that HMAC isn't in ssl/, but crypto/ as FIPS expects.
(cherry picked from commit e130841bcc
)
2013-02-06 13:56:12 +00:00
Ben Laurie
f5cd3561ba
Add and use a constant-time memcmp.
...
This change adds CRYPTO_memcmp, which compares two vectors of bytes in
an amount of time that's independent of their contents. It also changes
several MAC compares in the code to use this over the standard memcmp,
which may leak information about the size of a matching prefix.
(cherry picked from commit 2ee798880a
)
2013-02-06 13:56:12 +00:00