mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
module: icp: fold away all key formats except CRYPTO_KEY_RAW
It's the only one actually used Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #12901
This commit is contained in:
+7
-23
@@ -242,24 +242,15 @@ aes_check_mech_param(crypto_mechanism_t *mechanism, aes_ctx_t **ctx, int kmflag)
|
||||
static int
|
||||
init_keysched(crypto_key_t *key, void *newbie)
|
||||
{
|
||||
/*
|
||||
* Only keys by value are supported by this module.
|
||||
*/
|
||||
switch (key->ck_format) {
|
||||
case CRYPTO_KEY_RAW:
|
||||
if (key->ck_length < AES_MINBITS ||
|
||||
key->ck_length > AES_MAXBITS) {
|
||||
return (CRYPTO_KEY_SIZE_RANGE);
|
||||
}
|
||||
|
||||
/* key length must be either 128, 192, or 256 */
|
||||
if ((key->ck_length & 63) != 0)
|
||||
return (CRYPTO_KEY_SIZE_RANGE);
|
||||
break;
|
||||
default:
|
||||
return (CRYPTO_KEY_TYPE_INCONSISTENT);
|
||||
if (key->ck_length < AES_MINBITS ||
|
||||
key->ck_length > AES_MAXBITS) {
|
||||
return (CRYPTO_KEY_SIZE_RANGE);
|
||||
}
|
||||
|
||||
/* key length must be either 128, 192, or 256 */
|
||||
if ((key->ck_length & 63) != 0)
|
||||
return (CRYPTO_KEY_SIZE_RANGE);
|
||||
|
||||
aes_init_keysched(key->ck_data, key->ck_length, newbie);
|
||||
return (CRYPTO_SUCCESS);
|
||||
}
|
||||
@@ -294,13 +285,6 @@ aes_common_init(crypto_ctx_t *ctx, crypto_mechanism_t *mechanism,
|
||||
int rv;
|
||||
int kmflag;
|
||||
|
||||
/*
|
||||
* Only keys by value are supported by this module.
|
||||
*/
|
||||
if (key->ck_format != CRYPTO_KEY_RAW) {
|
||||
return (CRYPTO_KEY_TYPE_INCONSISTENT);
|
||||
}
|
||||
|
||||
kmflag = crypto_kmflag(req);
|
||||
if ((rv = aes_check_mech_param(mechanism, &aes_ctx, kmflag))
|
||||
!= CRYPTO_SUCCESS)
|
||||
|
||||
@@ -737,9 +737,6 @@ sha2_mac_init(crypto_ctx_t *ctx, crypto_mechanism_t *mechanism,
|
||||
return (CRYPTO_MECHANISM_INVALID);
|
||||
}
|
||||
|
||||
if (key->ck_format != CRYPTO_KEY_RAW)
|
||||
return (CRYPTO_ARGUMENTS_BAD);
|
||||
|
||||
ctx->cc_provider_private = kmem_alloc(sizeof (sha2_hmac_ctx_t),
|
||||
crypto_kmflag(req));
|
||||
if (ctx->cc_provider_private == NULL)
|
||||
@@ -971,10 +968,6 @@ sha2_mac_atomic(crypto_provider_handle_t provider,
|
||||
return (CRYPTO_MECHANISM_INVALID);
|
||||
}
|
||||
|
||||
/* Add support for key by attributes (RFE 4706552) */
|
||||
if (key->ck_format != CRYPTO_KEY_RAW)
|
||||
return (CRYPTO_ARGUMENTS_BAD);
|
||||
|
||||
if (ctx_template != NULL) {
|
||||
/* reuse context template */
|
||||
bcopy(ctx_template, &sha2_hmac_ctx, sizeof (sha2_hmac_ctx_t));
|
||||
@@ -1109,10 +1102,6 @@ sha2_mac_verify_atomic(crypto_provider_handle_t provider,
|
||||
return (CRYPTO_MECHANISM_INVALID);
|
||||
}
|
||||
|
||||
/* Add support for key by attributes (RFE 4706552) */
|
||||
if (key->ck_format != CRYPTO_KEY_RAW)
|
||||
return (CRYPTO_ARGUMENTS_BAD);
|
||||
|
||||
if (ctx_template != NULL) {
|
||||
/* reuse context template */
|
||||
bcopy(ctx_template, &sha2_hmac_ctx, sizeof (sha2_hmac_ctx_t));
|
||||
@@ -1287,10 +1276,6 @@ sha2_create_ctx_template(crypto_provider_handle_t provider,
|
||||
return (CRYPTO_MECHANISM_INVALID);
|
||||
}
|
||||
|
||||
/* Add support for key by attributes (RFE 4706552) */
|
||||
if (key->ck_format != CRYPTO_KEY_RAW)
|
||||
return (CRYPTO_ARGUMENTS_BAD);
|
||||
|
||||
/*
|
||||
* Allocate and initialize SHA2 context.
|
||||
*/
|
||||
|
||||
@@ -530,8 +530,6 @@ skein_mac_ctx_build(skein_ctx_t *ctx, crypto_mechanism_t *mechanism,
|
||||
|
||||
if (!VALID_SKEIN_MAC_MECH(mechanism->cm_type))
|
||||
return (CRYPTO_MECHANISM_INVALID);
|
||||
if (key->ck_format != CRYPTO_KEY_RAW)
|
||||
return (CRYPTO_ARGUMENTS_BAD);
|
||||
ctx->sc_mech_type = mechanism->cm_type;
|
||||
error = skein_get_digest_bitlen(mechanism, &ctx->sc_digest_bitlen);
|
||||
if (error != CRYPTO_SUCCESS)
|
||||
|
||||
Reference in New Issue
Block a user