openssl: Support SHA-3 based RSA_EMSA_PKCS1 signatures
This commit is contained in:
@@ -694,6 +694,16 @@ METHOD(plugin_t, get_features, int,
|
|||||||
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA2_384),
|
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA2_384),
|
||||||
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA2_512),
|
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA2_512),
|
||||||
#endif
|
#endif
|
||||||
|
#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(OPENSSL_NO_SHA3)
|
||||||
|
PLUGIN_PROVIDE(PRIVKEY_SIGN, SIGN_RSA_EMSA_PKCS1_SHA3_224),
|
||||||
|
PLUGIN_PROVIDE(PRIVKEY_SIGN, SIGN_RSA_EMSA_PKCS1_SHA3_256),
|
||||||
|
PLUGIN_PROVIDE(PRIVKEY_SIGN, SIGN_RSA_EMSA_PKCS1_SHA3_384),
|
||||||
|
PLUGIN_PROVIDE(PRIVKEY_SIGN, SIGN_RSA_EMSA_PKCS1_SHA3_512),
|
||||||
|
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA3_224),
|
||||||
|
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA3_256),
|
||||||
|
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA3_384),
|
||||||
|
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA3_512),
|
||||||
|
#endif
|
||||||
#ifndef OPENSSL_NO_MD5
|
#ifndef OPENSSL_NO_MD5
|
||||||
PLUGIN_PROVIDE(PRIVKEY_SIGN, SIGN_RSA_EMSA_PKCS1_MD5),
|
PLUGIN_PROVIDE(PRIVKEY_SIGN, SIGN_RSA_EMSA_PKCS1_MD5),
|
||||||
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_MD5),
|
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_MD5),
|
||||||
|
|||||||
@@ -279,6 +279,16 @@ METHOD(private_key_t, sign, bool,
|
|||||||
return build_emsa_pkcs1_signature(this, NID_sha384, data, signature);
|
return build_emsa_pkcs1_signature(this, NID_sha384, data, signature);
|
||||||
case SIGN_RSA_EMSA_PKCS1_SHA2_512:
|
case SIGN_RSA_EMSA_PKCS1_SHA2_512:
|
||||||
return build_emsa_pkcs1_signature(this, NID_sha512, data, signature);
|
return build_emsa_pkcs1_signature(this, NID_sha512, data, signature);
|
||||||
|
#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(OPENSSL_NO_SHA3) && !defined(OPENSSL_IS_BORINGSSL)
|
||||||
|
case SIGN_RSA_EMSA_PKCS1_SHA3_224:
|
||||||
|
return build_emsa_pkcs1_signature(this, NID_sha3_224, data, signature);
|
||||||
|
case SIGN_RSA_EMSA_PKCS1_SHA3_256:
|
||||||
|
return build_emsa_pkcs1_signature(this, NID_sha3_256, data, signature);
|
||||||
|
case SIGN_RSA_EMSA_PKCS1_SHA3_384:
|
||||||
|
return build_emsa_pkcs1_signature(this, NID_sha3_384, data, signature);
|
||||||
|
case SIGN_RSA_EMSA_PKCS1_SHA3_512:
|
||||||
|
return build_emsa_pkcs1_signature(this, NID_sha3_512, data, signature);
|
||||||
|
#endif
|
||||||
case SIGN_RSA_EMSA_PKCS1_SHA1:
|
case SIGN_RSA_EMSA_PKCS1_SHA1:
|
||||||
return build_emsa_pkcs1_signature(this, NID_sha1, data, signature);
|
return build_emsa_pkcs1_signature(this, NID_sha1, data, signature);
|
||||||
case SIGN_RSA_EMSA_PKCS1_MD5:
|
case SIGN_RSA_EMSA_PKCS1_MD5:
|
||||||
|
|||||||
@@ -280,6 +280,16 @@ METHOD(public_key_t, verify, bool,
|
|||||||
return verify_emsa_pkcs1_signature(this, NID_sha384, data, signature);
|
return verify_emsa_pkcs1_signature(this, NID_sha384, data, signature);
|
||||||
case SIGN_RSA_EMSA_PKCS1_SHA2_512:
|
case SIGN_RSA_EMSA_PKCS1_SHA2_512:
|
||||||
return verify_emsa_pkcs1_signature(this, NID_sha512, data, signature);
|
return verify_emsa_pkcs1_signature(this, NID_sha512, data, signature);
|
||||||
|
#if OPENSSL_VERSION_NUMBER >= 0x1010100fL && !defined(OPENSSL_NO_SHA3) && !defined(OPENSSL_IS_BORINGSSL)
|
||||||
|
case SIGN_RSA_EMSA_PKCS1_SHA3_224:
|
||||||
|
return verify_emsa_pkcs1_signature(this, NID_sha3_224, data, signature);
|
||||||
|
case SIGN_RSA_EMSA_PKCS1_SHA3_256:
|
||||||
|
return verify_emsa_pkcs1_signature(this, NID_sha3_256, data, signature);
|
||||||
|
case SIGN_RSA_EMSA_PKCS1_SHA3_384:
|
||||||
|
return verify_emsa_pkcs1_signature(this, NID_sha3_384, data, signature);
|
||||||
|
case SIGN_RSA_EMSA_PKCS1_SHA3_512:
|
||||||
|
return verify_emsa_pkcs1_signature(this, NID_sha3_512, data, signature);
|
||||||
|
#endif
|
||||||
case SIGN_RSA_EMSA_PKCS1_SHA1:
|
case SIGN_RSA_EMSA_PKCS1_SHA1:
|
||||||
return verify_emsa_pkcs1_signature(this, NID_sha1, data, signature);
|
return verify_emsa_pkcs1_signature(this, NID_sha1, data, signature);
|
||||||
case SIGN_RSA_EMSA_PKCS1_MD5:
|
case SIGN_RSA_EMSA_PKCS1_MD5:
|
||||||
|
|||||||
Reference in New Issue
Block a user