[openssl-dev] [openssl.org #4694] bug report openssl-1.1.0b (ssl_rsa.c)
ldcsaa@163.com via RT
rt at openssl.org
Sun Oct 2 10:13:39 UTC 2016
hello, should the following problem were BUGS ?
SSL_use_PrivateKey_file
SSL_use_certificate_file
SSL_use_RSAPrivateKey_file
for example: SSL_use_PrivateKey_file
-----------------------------------------------------------------------------
int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type)
{
int j, ret = 0;
BIO *in;
EVP_PKEY *pkey = NULL;
in = BIO_new(BIO_s_file());
if (in == NULL) {
SSLerr(SSL_F_SSL_USE_PRIVATEKEY_FILE, ERR_R_BUF_LIB);
goto end;
}
if (BIO_read_filename(in, file) <= 0) {
SSLerr(SSL_F_SSL_USE_PRIVATEKEY_FILE, ERR_R_SYS_LIB);
goto end;
}
if (type == SSL_FILETYPE_PEM) {
j = ERR_R_PEM_LIB;
pkey = PEM_read_bio_PrivateKey(in, NULL,
ssl->ctx->default_passwd_callback,
ssl->
ctx->default_passwd_callback_userdata);
} else if (type == SSL_FILETYPE_ASN1) {
j = ERR_R_ASN1_LIB;
pkey = d2i_PrivateKey_bio(in, NULL);
} else {
SSLerr(SSL_F_SSL_USE_PRIVATEKEY_FILE, SSL_R_BAD_SSL_FILETYPE);
goto end;
}
if (pkey == NULL) {
SSLerr(SSL_F_SSL_USE_PRIVATEKEY_FILE, j);
goto end;
}
ret = SSL_use_PrivateKey(ssl, pkey);
EVP_PKEY_free(pkey);
end:
BIO_free(in);
return (ret);
}
-----------------------------------------------------------------------------
were the red lines wrong? perhaps use this :
pkey = PEM_read_bio_PrivateKey(in, NULL,
ssl->default_passwd_callback,
ssl->default_passwd_callback_userdata);
ldcsaa at 163.com
--
Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4694
Please log in as guest with password guest if prompted
More information about the openssl-dev
mailing list