mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 10:47:28 +02:00
Code review changes
This commit is contained in:
31
src/ssl.c
31
src/ssl.c
@ -21127,7 +21127,7 @@ void wolfSSL_sk_X509_CRL_free(WOLF_STACK_OF(WOLFSSL_X509_CRL)* sk)
|
|||||||
/* return 1 on success 0 on fail */
|
/* return 1 on success 0 on fail */
|
||||||
int wolfSSL_sk_X509_CRL_push(WOLF_STACK_OF(WOLFSSL_X509_CRL)* sk, WOLFSSL_X509_CRL* crl)
|
int wolfSSL_sk_X509_CRL_push(WOLF_STACK_OF(WOLFSSL_X509_CRL)* sk, WOLFSSL_X509_CRL* crl)
|
||||||
{
|
{
|
||||||
WOLFSSL_ENTER("wolfSSL_sk_X509_push");
|
WOLFSSL_ENTER("wolfSSL_sk_X509_CRL_push");
|
||||||
|
|
||||||
if (sk == NULL || crl == NULL) {
|
if (sk == NULL || crl == NULL) {
|
||||||
return WOLFSSL_FAILURE;
|
return WOLFSSL_FAILURE;
|
||||||
@ -30580,7 +30580,7 @@ size_t wolfSSL_CRYPTO_cts128_encrypt(const unsigned char *in,
|
|||||||
unsigned char *out, size_t len, const void *key,
|
unsigned char *out, size_t len, const void *key,
|
||||||
unsigned char *iv, WOLFSSL_CBC128_CB cbc)
|
unsigned char *iv, WOLFSSL_CBC128_CB cbc)
|
||||||
{
|
{
|
||||||
byte lastBlk[WOLFSSL_CTS128_BLOCK_SZ] = {0};
|
byte lastBlk[WOLFSSL_CTS128_BLOCK_SZ];
|
||||||
int lastBlkLen = len % WOLFSSL_CTS128_BLOCK_SZ;
|
int lastBlkLen = len % WOLFSSL_CTS128_BLOCK_SZ;
|
||||||
WOLFSSL_ENTER("wolfSSL_CRYPTO_cts128_encrypt");
|
WOLFSSL_ENTER("wolfSSL_CRYPTO_cts128_encrypt");
|
||||||
|
|
||||||
@ -30602,6 +30602,7 @@ size_t wolfSSL_CRYPTO_cts128_encrypt(const unsigned char *in,
|
|||||||
|
|
||||||
/* RFC2040: Pad Pn with zeros at the end to create P of length BB. */
|
/* RFC2040: Pad Pn with zeros at the end to create P of length BB. */
|
||||||
XMEMCPY(lastBlk, in, lastBlkLen);
|
XMEMCPY(lastBlk, in, lastBlkLen);
|
||||||
|
XMEMSET(lastBlk + lastBlkLen, 0, WOLFSSL_CTS128_BLOCK_SZ - lastBlkLen);
|
||||||
/* RFC2040: Select the first Ln bytes of En-1 to create Cn */
|
/* RFC2040: Select the first Ln bytes of En-1 to create Cn */
|
||||||
XMEMCPY(out, out - WOLFSSL_CTS128_BLOCK_SZ, lastBlkLen);
|
XMEMCPY(out, out - WOLFSSL_CTS128_BLOCK_SZ, lastBlkLen);
|
||||||
(*cbc)(lastBlk, out - WOLFSSL_CTS128_BLOCK_SZ, WOLFSSL_CTS128_BLOCK_SZ,
|
(*cbc)(lastBlk, out - WOLFSSL_CTS128_BLOCK_SZ, WOLFSSL_CTS128_BLOCK_SZ,
|
||||||
@ -30614,8 +30615,8 @@ size_t wolfSSL_CRYPTO_cts128_decrypt(const unsigned char *in,
|
|||||||
unsigned char *out, size_t len, const void *key,
|
unsigned char *out, size_t len, const void *key,
|
||||||
unsigned char *iv, WOLFSSL_CBC128_CB cbc)
|
unsigned char *iv, WOLFSSL_CBC128_CB cbc)
|
||||||
{
|
{
|
||||||
byte lastBlk[WOLFSSL_CTS128_BLOCK_SZ] = {0};
|
byte lastBlk[WOLFSSL_CTS128_BLOCK_SZ];
|
||||||
byte prevBlk[WOLFSSL_CTS128_BLOCK_SZ] = {0};
|
byte prevBlk[WOLFSSL_CTS128_BLOCK_SZ];
|
||||||
int lastBlkLen = len % WOLFSSL_CTS128_BLOCK_SZ;
|
int lastBlkLen = len % WOLFSSL_CTS128_BLOCK_SZ;
|
||||||
WOLFSSL_ENTER("wolfSSL_CRYPTO_cts128_decrypt");
|
WOLFSSL_ENTER("wolfSSL_CRYPTO_cts128_decrypt");
|
||||||
|
|
||||||
@ -30638,6 +30639,7 @@ size_t wolfSSL_CRYPTO_cts128_decrypt(const unsigned char *in,
|
|||||||
/* RFC2040: Decrypt Cn-1 to create Dn.
|
/* RFC2040: Decrypt Cn-1 to create Dn.
|
||||||
* Use 0 buffer as IV to do straight decryption.
|
* Use 0 buffer as IV to do straight decryption.
|
||||||
* This places the Cn-1 block at lastBlk */
|
* This places the Cn-1 block at lastBlk */
|
||||||
|
XMEMSET(lastBlk, 0, WOLFSSL_CTS128_BLOCK_SZ);
|
||||||
(*cbc)(in, prevBlk, WOLFSSL_CTS128_BLOCK_SZ, key, lastBlk, 0);
|
(*cbc)(in, prevBlk, WOLFSSL_CTS128_BLOCK_SZ, key, lastBlk, 0);
|
||||||
/* RFC2040: Append the tail (BB minus Ln) bytes of Xn to Cn
|
/* RFC2040: Append the tail (BB minus Ln) bytes of Xn to Cn
|
||||||
* to create En. */
|
* to create En. */
|
||||||
@ -30650,6 +30652,7 @@ size_t wolfSSL_CRYPTO_cts128_decrypt(const unsigned char *in,
|
|||||||
}
|
}
|
||||||
#endif /* HAVE_CTS */
|
#endif /* HAVE_CTS */
|
||||||
|
|
||||||
|
#ifndef NO_ASN_TIME
|
||||||
#ifndef NO_BIO
|
#ifndef NO_BIO
|
||||||
int wolfSSL_ASN1_UTCTIME_print(WOLFSSL_BIO* bio, const WOLFSSL_ASN1_UTCTIME* a)
|
int wolfSSL_ASN1_UTCTIME_print(WOLFSSL_BIO* bio, const WOLFSSL_ASN1_UTCTIME* a)
|
||||||
{
|
{
|
||||||
@ -44363,17 +44366,17 @@ 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(
|
WOLF_STACK_OF(WOLFSSL_X509_INFO)* wolfSSL_PEM_X509_INFO_read(
|
||||||
XFILE fp, WOLF_STACK_OF(WOLFSSL_X509_INFO)* sk,
|
XFILE fp, WOLF_STACK_OF(WOLFSSL_X509_INFO)* sk,
|
||||||
pem_password_cb* cb, void* u)
|
pem_password_cb* cb, void* u)
|
||||||
{
|
{
|
||||||
WOLFSSL_BIO* file_bio = wolfSSL_BIO_new_fp(fp, BIO_NOCLOSE);
|
WOLFSSL_BIO* fileBio = wolfSSL_BIO_new_fp(fp, BIO_NOCLOSE);
|
||||||
WOLF_STACK_OF(WOLFSSL_X509_INFO)* ret = NULL;
|
WOLF_STACK_OF(WOLFSSL_X509_INFO)* ret = NULL;
|
||||||
|
|
||||||
WOLFSSL_ENTER("wolfSSL_PEM_X509_INFO_read");
|
WOLFSSL_ENTER("wolfSSL_PEM_X509_INFO_read");
|
||||||
if (file_bio != NULL) {
|
if (fileBio != NULL) {
|
||||||
ret = wolfSSL_PEM_X509_INFO_read_bio(file_bio, sk, cb, u);
|
ret = wolfSSL_PEM_X509_INFO_read_bio(fileBio, sk, cb, u);
|
||||||
wolfSSL_BIO_free(file_bio);
|
wolfSSL_BIO_free(fileBio);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -52841,6 +52844,7 @@ int wolfSSL_BN_rand(WOLFSSL_BIGNUM* bn, int bits, int top, int bottom)
|
|||||||
int wolfSSL_BN_rand_range(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *range)
|
int wolfSSL_BN_rand_range(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *range)
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
|
int iter = 0;
|
||||||
WOLFSSL_MSG("wolfSSL_BN_rand_range");
|
WOLFSSL_MSG("wolfSSL_BN_rand_range");
|
||||||
|
|
||||||
if (r == NULL || range == NULL) {
|
if (r == NULL || range == NULL) {
|
||||||
@ -52855,6 +52859,11 @@ int wolfSSL_BN_rand_range(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *range)
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
do {
|
do {
|
||||||
|
if (iter >= 100) {
|
||||||
|
WOLFSSL_MSG("wolfSSL_BN_rand_range too many iterations");
|
||||||
|
return WOLFSSL_FAILURE;
|
||||||
|
}
|
||||||
|
iter++;
|
||||||
if (wolfSSL_BN_rand(r, n, 0, 0) == WOLFSSL_FAILURE) {
|
if (wolfSSL_BN_rand(r, n, 0, 0) == WOLFSSL_FAILURE) {
|
||||||
WOLFSSL_MSG("wolfSSL_BN_rand error");
|
WOLFSSL_MSG("wolfSSL_BN_rand error");
|
||||||
return WOLFSSL_FAILURE;
|
return WOLFSSL_FAILURE;
|
||||||
@ -61678,7 +61687,7 @@ int wolfSSL_i2d_PKCS7(PKCS7 *p7, unsigned char **out)
|
|||||||
int len;
|
int len;
|
||||||
WC_RNG rng;
|
WC_RNG rng;
|
||||||
int ret = WOLFSSL_FAILURE;
|
int ret = WOLFSSL_FAILURE;
|
||||||
WOLFSSL_ENTER("wolfSSL_i2d_PKCS7_bio");
|
WOLFSSL_ENTER("wolfSSL_i2d_PKCS7");
|
||||||
|
|
||||||
if (!out || !p7) {
|
if (!out || !p7) {
|
||||||
WOLFSSL_MSG("Bad parameter");
|
WOLFSSL_MSG("Bad parameter");
|
||||||
@ -61741,7 +61750,7 @@ int wolfSSL_i2d_PKCS7_bio(WOLFSSL_BIO *bio, PKCS7 *p7)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((len = wolfSSL_i2d_PKCS7(p7, &output)) == WOLFSSL_FAILURE) {
|
if ((len = wolfSSL_i2d_PKCS7(p7, &output)) == WOLFSSL_FAILURE) {
|
||||||
WOLFSSL_MSG("wc_PKCS7_EncodeSignedData error");
|
WOLFSSL_MSG("wolfSSL_i2d_PKCS7 error");
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42000,7 +42000,7 @@ static void test_wolfSSL_CRYPTO_cts128(void)
|
|||||||
{
|
{
|
||||||
#if !defined(NO_AES) && defined(HAVE_AES_CBC) && defined(OPENSSL_EXTRA) \
|
#if !defined(NO_AES) && defined(HAVE_AES_CBC) && defined(OPENSSL_EXTRA) \
|
||||||
&& defined(HAVE_CTS)
|
&& defined(HAVE_CTS)
|
||||||
byte tmp[64] = {0}; /* Largest vector size */
|
byte tmp[64]; /* Largest vector size */
|
||||||
/* Test vectors taken form RFC3962 Appendix B */
|
/* Test vectors taken form RFC3962 Appendix B */
|
||||||
const testVector vects[] = {
|
const testVector vects[] = {
|
||||||
{
|
{
|
||||||
@ -42059,10 +42059,12 @@ static void test_wolfSSL_CRYPTO_cts128(void)
|
|||||||
0x74, 0x65, 0x72, 0x69, 0x79, 0x61, 0x6b, 0x69
|
0x74, 0x65, 0x72, 0x69, 0x79, 0x61, 0x6b, 0x69
|
||||||
};
|
};
|
||||||
size_t i;
|
size_t i;
|
||||||
|
XMEMSET(tmp, 0, sizeof(tmp));
|
||||||
for (i = 0; i < sizeof(vects)/sizeof(vects[0]); i++) {
|
for (i = 0; i < sizeof(vects)/sizeof(vects[0]); i++) {
|
||||||
AES_KEY encKey;
|
AES_KEY encKey;
|
||||||
AES_KEY decKey;
|
AES_KEY decKey;
|
||||||
byte iv[AES_IV_SIZE] = {0}; /* All-zero IV for all cases */
|
byte iv[AES_IV_SIZE]; /* All-zero IV for all cases */
|
||||||
|
XMEMSET(iv, 0, sizeof(iv));
|
||||||
AssertIntEQ(AES_set_encrypt_key(keyBytes, AES_128_KEY_SIZE * 8, &encKey), 0);
|
AssertIntEQ(AES_set_encrypt_key(keyBytes, AES_128_KEY_SIZE * 8, &encKey), 0);
|
||||||
AssertIntEQ(AES_set_decrypt_key(keyBytes, AES_128_KEY_SIZE * 8, &decKey), 0);
|
AssertIntEQ(AES_set_decrypt_key(keyBytes, AES_128_KEY_SIZE * 8, &decKey), 0);
|
||||||
AssertIntEQ(CRYPTO_cts128_encrypt((const unsigned char*)vects[i].input,
|
AssertIntEQ(CRYPTO_cts128_encrypt((const unsigned char*)vects[i].input,
|
||||||
|
@ -26,16 +26,16 @@
|
|||||||
|
|
||||||
#include <wolfssl/openssl/ssl.h>
|
#include <wolfssl/openssl/ssl.h>
|
||||||
|
|
||||||
#define ASN1_STRING_new wolfSSL_ASN1_STRING_new
|
#define ASN1_STRING_new wolfSSL_ASN1_STRING_new
|
||||||
#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_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
|
||||||
#define d2i_ASN1_OBJECT wolfSSL_d2i_ASN1_OBJECT
|
#define d2i_ASN1_OBJECT wolfSSL_d2i_ASN1_OBJECT
|
||||||
#define c2i_ASN1_OBJECT wolfSSL_c2i_ASN1_OBJECT
|
#define c2i_ASN1_OBJECT wolfSSL_c2i_ASN1_OBJECT
|
||||||
|
|
||||||
#define V_ASN1_INTEGER 0x02
|
#define V_ASN1_INTEGER 0x02
|
||||||
#define V_ASN1_OCTET_STRING 0x04 /* tag for ASN1_OCTET_STRING */
|
#define V_ASN1_OCTET_STRING 0x04 /* tag for ASN1_OCTET_STRING */
|
||||||
|
@ -4058,9 +4058,11 @@ 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);
|
||||||
|
#ifndef NO_FILESYSTEM
|
||||||
WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_INFO)* wolfSSL_PEM_X509_INFO_read(
|
WOLFSSL_API WOLF_STACK_OF(WOLFSSL_X509_INFO)* wolfSSL_PEM_X509_INFO_read(
|
||||||
XFILE fp, WOLF_STACK_OF(WOLFSSL_X509_INFO)* sk,
|
XFILE fp, WOLF_STACK_OF(WOLFSSL_X509_INFO)* sk,
|
||||||
pem_password_cb* cb, void* u);
|
pem_password_cb* cb, void* u);
|
||||||
|
#endif
|
||||||
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