Merge pull request #2530 from SparkiDev/pkcs11_tls_client

Use the public key type as private key type with PKCS #11
This commit is contained in:
toddouska
2019-10-31 13:06:32 -07:00
committed by GitHub

View File

@ -5472,6 +5472,14 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff,
case RSAk:
#ifdef HAVE_PK_CALLBACKS
keyType = rsa_sa_algo;
#endif
#ifdef HAVE_PKCS11
if (ctx) {
ctx->privateKeyType = rsa_sa_algo;
}
else {
ssl->buffers.keyType = rsa_sa_algo;
}
#endif
/* Determine RSA key size by parsing public key */
idx = 0;
@ -5500,6 +5508,14 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff,
case ECDSAk:
#ifdef HAVE_PK_CALLBACKS
keyType = ecc_dsa_sa_algo;
#endif
#ifdef HAVE_PKCS11
if (ctx) {
ctx->privateKeyType = ecc_dsa_sa_algo;
}
else {
ssl->buffers.keyType = ecc_dsa_sa_algo;
}
#endif
/* Determine ECC key size based on curve */
keySz = wc_ecc_get_curve_size_from_id(
@ -5525,6 +5541,14 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff,
case ED25519k:
#ifdef HAVE_PK_CALLBACKS
keyType = ed25519_sa_algo;
#endif
#ifdef HAVE_PKCS11
if (ctx) {
ctx->privateKeyType = ed25519_sa_algo;
}
else {
ssl->buffers.keyType = ed25519_sa_algo;
}
#endif
/* ED25519 is fixed key size */
keySz = ED25519_KEY_SIZE;