forked from wolfSSL/wolfssl
Fix for configurations without specific algorithms
This commit is contained in:
@ -17003,6 +17003,7 @@ int DecodePrivateKey(WOLFSSL *ssl, word16* length)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ssl->buffers.keyType == rsa_sa_algo) {
|
if (ssl->buffers.keyType == rsa_sa_algo) {
|
||||||
|
#ifndef NO_RSA
|
||||||
ret = wc_InitRsaKey_Id((RsaKey*)ssl->hsKey,
|
ret = wc_InitRsaKey_Id((RsaKey*)ssl->hsKey,
|
||||||
ssl->buffers.key->buffer, ssl->buffers.key->length,
|
ssl->buffers.key->buffer, ssl->buffers.key->length,
|
||||||
ssl->heap, ssl->buffers.keyDevId);
|
ssl->heap, ssl->buffers.keyDevId);
|
||||||
@ -17015,8 +17016,10 @@ int DecodePrivateKey(WOLFSSL *ssl, word16* length)
|
|||||||
/* Return the maximum signature length. */
|
/* Return the maximum signature length. */
|
||||||
*length = (word16)wc_ecc_sig_size_calc(ssl->buffers.keySz);
|
*length = (word16)wc_ecc_sig_size_calc(ssl->buffers.keySz);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if (ssl->buffers.keyType == ecc_dsa_sa_algo) {
|
else if (ssl->buffers.keyType == ecc_dsa_sa_algo) {
|
||||||
|
#ifdef HAVE_ECC
|
||||||
ret = wc_ecc_init_id((ecc_key*)ssl->hsKey, ssl->buffers.key->buffer,
|
ret = wc_ecc_init_id((ecc_key*)ssl->hsKey, ssl->buffers.key->buffer,
|
||||||
ssl->buffers.key->length, ssl->heap,
|
ssl->buffers.key->length, ssl->heap,
|
||||||
ssl->buffers.keyDevId);
|
ssl->buffers.keyDevId);
|
||||||
@ -17029,6 +17032,7 @@ int DecodePrivateKey(WOLFSSL *ssl, word16* length)
|
|||||||
/* Return the maximum signature length. */
|
/* Return the maximum signature length. */
|
||||||
*length = (word16)wc_ecc_sig_size_calc(ssl->buffers.keySz);
|
*length = (word16)wc_ecc_sig_size_calc(ssl->buffers.keySz);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
goto exit_dpk;
|
goto exit_dpk;
|
||||||
}
|
}
|
||||||
|
@ -2441,6 +2441,7 @@ int wc_Pkcs11_CryptoDevCb(int devId, wc_CryptoInfo* info, void* ctx)
|
|||||||
ret = Pkcs11OpenSession(token, &session, readWrite);
|
ret = Pkcs11OpenSession(token, &session, readWrite);
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
if (info->algo_type == WC_ALGO_TYPE_PK) {
|
if (info->algo_type == WC_ALGO_TYPE_PK) {
|
||||||
|
#if !defined(NO_RSA) || defined(HAVE_ECC)
|
||||||
switch (info->pk.type) {
|
switch (info->pk.type) {
|
||||||
#ifndef NO_RSA
|
#ifndef NO_RSA
|
||||||
case WC_PK_TYPE_RSA:
|
case WC_PK_TYPE_RSA:
|
||||||
@ -2474,10 +2475,13 @@ int wc_Pkcs11_CryptoDevCb(int devId, wc_CryptoInfo* info, void* ctx)
|
|||||||
ret = NOT_COMPILED_IN;
|
ret = NOT_COMPILED_IN;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
ret = NOT_COMPILED_IN;
|
||||||
|
#endif /* !NO_RSA || HAVE_ECC */
|
||||||
}
|
}
|
||||||
else if (info->algo_type == WC_ALGO_TYPE_CIPHER) {
|
else if (info->algo_type == WC_ALGO_TYPE_CIPHER) {
|
||||||
switch (info->cipher.type) {
|
|
||||||
#ifndef NO_AES
|
#ifndef NO_AES
|
||||||
|
switch (info->cipher.type) {
|
||||||
#ifdef HAVE_AESGCM
|
#ifdef HAVE_AESGCM
|
||||||
case WC_CIPHER_AES_GCM:
|
case WC_CIPHER_AES_GCM:
|
||||||
if (info->cipher.enc)
|
if (info->cipher.enc)
|
||||||
@ -2494,8 +2498,10 @@ int wc_Pkcs11_CryptoDevCb(int devId, wc_CryptoInfo* info, void* ctx)
|
|||||||
ret = Pkcs11AesCbcDecrypt(&session, info);
|
ret = Pkcs11AesCbcDecrypt(&session, info);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
ret = NOT_COMPILED_IN;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if (info->algo_type == WC_ALGO_TYPE_HMAC) {
|
else if (info->algo_type == WC_ALGO_TYPE_HMAC) {
|
||||||
#ifndef NO_HMAC
|
#ifndef NO_HMAC
|
||||||
|
Reference in New Issue
Block a user