in kmsp11/util/crypto_utils.cc [185:204]
absl::StatusOr<const EVP_MD*> DigestForMechanism(CK_MECHANISM_TYPE mechanism) {
switch (mechanism) {
case CKM_SHA256:
case CKM_ECDSA_SHA256:
case CKM_SHA256_RSA_PKCS:
case CKM_SHA256_RSA_PKCS_PSS:
return EVP_sha256();
case CKM_SHA384:
case CKM_ECDSA_SHA384:
return EVP_sha384();
case CKM_SHA512:
case CKM_SHA512_RSA_PKCS:
case CKM_SHA512_RSA_PKCS_PSS:
return EVP_sha512();
default:
return NewInternalError(
absl::StrFormat("invalid digest mechanism: %#x", mechanism),
SOURCE_LOCATION);
}
}