forked from wolfSSL/wolfssl
Compat updates
- implement `wolfSSL_PEM_X509_INFO_read` - `wolfSSL_EVP_CipherUpdate` no-ops on `NULL` input - add md4 support to `wolfSSL_EVP_MD_block_size` and `wolfSSL_EVP_MD_size`
This commit is contained in:
15
src/ssl.c
15
src/ssl.c
@@ -44301,6 +44301,21 @@ err:
|
|||||||
#endif /* WOLFSSL_PEM_TO_DER || WOLFSSL_DER_TO_PEM */
|
#endif /* WOLFSSL_PEM_TO_DER || WOLFSSL_DER_TO_PEM */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_INFO)* wolfSSL_PEM_X509_INFO_read(
|
||||||
|
XFILE fp, WOLF_STACK_OF(WOLFSSL_X509_INFO)* sk,
|
||||||
|
pem_password_cb* cb, void* u)
|
||||||
|
{
|
||||||
|
WOLFSSL_BIO* file_bio = wolfSSL_BIO_new_fp(fp, BIO_NOCLOSE);
|
||||||
|
WOLF_STACK_OF(WOLFSSL_X509_INFO)* ret = NULL;
|
||||||
|
|
||||||
|
WOLFSSL_ENTER("wolfSSL_PEM_X509_INFO_read");
|
||||||
|
if (file_bio != NULL) {
|
||||||
|
ret = wolfSSL_PEM_X509_INFO_read_bio(file_bio, sk, cb, u);
|
||||||
|
wolfSSL_BIO_free(file_bio);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* bio WOLFSSL_BIO to read certificates from
|
* bio WOLFSSL_BIO to read certificates from
|
||||||
* sk possible stack to push more X509_INFO structs to. Can be NULL
|
* sk possible stack to push more X509_INFO structs to. Can be NULL
|
||||||
|
@@ -658,6 +658,11 @@ int wolfSSL_EVP_CipherUpdate(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
|||||||
int fill;
|
int fill;
|
||||||
|
|
||||||
WOLFSSL_ENTER("wolfSSL_EVP_CipherUpdate");
|
WOLFSSL_ENTER("wolfSSL_EVP_CipherUpdate");
|
||||||
|
if (inl == 0 && in == NULL ) {
|
||||||
|
/* Nothing to do in this case. Just return. */
|
||||||
|
return WOLFSSL_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
if ((ctx == NULL) || (inl < 0) || (outl == NULL)|| (in == NULL)) {
|
if ((ctx == NULL) || (inl < 0) || (outl == NULL)|| (in == NULL)) {
|
||||||
WOLFSSL_MSG("Bad argument");
|
WOLFSSL_MSG("Bad argument");
|
||||||
return WOLFSSL_FAILURE;
|
return WOLFSSL_FAILURE;
|
||||||
@@ -7245,6 +7250,11 @@ int wolfSSL_EVP_MD_block_size(const WOLFSSL_EVP_MD* type)
|
|||||||
if (XSTRNCMP(type, "SHA256", 6) == 0) {
|
if (XSTRNCMP(type, "SHA256", 6) == 0) {
|
||||||
return WC_SHA256_BLOCK_SIZE;
|
return WC_SHA256_BLOCK_SIZE;
|
||||||
}
|
}
|
||||||
|
#ifndef NO_MD4
|
||||||
|
else if (XSTRNCMP(type, "MD4", 3) == 0) {
|
||||||
|
return MD4_BLOCK_SIZE;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#ifndef NO_MD5
|
#ifndef NO_MD5
|
||||||
else if (XSTRNCMP(type, "MD5", 3) == 0) {
|
else if (XSTRNCMP(type, "MD5", 3) == 0) {
|
||||||
return WC_MD5_BLOCK_SIZE;
|
return WC_MD5_BLOCK_SIZE;
|
||||||
@@ -7309,6 +7319,11 @@ int wolfSSL_EVP_MD_size(const WOLFSSL_EVP_MD* type)
|
|||||||
if (XSTRNCMP(type, "SHA256", 6) == 0) {
|
if (XSTRNCMP(type, "SHA256", 6) == 0) {
|
||||||
return WC_SHA256_DIGEST_SIZE;
|
return WC_SHA256_DIGEST_SIZE;
|
||||||
}
|
}
|
||||||
|
#ifndef NO_MD4
|
||||||
|
else if (XSTRNCMP(type, "MD4", 3) == 0) {
|
||||||
|
return MD4_DIGEST_SIZE;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#ifndef NO_MD5
|
#ifndef NO_MD5
|
||||||
else if (XSTRNCMP(type, "MD5", 3) == 0) {
|
else if (XSTRNCMP(type, "MD5", 3) == 0) {
|
||||||
return WC_MD5_DIGEST_SIZE;
|
return WC_MD5_DIGEST_SIZE;
|
||||||
|
@@ -30,6 +30,7 @@
|
|||||||
#define ASN1_STRING_type_new wolfSSL_ASN1_STRING_type_new
|
#define ASN1_STRING_type_new wolfSSL_ASN1_STRING_type_new
|
||||||
#define ASN1_STRING_type wolfSSL_ASN1_STRING_type
|
#define ASN1_STRING_type wolfSSL_ASN1_STRING_type
|
||||||
#define ASN1_STRING_set wolfSSL_ASN1_STRING_set
|
#define ASN1_STRING_set wolfSSL_ASN1_STRING_set
|
||||||
|
#define ASN1_OCTET_STRING_set wolfSSL_ASN1_STRING_set
|
||||||
#define ASN1_STRING_free wolfSSL_ASN1_STRING_free
|
#define ASN1_STRING_free wolfSSL_ASN1_STRING_free
|
||||||
|
|
||||||
#define ASN1_get_object wolfSSL_ASN1_get_object
|
#define ASN1_get_object wolfSSL_ASN1_get_object
|
||||||
|
@@ -420,6 +420,7 @@ typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS;
|
|||||||
#define PEM_write_bio_X509 wolfSSL_PEM_write_bio_X509
|
#define PEM_write_bio_X509 wolfSSL_PEM_write_bio_X509
|
||||||
#define PEM_write_bio_X509_AUX wolfSSL_PEM_write_bio_X509_AUX
|
#define PEM_write_bio_X509_AUX wolfSSL_PEM_write_bio_X509_AUX
|
||||||
#define PEM_X509_INFO_read_bio wolfSSL_PEM_X509_INFO_read_bio
|
#define PEM_X509_INFO_read_bio wolfSSL_PEM_X509_INFO_read_bio
|
||||||
|
#define PEM_X509_INFO_read wolfSSL_PEM_X509_INFO_read
|
||||||
#define i2d_PrivateKey wolfSSL_i2d_PrivateKey
|
#define i2d_PrivateKey wolfSSL_i2d_PrivateKey
|
||||||
#define i2d_PublicKey wolfSSL_i2d_PublicKey
|
#define i2d_PublicKey wolfSSL_i2d_PublicKey
|
||||||
|
|
||||||
@@ -821,8 +822,10 @@ wolfSSL_X509_STORE_set_verify_cb((WOLFSSL_X509_STORE *)(s), (WOLFSSL_X509_STORE_
|
|||||||
#define i2d_ASN1_OBJECT wolfSSL_i2d_ASN1_OBJECT
|
#define i2d_ASN1_OBJECT wolfSSL_i2d_ASN1_OBJECT
|
||||||
|
|
||||||
#define ASN1_STRING_new wolfSSL_ASN1_STRING_new
|
#define ASN1_STRING_new wolfSSL_ASN1_STRING_new
|
||||||
|
#define ASN1_OCTET_STRING_new wolfSSL_ASN1_STRING_new
|
||||||
#define ASN1_STRING_free wolfSSL_ASN1_STRING_free
|
#define ASN1_STRING_free wolfSSL_ASN1_STRING_free
|
||||||
#define ASN1_STRING_cmp wolfSSL_ASN1_STRING_cmp
|
#define ASN1_STRING_cmp wolfSSL_ASN1_STRING_cmp
|
||||||
|
#define ASN1_OCTET_STRING_cmp wolfSSL_ASN1_STRING_cmp
|
||||||
#define ASN1_STRING_data wolfSSL_ASN1_STRING_data
|
#define ASN1_STRING_data wolfSSL_ASN1_STRING_data
|
||||||
#define ASN1_STRING_get0_data wolfSSL_ASN1_STRING_get0_data
|
#define ASN1_STRING_get0_data wolfSSL_ASN1_STRING_get0_data
|
||||||
#define ASN1_STRING_length wolfSSL_ASN1_STRING_length
|
#define ASN1_STRING_length wolfSSL_ASN1_STRING_length
|
||||||
|
@@ -4047,6 +4047,9 @@ WOLFSSL_API WOLFSSL_X509_CRL *wolfSSL_PEM_read_bio_X509_CRL(WOLFSSL_BIO *bp,
|
|||||||
WOLFSSL_X509_CRL **x, wc_pem_password_cb *cb, void *u);
|
WOLFSSL_X509_CRL **x, wc_pem_password_cb *cb, void *u);
|
||||||
WOLFSSL_API WOLFSSL_X509 *wolfSSL_PEM_read_bio_X509_AUX
|
WOLFSSL_API WOLFSSL_X509 *wolfSSL_PEM_read_bio_X509_AUX
|
||||||
(WOLFSSL_BIO *bp, WOLFSSL_X509 **x, wc_pem_password_cb *cb, void *u);
|
(WOLFSSL_BIO *bp, WOLFSSL_X509 **x, wc_pem_password_cb *cb, void *u);
|
||||||
|
WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_INFO)* wolfSSL_PEM_X509_INFO_read(
|
||||||
|
XFILE fp, WOLF_STACK_OF(WOLFSSL_X509_INFO)* sk,
|
||||||
|
pem_password_cb* cb, void* u);
|
||||||
WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_INFO)* wolfSSL_PEM_X509_INFO_read_bio(
|
WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_INFO)* wolfSSL_PEM_X509_INFO_read_bio(
|
||||||
WOLFSSL_BIO* bio, WOLF_STACK_OF(WOLFSSL_X509_INFO)* sk,
|
WOLFSSL_BIO* bio, WOLF_STACK_OF(WOLFSSL_X509_INFO)* sk,
|
||||||
wc_pem_password_cb* cb, void* u);
|
wc_pem_password_cb* cb, void* u);
|
||||||
|
Reference in New Issue
Block a user