openssl/crypto
Matt Caswell bcc6371443 Fix a text canonicalisation bug in CMS
Where a CMS detached signature is used with text content the text goes
through a canonicalisation process first prior to signing or verifying a
signature. This process strips trailing space at the end of lines, converts
line terminators to CRLF and removes additional trailing line terminators
at the end of a file. A bug in the canonicalisation process meant that
some characters, such as form-feed, were incorrectly treated as whitespace
and removed. This is contrary to the specification (RFC5485). This fix
could mean that detached text data signed with an earlier version of
OpenSSL 1.1.0 may fail to verify using the fixed version, or text data
signed with a fixed OpenSSL may fail to verify with an earlier version of
OpenSSL 1.1.0. A workaround is to only verify the canonicalised text data
and use the "-binary" flag (for the "cms" command line application) or set
the SMIME_BINARY/PKCS7_BINARY/CMS_BINARY flags (if using CMS_verify()).

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5790)
2018-04-03 15:52:31 +01:00
..
aes Update copyright year 2018-03-20 13:08:46 +00:00
aria
asn1 Fix a text canonicalisation bug in CMS 2018-04-03 15:52:31 +01:00
async
bf Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
bio Update copyright year 2018-04-03 13:57:12 +01:00
blake2
bn Update copyright year 2018-04-03 13:57:12 +01:00
buffer Update copyright year 2018-04-03 13:57:12 +01:00
camellia Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
cast Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
chacha Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
cmac
cms
comp Update copyright year 2018-04-03 13:57:12 +01:00
conf Remove some code 2018-03-28 16:11:30 +01:00
ct
des Update copyright year 2018-04-03 13:57:12 +01:00
dh Update copyright year 2018-04-03 13:57:12 +01:00
dsa Update copyright year 2018-04-03 13:57:12 +01:00
dso Add dladdr() for AIX 2018-03-20 21:33:50 -04:00
ec Update copyright year 2018-04-03 13:57:12 +01:00
engine Update copyright year 2018-03-20 13:08:46 +00:00
err EVP,KDF: Add more error code along some return 0 in ... 2018-03-29 22:46:10 +02:00
evp Update copyright year 2018-04-03 13:57:12 +01:00
hmac Update copyright year 2018-03-20 13:08:46 +00:00
idea
include/internal Update copyright year 2018-04-03 13:57:12 +01:00
kdf Update copyright year 2018-04-03 13:57:12 +01:00
lhash Remove unused num.pl,segregnam scripts 2018-02-22 15:36:27 -05:00
md2
md4
md5 Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
mdc2
modes Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
objects Update copyright year 2018-03-20 13:08:46 +00:00
ocsp Update copyright year 2018-02-13 13:59:25 +00:00
pem Remove some code 2018-03-30 12:53:46 -04:00
perlasm
pkcs7 Update copyright year 2018-03-20 13:08:46 +00:00
pkcs12
poly1305 Update copyright year 2018-03-20 13:08:46 +00:00
rand Update copyright year 2018-04-03 13:57:12 +01:00
rc2
rc4 Update copyright year 2018-03-20 13:08:46 +00:00
rc5 Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
ripemd Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
rsa Update copyright year 2018-04-03 13:57:12 +01:00
seed
sha Update copyright year 2018-03-20 13:08:46 +00:00
siphash Update copyright year 2018-03-20 13:08:46 +00:00
sm2 Update copyright year 2018-03-20 13:08:46 +00:00
sm3
sm4
srp Use the private RNG for data that is not public 2018-04-02 22:22:43 +02:00
stack
store store/loader_file.c: rename variables causing conflicts with Android NDK. 2018-03-13 19:31:44 +01:00
ts o_time.c: use gmtime_s with MSVC 2018-03-27 20:12:34 +02:00
txt_db Update copyright year 2018-04-03 13:57:12 +01:00
ui
whrlpool Harmonize the make variables across all known platforms families 2018-02-14 17:13:53 +01:00
x509 Update copyright year 2018-04-03 13:57:12 +01:00
x509v3 Update copyright year 2018-02-27 13:59:42 +00:00
alphacpuid.pl
arm64cpuid.pl Update copyright year 2018-02-13 13:59:25 +00:00
arm_arch.h Update copyright year 2018-02-13 13:59:25 +00:00
armcap.c crypto/armcap.c: mask SHA512 hardware detection on iOS. 2018-03-06 23:18:24 +01:00
armv4cpuid.pl
build.info Remove import/use of File::Spec::Function 2018-04-01 22:41:04 +02:00
c64xpluscpuid.pl
cpt_err.c
cryptlib.c
ctype.c
cversion.c
dllmain.c
ebcdic.c
ex_data.c Update copyright year 2018-02-13 13:59:25 +00:00
ia64cpuid.S
init.c Include "internal/dso_conf.h" where needed and appropriate 2018-03-23 01:05:23 +01:00
LPdir_nyi.c
LPdir_unix.c Adjust LPdir_unix.c on VMS for OpenSSL expectations 2018-03-12 23:01:02 +01:00
LPdir_vms.c
LPdir_win.c
LPdir_win32.c
LPdir_wince.c
mem.c Avoid unconditional store in CRYPTO_malloc. 2018-03-06 13:21:49 -05:00
mem_clr.c
mem_dbg.c Update copyright year 2018-02-13 13:59:25 +00:00
mem_sec.c mem_sec.c: portability fixup. 2018-03-12 11:03:17 +01:00
mips_arch.h
o_dir.c
o_fips.c
o_fopen.c Update copyright year 2018-04-03 13:57:12 +01:00
o_init.c
o_str.c
o_time.c Update copyright year 2018-04-03 13:57:12 +01:00
pariscid.pl Update copyright year 2018-04-03 13:57:12 +01:00
ppc_arch.h
ppccap.c
ppccpuid.pl
s390x_arch.h s390x assembly pack: add KMF code path for aes-cfb/cfb8 2018-03-28 23:31:01 +02:00
s390xcap.c
s390xcpuid.pl s390x assembly pack: add KMF code path for aes-cfb/cfb8 2018-03-28 23:31:01 +02:00
sparc_arch.h
sparccpuid.S
sparcv9cap.c
threads_none.c
threads_pthread.c
threads_win.c
uid.c
vms_rms.h
x86_64cpuid.pl Fix issues in ia32 RDRAND asm leading to reduced entropy 2018-03-08 10:27:49 -05:00
x86cpuid.pl Fix issues in ia32 RDRAND asm leading to reduced entropy 2018-03-08 10:27:49 -05:00