mirror of
https://github.com/stefanberger/libtpms
synced 2026-08-08 11:56:52 +00:00
tpm2: Allow to runtime-disable ECMQV
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
This commit is contained in:
parent
289611fada
commit
c6e4785063
@ -139,7 +139,7 @@ static const struct {
|
||||
[TPM_ALG_ECDAA] = OTHER(ALG_ECDAA, "ecdaa", false, 1),
|
||||
[TPM_ALG_SM2] = SIGNING(ALG_SM2, "sm2", false, 1),
|
||||
[TPM_ALG_ECSCHNORR] = SIGNING(ALG_ECSCHNORR, "ecschnorr", false, 1),
|
||||
[TPM_ALG_ECMQV] = OTHER(ALG_ECMQV, "ecmqv", false, 1),
|
||||
[TPM_ALG_ECMQV] = OTHER(ALG_ECMQV, "ecmqv", true, 1),
|
||||
[TPM_ALG_KDF1_SP800_56A] = HASH(ALG_KDF1_SP800_56A, "kdf1-sp800-56a", false, 1),
|
||||
[TPM_ALG_KDF2] = HASH(ALG_KDF2, "kdf2", false, 1),
|
||||
[TPM_ALG_KDF1_SP800_108] = HASH(ALG_KDF1_SP800_108, "kdf1-sp800-108", false, 1),
|
||||
|
||||
@ -1492,6 +1492,10 @@ TPMI_ECC_KEY_EXCHANGE_Unmarshal(TPMI_ECC_KEY_EXCHANGE *target, BYTE **buffer, IN
|
||||
#if ALG_SM2
|
||||
case TPM_ALG_SM2:
|
||||
#endif
|
||||
if (!RuntimeAlgorithmCheckEnabled(&g_RuntimeProfile.RuntimeAlgorithm, // libtpms added begin
|
||||
*target)) {
|
||||
rc = TPM_RC_SCHEME;
|
||||
} // libtpms added end
|
||||
break;
|
||||
case TPM_ALG_NULL:
|
||||
if (allowNull) {
|
||||
@ -1499,9 +1503,11 @@ TPMI_ECC_KEY_EXCHANGE_Unmarshal(TPMI_ECC_KEY_EXCHANGE *target, BYTE **buffer, IN
|
||||
}
|
||||
default:
|
||||
rc = TPM_RC_SCHEME;
|
||||
*target = orig_target; // libtpms added
|
||||
}
|
||||
}
|
||||
if (rc != TPM_RC_SUCCESS) { // libtpms added begin
|
||||
*target = orig_target;
|
||||
} // libtpms added end
|
||||
return rc;
|
||||
}
|
||||
|
||||
@ -3879,6 +3885,9 @@ TPMI_ALG_ECC_SCHEME_Unmarshal(TPMI_ALG_ECC_SCHEME *target, BYTE **buffer, INT32
|
||||
#if ALG_ECMQV
|
||||
case TPM_ALG_ECMQV:
|
||||
#endif
|
||||
if (!RuntimeAlgorithmCheckEnabled(&g_RuntimeProfile.RuntimeAlgorithm, *target)) { // libtpms added begin
|
||||
rc = TPM_RC_SCHEME;
|
||||
} // libtpms added end
|
||||
break;
|
||||
case TPM_ALG_NULL:
|
||||
if (allowNull) {
|
||||
@ -3886,9 +3895,11 @@ TPMI_ALG_ECC_SCHEME_Unmarshal(TPMI_ALG_ECC_SCHEME *target, BYTE **buffer, INT32
|
||||
}
|
||||
default:
|
||||
rc = TPM_RC_SCHEME;
|
||||
*target = orig_target; // libtpms added
|
||||
}
|
||||
}
|
||||
if (rc != TPM_RC_SUCCESS) { // libtpms added begin
|
||||
*target = orig_target;
|
||||
} // libtpms added end
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user