Allow EC keys to be imported to TZ backend 98/295198/2
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Mon, 3 Jul 2023 12:32:23 +0000 (14:32 +0200)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Mon, 3 Jul 2023 13:24:38 +0000 (15:24 +0200)
Change-Id: I54ab75a7d30817aea1054fd13b81f2519d0bdc13

src/manager/crypto/tz-backend/internals.cpp
src/manager/crypto/tz-backend/obj.cpp

index 2cbdf23..ae8f9f8 100644 (file)
@@ -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");
index fa464f1..55a4164 100644 (file)
@@ -77,7 +77,7 @@ Token Key::unwrap(const CryptoAlgorithm &params,
                                  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;