mirror of https://github.com/wolfSSL/wolfssl.git
commit
2444a55afe
|
@ -0,0 +1,18 @@
|
|||
[ req ]
|
||||
distinguished_name = req_distinguished_name
|
||||
prompt = no
|
||||
x509_extensions = v3_ca
|
||||
|
||||
[ req_distinguished_name ]
|
||||
C = AU
|
||||
ST = Queensland
|
||||
L = Brisbane
|
||||
O = wolfSSL Inc
|
||||
OU = Engineering
|
||||
CN = www.wolfssl.com
|
||||
emailAddress = support@www.wolfsssl.com
|
||||
|
||||
[ v3_ca ]
|
||||
inhibitAnyPolicy = critical,1
|
||||
nsComment = "Testing inhibit any"
|
||||
|
Binary file not shown.
|
@ -0,0 +1,18 @@
|
|||
[ req ]
|
||||
distinguished_name = req_distinguished_name
|
||||
prompt = no
|
||||
x509_extensions = v3_ca
|
||||
|
||||
[ req_distinguished_name ]
|
||||
C = AU
|
||||
ST = Queensland
|
||||
L = Brisbane
|
||||
O = wolfSSL Inc
|
||||
OU = Engineering
|
||||
CN = www.wolfssl.com
|
||||
emailAddress = support@www.wolfsssl.com
|
||||
|
||||
[ v3_ca ]
|
||||
nameConstraints = critical,permitted;email:.wolfssl.com
|
||||
nsComment = "Testing name constraints"
|
||||
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,69 @@
|
|||
#!/bin/sh
|
||||
|
||||
TMP="/tmp/`basename $0`"
|
||||
|
||||
gen_cert() {
|
||||
openssl req -x509 -keyform DER -key certs/server-key.der \
|
||||
-outform DER -out $OUT -config $CONFIG \
|
||||
>$TMP 2>&1
|
||||
|
||||
if [ "$?" = "0" -a -f $OUT ]; then
|
||||
echo "Created: $OUT"
|
||||
else
|
||||
cat $TMP
|
||||
echo "Failed: $OUT"
|
||||
fi
|
||||
|
||||
rm $TMP
|
||||
}
|
||||
|
||||
OUT=certs/test/cert-ext-nc.der
|
||||
KEYFILE=certs/test/cert-ext-nc-key.der
|
||||
CONFIG=certs/test/cert-ext-nc.cfg
|
||||
tee >$CONFIG <<EOF
|
||||
[ req ]
|
||||
distinguished_name = req_distinguished_name
|
||||
prompt = no
|
||||
x509_extensions = v3_ca
|
||||
|
||||
[ req_distinguished_name ]
|
||||
C = AU
|
||||
ST = Queensland
|
||||
L = Brisbane
|
||||
O = wolfSSL Inc
|
||||
OU = Engineering
|
||||
CN = www.wolfssl.com
|
||||
emailAddress = support@www.wolfsssl.com
|
||||
|
||||
[ v3_ca ]
|
||||
nameConstraints = critical,permitted;email:.wolfssl.com
|
||||
nsComment = "Testing name constraints"
|
||||
|
||||
EOF
|
||||
gen_cert
|
||||
|
||||
OUT=certs/test/cert-ext-ia.der
|
||||
KEYFILE=certs/test/cert-ext-ia-key.der
|
||||
CONFIG=certs/test/cert-ext-ia.cfg
|
||||
tee >$CONFIG <<EOF
|
||||
[ req ]
|
||||
distinguished_name = req_distinguished_name
|
||||
prompt = no
|
||||
x509_extensions = v3_ca
|
||||
|
||||
[ req_distinguished_name ]
|
||||
C = AU
|
||||
ST = Queensland
|
||||
L = Brisbane
|
||||
O = wolfSSL Inc
|
||||
OU = Engineering
|
||||
CN = www.wolfssl.com
|
||||
emailAddress = support@www.wolfsssl.com
|
||||
|
||||
[ v3_ca ]
|
||||
inhibitAnyPolicy = critical,1
|
||||
nsComment = "Testing inhibit any"
|
||||
|
||||
EOF
|
||||
gen_cert
|
||||
|
|
@ -9190,11 +9190,12 @@ int wc_EccPrivateKeyDecode(const byte* input, word32* inOutIdx, ecc_key* key,
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef WOLFSSL_CERT_EXT
|
||||
int wc_EccPublicKeyDecode(const byte* input, word32* inOutIdx,
|
||||
ecc_key* key, word32 inSz)
|
||||
{
|
||||
int length;
|
||||
int ret = 0;
|
||||
byte b;
|
||||
|
||||
if (input == NULL || inOutIdx == NULL || key == NULL || inSz == 0)
|
||||
return BAD_FUNC_ARG;
|
||||
|
@ -9202,11 +9203,6 @@ int wc_EccPublicKeyDecode(const byte* input, word32* inOutIdx,
|
|||
if (GetSequence(input, inOutIdx, &length, inSz) < 0)
|
||||
return ASN_PARSE_E;
|
||||
|
||||
#if defined(OPENSSL_EXTRA) || defined(ECC_DECODE_EXTRA)
|
||||
{
|
||||
byte b = input[*inOutIdx];
|
||||
if (b != ASN_INTEGER) {
|
||||
/* not from decoded cert, will have algo id, skip past */
|
||||
if (GetSequence(input, inOutIdx, &length, inSz) < 0)
|
||||
return ASN_PARSE_E;
|
||||
|
||||
|
@ -9234,25 +9230,21 @@ int wc_EccPublicKeyDecode(const byte* input, word32* inOutIdx,
|
|||
*inOutIdx += 1;
|
||||
|
||||
if (b != ASN_BIT_STRING)
|
||||
ret = ASN_BITSTR_E;
|
||||
else if (GetLength(input, inOutIdx, &length, inSz) <= 0)
|
||||
ret = ASN_PARSE_E;
|
||||
else {
|
||||
b = input[*inOutIdx];
|
||||
*inOutIdx += 1;
|
||||
return ASN_BITSTR_E;
|
||||
if (GetLength(input, inOutIdx, &length, inSz) <= 0)
|
||||
return ASN_PARSE_E;
|
||||
|
||||
b = input[(*inOutIdx)++];
|
||||
if (b != 0x00)
|
||||
ret = ASN_EXPECT_0_E;
|
||||
}
|
||||
}
|
||||
} /* openssl var block */
|
||||
#endif /* OPENSSL_EXTRA */
|
||||
return ASN_EXPECT_0_E;
|
||||
|
||||
/* This is the raw point data compressed or uncompressed. */
|
||||
if (wc_ecc_import_x963(input+*inOutIdx, inSz - *inOutIdx, key) != 0)
|
||||
return ASN_ECC_KEY_E;
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef WOLFSSL_KEY_GEN
|
||||
|
|
|
@ -236,41 +236,32 @@ int wc_HashInit(wc_HashAlg* hash, enum wc_HashType type)
|
|||
case WC_HASH_TYPE_MD5:
|
||||
#ifndef NO_MD5
|
||||
wc_InitMd5(&hash->md5);
|
||||
ret = 0;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA:
|
||||
#ifndef NO_SHA
|
||||
ret = wc_InitSha(&hash->sha);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA224:
|
||||
#ifdef WOLFSSL_SHA224
|
||||
ret = wc_InitSha224(&hash->sha224);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA256:
|
||||
#ifndef NO_SHA256
|
||||
ret = wc_InitSha256(&hash->sha256);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA384:
|
||||
#ifdef WOLFSSL_SHA384
|
||||
ret = wc_InitSha384(&hash->sha384);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA512:
|
||||
#ifdef WOLFSSL_SHA512
|
||||
ret = wc_InitSha512(&hash->sha512);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
|
||||
|
@ -280,7 +271,7 @@ int wc_HashInit(wc_HashAlg* hash, enum wc_HashType type)
|
|||
case WC_HASH_TYPE_MD4:
|
||||
case WC_HASH_TYPE_NONE:
|
||||
default:
|
||||
return BAD_FUNC_ARG;
|
||||
ret = BAD_FUNC_ARG;
|
||||
};
|
||||
|
||||
return ret;
|
||||
|
@ -298,6 +289,7 @@ int wc_HashUpdate(wc_HashAlg* hash, enum wc_HashType type, const byte* data,
|
|||
case WC_HASH_TYPE_MD5:
|
||||
#ifndef NO_MD5
|
||||
wc_Md5Update(&hash->md5, data, dataSz);
|
||||
ret = 0;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA:
|
||||
|
@ -310,29 +302,21 @@ int wc_HashUpdate(wc_HashAlg* hash, enum wc_HashType type, const byte* data,
|
|||
case WC_HASH_TYPE_SHA224:
|
||||
#ifdef WOLFSSL_SHA224
|
||||
ret = wc_Sha224Update(&hash->sha224, data, dataSz);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA256:
|
||||
#ifndef NO_SHA256
|
||||
ret = wc_Sha256Update(&hash->sha256, data, dataSz);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA384:
|
||||
#ifdef WOLFSSL_SHA384
|
||||
ret = wc_Sha384Update(&hash->sha384, data, dataSz);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA512:
|
||||
#ifdef WOLFSSL_SHA512
|
||||
ret = wc_Sha512Update(&hash->sha512, data, dataSz);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
|
||||
|
@ -342,7 +326,7 @@ int wc_HashUpdate(wc_HashAlg* hash, enum wc_HashType type, const byte* data,
|
|||
case WC_HASH_TYPE_MD4:
|
||||
case WC_HASH_TYPE_NONE:
|
||||
default:
|
||||
return BAD_FUNC_ARG;
|
||||
ret = BAD_FUNC_ARG;
|
||||
};
|
||||
|
||||
return ret;
|
||||
|
@ -359,41 +343,32 @@ int wc_HashFinal(wc_HashAlg* hash, enum wc_HashType type, byte* out)
|
|||
case WC_HASH_TYPE_MD5:
|
||||
#ifndef NO_MD5
|
||||
wc_Md5Final(&hash->md5, out);
|
||||
ret = 0;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA:
|
||||
#ifndef NO_SHA
|
||||
ret = wc_ShaFinal(&hash->sha, out);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA224:
|
||||
#ifdef WOLFSSL_SHA224
|
||||
ret = wc_Sha224Final(&hash->sha224, out);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA256:
|
||||
#ifndef NO_SHA256
|
||||
ret = wc_Sha256Final(&hash->sha256, out);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA384:
|
||||
#ifdef WOLFSSL_SHA384
|
||||
ret = wc_Sha384Final(&hash->sha384, out);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
case WC_HASH_TYPE_SHA512:
|
||||
#ifdef WOLFSSL_SHA512
|
||||
ret = wc_Sha512Final(&hash->sha512, out);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
#endif
|
||||
break;
|
||||
|
||||
|
@ -403,10 +378,10 @@ int wc_HashFinal(wc_HashAlg* hash, enum wc_HashType type, byte* out)
|
|||
case WC_HASH_TYPE_MD4:
|
||||
case WC_HASH_TYPE_NONE:
|
||||
default:
|
||||
return BAD_FUNC_ARG;
|
||||
ret = BAD_FUNC_ARG;
|
||||
};
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -2095,6 +2095,9 @@ void fp_rshb(fp_int *c, int x)
|
|||
/* set the carry to the carry bits of the current word found above */
|
||||
r = rr;
|
||||
}
|
||||
|
||||
/* clamp digits */
|
||||
fp_clamp(c);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -264,7 +264,7 @@ wolfSSL_Mutex* wc_InitAndAllocMutex()
|
|||
{
|
||||
wolfSSL_Mutex* m = (wolfSSL_Mutex*) XMALLOC(sizeof(wolfSSL_Mutex), NULL,
|
||||
DYNAMIC_TYPE_MUTEX);
|
||||
if(m && wc_InitMutex(m))
|
||||
if(m && wc_InitMutex(m) == 0)
|
||||
return m;
|
||||
XFREE(m, NULL, DYNAMIC_TYPE_MUTEX);
|
||||
m = NULL;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1950,7 +1950,7 @@ int wc_RsaFlattenPublicKey(RsaKey* key, byte* e, word32* eSz, byte* n,
|
|||
if (key == NULL || e == NULL || eSz == NULL || n == NULL || nSz == NULL)
|
||||
return USER_CRYPTO_ERROR;
|
||||
|
||||
bytSz = sizeof(byte);
|
||||
bytSz = sizeof(byte) * 8;
|
||||
ret = ippsExtGet_BN(NULL, &sz, NULL, key->e);
|
||||
if (ret != ippStsNoErr)
|
||||
return USER_CRYPTO_ERROR;
|
||||
|
|
Loading…
Reference in New Issue