Skip to content

Commit 0018204

Browse files
Przemyslaw Bidadleach02
authored andcommitted
net: openthread: Add new key and algorithm in PSA.
This commit adds new types of keys and algorithm to crypto_psa backend of openthread. Added options: - `OT_CRYPTO_KEY_TYPE_ECDSA` - `OT_CRYPTO_KEY_ALG_ECDSA` - `OT_CRYPTO_KEY_USAGE_VERIFY_HASH` Signed-off-by: Przemyslaw Bida <[email protected]>
1 parent c8c91c7 commit 0018204

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

modules/openthread/platform/crypto_psa.c

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ static psa_key_type_t toPsaKeyType(otCryptoKeyType aType)
4141
return PSA_KEY_TYPE_AES;
4242
case OT_CRYPTO_KEY_TYPE_HMAC:
4343
return PSA_KEY_TYPE_HMAC;
44+
case OT_CRYPTO_KEY_TYPE_ECDSA:
45+
return PSA_KEY_TYPE_ECC_KEY_PAIR(PSA_ECC_FAMILY_SECP_R1);
4446
default:
4547
return PSA_KEY_TYPE_NONE;
4648
}
@@ -53,6 +55,8 @@ static psa_algorithm_t toPsaAlgorithm(otCryptoKeyAlgorithm aAlgorithm)
5355
return PSA_ALG_ECB_NO_PADDING;
5456
case OT_CRYPTO_KEY_ALG_HMAC_SHA_256:
5557
return PSA_ALG_HMAC(PSA_ALG_SHA_256);
58+
case OT_CRYPTO_KEY_ALG_ECDSA:
59+
return PSA_ALG_DETERMINISTIC_ECDSA(PSA_ALG_SHA_256);
5660
default:
5761
/*
5862
* There is currently no constant like PSA_ALG_NONE, but 0 is used
@@ -82,16 +86,21 @@ static psa_key_usage_t toPsaKeyUsage(int aUsage)
8286
usage |= PSA_KEY_USAGE_SIGN_HASH;
8387
}
8488

89+
if (aUsage & OT_CRYPTO_KEY_USAGE_VERIFY_HASH) {
90+
usage |= PSA_KEY_USAGE_VERIFY_HASH;
91+
}
92+
8593
return usage;
8694
}
8795

8896
static bool checkKeyUsage(int aUsage)
8997
{
9098
/* Check if only supported flags have been passed */
9199
int supported_flags = OT_CRYPTO_KEY_USAGE_EXPORT |
92-
OT_CRYPTO_KEY_USAGE_ENCRYPT |
93-
OT_CRYPTO_KEY_USAGE_DECRYPT |
94-
OT_CRYPTO_KEY_USAGE_SIGN_HASH;
100+
OT_CRYPTO_KEY_USAGE_ENCRYPT |
101+
OT_CRYPTO_KEY_USAGE_DECRYPT |
102+
OT_CRYPTO_KEY_USAGE_SIGN_HASH |
103+
OT_CRYPTO_KEY_USAGE_VERIFY_HASH;
95104

96105
return (aUsage & ~supported_flags) == 0;
97106
}

0 commit comments

Comments
 (0)