diff --git a/src/shared/creds-util.c b/src/shared/creds-util.c index c4dcc396ac2..93c8b93fa98 100644 --- a/src/shared/creds-util.c +++ b/src/shared/creds-util.c @@ -483,6 +483,13 @@ int encrypt_credential_and_warn( assert(ret); assert(ret_size); + if (!sd_id128_in_set(with_key, + SD_ID128_NULL, + CRED_AES256_GCM_BY_HOST, + CRED_AES256_GCM_BY_TPM2_HMAC, + CRED_AES256_GCM_BY_HOST_AND_TPM2_HMAC)) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Invalid key type: " SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(with_key)); + if (name && !credential_name_valid(name)) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Invalid credential name: %s", name);