botan: Fully enable RSA OAEP decryption

This commit is contained in:
Andreas Steffen
2021-11-09 17:58:28 +01:00
parent f4bfdec21f
commit c8341fca61
2 changed files with 12 additions and 5 deletions
@@ -280,12 +280,18 @@ METHOD(plugin_t, get_features, int,
PLUGIN_PROVIDE(PRIVKEY_DECRYPT, ENCRYPT_RSA_PKCS1), PLUGIN_PROVIDE(PRIVKEY_DECRYPT, ENCRYPT_RSA_PKCS1),
PLUGIN_PROVIDE(PUBKEY_ENCRYPT, ENCRYPT_RSA_PKCS1), PLUGIN_PROVIDE(PUBKEY_ENCRYPT, ENCRYPT_RSA_PKCS1),
#ifdef BOTAN_HAS_EME_OAEP #ifdef BOTAN_HAS_EME_OAEP
PLUGIN_PROVIDE(PRIVKEY_DECRYPT, ENCRYPT_RSA_OAEP_SHA1),
PLUGIN_PROVIDE(PUBKEY_ENCRYPT, ENCRYPT_RSA_OAEP_SHA1),
#ifdef BOTAN_HAS_SHA2_32 #ifdef BOTAN_HAS_SHA2_32
PLUGIN_PROVIDE(PRIVKEY_DECRYPT, ENCRYPT_RSA_OAEP_SHA224),
PLUGIN_PROVIDE(PUBKEY_ENCRYPT, ENCRYPT_RSA_OAEP_SHA224), PLUGIN_PROVIDE(PUBKEY_ENCRYPT, ENCRYPT_RSA_OAEP_SHA224),
PLUGIN_PROVIDE(PRIVKEY_DECRYPT, ENCRYPT_RSA_OAEP_SHA256),
PLUGIN_PROVIDE(PUBKEY_ENCRYPT, ENCRYPT_RSA_OAEP_SHA256), PLUGIN_PROVIDE(PUBKEY_ENCRYPT, ENCRYPT_RSA_OAEP_SHA256),
#endif #endif
#ifdef BOTAN_HAS_SHA2_64 #ifdef BOTAN_HAS_SHA2_64
PLUGIN_PROVIDE(PRIVKEY_DECRYPT, ENCRYPT_RSA_OAEP_SHA384),
PLUGIN_PROVIDE(PUBKEY_ENCRYPT, ENCRYPT_RSA_OAEP_SHA384), PLUGIN_PROVIDE(PUBKEY_ENCRYPT, ENCRYPT_RSA_OAEP_SHA384),
PLUGIN_PROVIDE(PRIVKEY_DECRYPT, ENCRYPT_RSA_OAEP_SHA512),
PLUGIN_PROVIDE(PUBKEY_ENCRYPT, ENCRYPT_RSA_OAEP_SHA512), PLUGIN_PROVIDE(PUBKEY_ENCRYPT, ENCRYPT_RSA_OAEP_SHA512),
#endif #endif
#endif #endif
@@ -206,6 +206,7 @@ METHOD(private_key_t, decrypt, bool,
if (botan_pk_op_decrypt(decrypt_op, plain->ptr, &plain->len, crypto.ptr, if (botan_pk_op_decrypt(decrypt_op, plain->ptr, &plain->len, crypto.ptr,
crypto.len)) crypto.len))
{ {
DBG1(DBG_LIB, "RSA decryption failed");
chunk_free(plain); chunk_free(plain);
botan_pk_op_decrypt_destroy(decrypt_op); botan_pk_op_decrypt_destroy(decrypt_op);
return FALSE; return FALSE;