mirror of
https://github.com/openssl/openssl.git
synced 2025-02-17 14:32:04 +08:00
In cases where we ask PEM_def_callback for minimum 0 length, accept 0 length
Fixes #4716 Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6173)
This commit is contained in:
parent
34e4a964af
commit
c82c346226
4
CHANGES
4
CHANGES
@ -9,6 +9,10 @@
|
||||
|
||||
Changes between 1.1.0h and 1.1.1 [xx XXX xxxx]
|
||||
|
||||
*) When unlocking a pass phrase protected PEM file or PKCS#8 container, we
|
||||
now allow empty (zero character) pass phrases.
|
||||
[Richard Levitte]
|
||||
|
||||
*) Apply blinding to binary field modular inversion and remove patent
|
||||
pending (OPENSSL_SUN_GF2M_DIV) BN_GF2m_mod_div implementation.
|
||||
[Billy Bob Brumley]
|
||||
|
@ -430,7 +430,7 @@ int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *plen,
|
||||
keylen = PEM_def_callback(buf, PEM_BUFSIZE, 0, u);
|
||||
else
|
||||
keylen = callback(buf, PEM_BUFSIZE, 0, u);
|
||||
if (keylen <= 0) {
|
||||
if (keylen < 0) {
|
||||
PEMerr(PEM_F_PEM_DO_HEADER, PEM_R_BAD_PASSWORD_READ);
|
||||
return 0;
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb,
|
||||
klen = cb(psbuf, PEM_BUFSIZE, 0, u);
|
||||
else
|
||||
klen = PEM_def_callback(psbuf, PEM_BUFSIZE, 0, u);
|
||||
if (klen <= 0) {
|
||||
if (klen < 0) {
|
||||
PEMerr(PEM_F_D2I_PKCS8PRIVATEKEY_BIO, PEM_R_BAD_PASSWORD_READ);
|
||||
X509_SIG_free(p8);
|
||||
return NULL;
|
||||
|
@ -60,7 +60,7 @@ EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb,
|
||||
klen = cb(psbuf, PEM_BUFSIZE, 0, u);
|
||||
else
|
||||
klen = PEM_def_callback(psbuf, PEM_BUFSIZE, 0, u);
|
||||
if (klen <= 0) {
|
||||
if (klen < 0) {
|
||||
PEMerr(PEM_F_PEM_READ_BIO_PRIVATEKEY, PEM_R_BAD_PASSWORD_READ);
|
||||
X509_SIG_free(p8);
|
||||
goto err;
|
||||
|
@ -686,7 +686,7 @@ static EVP_PKEY *do_PVK_body(const unsigned char **in,
|
||||
inlen = cb(psbuf, PEM_BUFSIZE, 0, u);
|
||||
else
|
||||
inlen = PEM_def_callback(psbuf, PEM_BUFSIZE, 0, u);
|
||||
if (inlen <= 0) {
|
||||
if (inlen < 0) {
|
||||
PEMerr(PEM_F_DO_PVK_BODY, PEM_R_BAD_PASSWORD_READ);
|
||||
goto err;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user