mirror of
https://github.com/strongswan/strongswan.git
synced 2025-10-05 00:00:45 -04:00
tpm: TPM 2.0 supports SHA3 and CMAC
This commit is contained in:
parent
78015d14ac
commit
da1d7815ef
@ -59,6 +59,7 @@ ENUM_NEXT(tpm_alg_id_names, TPM_ALG_SM3_256, TPM_ALG_ECMQV, TPM_ALG_NULL,
|
||||
"OAEP",
|
||||
"ECDSA",
|
||||
"ECDH",
|
||||
"ECDAA",
|
||||
"SM2",
|
||||
"ECSCHNORR",
|
||||
"ECMQV"
|
||||
|
@ -62,11 +62,15 @@ ENUM_NEXT(tpm_alg_id_names, TPM2_ALG_KDF1_SP800_56A, TPM2_ALG_ECC, TPM2_ALG_ECMQ
|
||||
"KDF1_SP800_108",
|
||||
"ECC"
|
||||
);
|
||||
ENUM_NEXT(tpm_alg_id_names, TPM2_ALG_SYMCIPHER, TPM2_ALG_CAMELLIA, TPM2_ALG_ECC,
|
||||
ENUM_NEXT(tpm_alg_id_names, TPM2_ALG_SYMCIPHER, TPM2_ALG_SHA3_512, TPM2_ALG_ECC,
|
||||
"SYMCIPHER",
|
||||
"CAMELLIA"
|
||||
"CAMELLIA",
|
||||
"SHA3_256",
|
||||
"SHA3_384",
|
||||
"SHA3_512"
|
||||
);
|
||||
ENUM_NEXT(tpm_alg_id_names, TPM2_ALG_CTR, TPM2_ALG_ECB, TPM2_ALG_CAMELLIA,
|
||||
ENUM_NEXT(tpm_alg_id_names, TPM2_ALG_CMAC, TPM2_ALG_ECB, TPM2_ALG_SHA3_512,
|
||||
"CMAC",
|
||||
"CTR",
|
||||
"OFB",
|
||||
"CBC",
|
||||
|
@ -108,6 +108,12 @@ static TPM2_ALG_ID hash_alg_to_tpm_alg_id(hash_algorithm_t alg)
|
||||
return TPM2_ALG_SHA384;
|
||||
case HASH_SHA512:
|
||||
return TPM2_ALG_SHA512;
|
||||
case HASH_SHA3_256:
|
||||
return TPM2_ALG_SHA3_256;
|
||||
case HASH_SHA3_384:
|
||||
return TPM2_ALG_SHA3_384;
|
||||
case HASH_SHA3_512:
|
||||
return TPM2_ALG_SHA3_512;
|
||||
default:
|
||||
return TPM2_ALG_ERROR;
|
||||
}
|
||||
@ -128,6 +134,12 @@ static hash_algorithm_t hash_alg_from_tpm_alg_id(TPM2_ALG_ID alg)
|
||||
return HASH_SHA384;
|
||||
case TPM2_ALG_SHA512:
|
||||
return HASH_SHA512;
|
||||
case TPM2_ALG_SHA3_256:
|
||||
return HASH_SHA3_256;
|
||||
case TPM2_ALG_SHA3_384:
|
||||
return HASH_SHA3_384;
|
||||
case TPM2_ALG_SHA3_512:
|
||||
return HASH_SHA3_512;
|
||||
default:
|
||||
return HASH_UNKNOWN;
|
||||
}
|
||||
@ -722,6 +734,7 @@ METHOD(tpm_tss_t, extend_pcr, bool,
|
||||
HASH_SIZE_SHA1);
|
||||
break;
|
||||
case HASH_SHA256:
|
||||
case HASH_SHA3_256:
|
||||
if (data.len != HASH_SIZE_SHA256)
|
||||
{
|
||||
return FALSE;
|
||||
@ -730,6 +743,7 @@ METHOD(tpm_tss_t, extend_pcr, bool,
|
||||
HASH_SIZE_SHA256);
|
||||
break;
|
||||
case HASH_SHA384:
|
||||
case HASH_SHA3_384:
|
||||
if (data.len != HASH_SIZE_SHA384)
|
||||
{
|
||||
return FALSE;
|
||||
@ -738,6 +752,7 @@ METHOD(tpm_tss_t, extend_pcr, bool,
|
||||
HASH_SIZE_SHA384);
|
||||
break;
|
||||
case HASH_SHA512:
|
||||
case HASH_SHA3_512:
|
||||
if (data.len != HASH_SIZE_SHA512)
|
||||
{
|
||||
return FALSE;
|
||||
|
Loading…
x
Reference in New Issue
Block a user