From 4252bcf8916799a4b1c914d7f137001e5c06f1ea Mon Sep 17 00:00:00 2001 From: Krzysztof Jackiewicz Date: Mon, 3 Jul 2023 14:32:23 +0200 Subject: [PATCH] Allow EC keys to be imported to TZ backend Change-Id: I54ab75a7d30817aea1054fd13b81f2519d0bdc13 --- src/manager/crypto/tz-backend/internals.cpp | 2 ++ src/manager/crypto/tz-backend/obj.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/manager/crypto/tz-backend/internals.cpp b/src/manager/crypto/tz-backend/internals.cpp index 2cbdf23..ae8f9f8 100644 --- a/src/manager/crypto/tz-backend/internals.cpp +++ b/src/manager/crypto/tz-backend/internals.cpp @@ -95,8 +95,10 @@ tz_data_type toTzDataType(const CKM::DataType dataType) { case CKM::DataType::KEY_AES: return TYPE_SKEY; case CKM::DataType::KEY_DSA_PRIVATE: return TYPE_AKEY_PRIVATE_DSA; case CKM::DataType::KEY_RSA_PRIVATE: return TYPE_AKEY_PRIVATE_RSA; + case CKM::DataType::KEY_ECDSA_PRIVATE: return TYPE_AKEY_PRIVATE_EC; case CKM::DataType::KEY_DSA_PUBLIC: return TYPE_AKEY_PUBLIC_DSA; case CKM::DataType::KEY_RSA_PUBLIC: return TYPE_AKEY_PUBLIC_RSA; + case CKM::DataType::KEY_ECDSA_PUBLIC: return TYPE_AKEY_PUBLIC_EC; default: ThrowErr(CKM::Exc::Crypto::DataTypeNotSupported, "Data type could not be imported by tz-backend"); diff --git a/src/manager/crypto/tz-backend/obj.cpp b/src/manager/crypto/tz-backend/obj.cpp index fa464f1..55a4164 100644 --- a/src/manager/crypto/tz-backend/obj.cpp +++ b/src/manager/crypto/tz-backend/obj.cpp @@ -77,7 +77,7 @@ Token Key::unwrap(const CryptoAlgorithm ¶ms, const RawBuffer &hash) { - if (!encryptedKey.type.isKey() || encryptedKey.type.isEllipticCurve()) + if (!encryptedKey.type.isKey()) ThrowErr(Exc::Crypto::DataTypeNotSupported, "Invalid data provided for import"); RawBuffer passIV; -- 2.7.4