Hanno Becker
5d5e90a610
Adapt ecdsa_verify_wrap() to new EC public key format
...
Previously, PSA used SubjectPublicKeyInfo structures to serialize EC public keys.
This has recently been changed to using ECPoint structures instead, but the wrapper
making PSA ECDSA verification available through Mbed TLS' PK API hasn't yet been
adapted accordingly - which is what this commit does.
Luckily, Mbed TLS' PK API offers two functions mbedtls_pk_write_pubkey()
and mbedtls_pk_write_pubkey_der(), the latter exporting a SubjectPublicKeyInfo
structure and the former exporting an ECPoint structure in case of EC public
keys. For the adaptation of the ECDSA wrapper ecdsa_verify_wrap() it is therefore
sufficient to use mbedtls_pk_write_pubkey() instead of mbedtls_pk_write_pubkey_der().
2019-01-28 11:41:37 +00:00
Jaeden Amero
37a8c0c144
Merge pull request #27 from hanno-arm/crypto_submodule_update_prs_6_18_19_sibling
...
PSA integration sibling: Update crypto submodule (Hash clone, Key Policy Init, Key slot alloc)
2019-01-28 11:33:28 +00:00
Oren Cohen
23a6784cb9
Update usage of PSA ITS to comply with v1.0
2019-01-27 10:19:18 +02:00
Hanno Becker
2192c27720
Update crypto submodule to sibling PR
2019-01-25 15:18:46 +00:00
Hanno Becker
2169a5e54d
PSA: Adapt pk.c, pk_wrap.c, cipher.c to new key policy init API
2019-01-25 14:36:28 +00:00
Hanno Becker
242da1e2c2
PSA: Adapt cipher.c, pk.c, pk_wrap.c to new key slot allocation API
2019-01-25 14:36:28 +00:00
Hanno Becker
330b9a4586
PSA: Adapt ssl_server2 to modified key allocation API
2019-01-25 14:36:28 +00:00
Hanno Becker
f3adecf479
PSA: Adapt ssl_server2 to hew key policy initialization API
2019-01-25 14:36:28 +00:00
Hanno Becker
2261a0ff52
PSA: Adapt ssl_client2 to new key policy initialization API
2019-01-25 14:36:28 +00:00
Hanno Becker
d74dfc2984
PSA: Adapt ssl_client2 to modified key slot allocation API
2019-01-25 14:36:28 +00:00
Hanno Becker
a814ae6f92
PSA: Adapt PK test suite to new key policy initialization API
2019-01-25 14:36:28 +00:00
Hanno Becker
fcf659b12d
PSA: Adapt PK test suite to modified key slot allocation mechanism
2019-01-25 14:36:28 +00:00
Hanno Becker
f99c2ec9d7
PSA: Adapt pk.c, pk_wrap.c, cipher.c to new key policy init API
2019-01-25 14:36:07 +00:00
Hanno Becker
e34f636f8d
PSA: Adapt cipher.c, pk.c, pk_wrap.c to new key slot allocation API
2019-01-25 14:31:06 +00:00
Hanno Becker
32809e8c70
PSA: Adapt ssl_server2 to modified key allocation API
2019-01-25 14:31:00 +00:00
Hanno Becker
9bd8842c77
PSA: Adapt ssl_server2 to hew key policy initialization API
2019-01-25 14:27:01 +00:00
Hanno Becker
1387124c89
PSA: Adapt ssl_client2 to new key policy initialization API
2019-01-25 14:26:26 +00:00
Hanno Becker
37519ea5f8
PSA: Adapt ssl_client2 to modified key slot allocation API
2019-01-25 14:26:01 +00:00
Hanno Becker
8d865dfe37
PSA: Adapt PK test suite to new key policy initialization API
2019-01-25 14:25:16 +00:00
Hanno Becker
353295ac70
PSA: Adapt PK test suite to modified key slot allocation mechanism
2019-01-25 14:25:00 +00:00
Hanno Becker
4a2949ba29
Update crypto submodule
...
Includes PRs #6 , #18 , #19 .
2019-01-25 14:23:06 +00:00
Jaeden Amero
4d69cf1a84
Merge pull request #13 from Patater/pubkey-format
...
Simplify RSA and EC public key formats
2019-01-25 10:09:40 +00:00
Andrzej Kurek
4b5686537f
Update crypto version to use new key allocation
2019-01-25 03:16:49 -05:00
Andrzej Kurek
4687ea0271
Revert .gitmodules update - point back to development
2019-01-25 03:15:37 -05:00
Gilles Peskine
eb2d4b9037
Test that HASH_ANY is not meaningful for OAEP
...
PSA_ALG_HASH_ANY is specified as meaningful only for signature.
2019-01-24 13:05:36 +01:00
Antonin Décimo
36e89b5b71
Fix #2370 , minor typos and spelling mistakes
2019-01-24 10:37:40 +01:00
Jaeden Amero
21fec0c1c5
psa: Expand documentation for psa_key_agreement()
...
Document `peer_key` parameter requirements, including an explanation of
how the peer key is used and an example for EC keys.
2019-01-23 17:39:46 +00:00
Jaeden Amero
c67200d0e6
psa: Remove extra status handling from import
...
Remove extra status handling code from psa_import_key_into_slot(). This
helps save a tiny amount of code space, but mainly serves to improve the
readability of the code.
2019-01-23 17:39:46 +00:00
Jaeden Amero
cd09d8c83a
psa: Refactor psa_import_rsa_key() pk-using code
...
Move pk-using code to inside psa_import_rsa_key(). This aligns the shape
of psa_import_rsa_key() to match that of psa_import_ec_private_key() and
psa_import_ec_public_key().
2019-01-23 17:39:46 +00:00
Jaeden Amero
ccdce90adb
psa: Simplify EC public key format
...
Remove front matter from our EC key format, to make it just the contents
of an ECPoint as defined by SEC1 section 2.3.3.
As a consequence of the simplification, remove the restriction on not
being able to use an ECDH key with ECDSA. There is no longer any OID
specified when importing a key, so we can't reject importing of an ECDH
key for the purpose of ECDSA based on the OID.
2019-01-23 17:39:46 +00:00
Jaeden Amero
97271b37c8
psa: Use psa_status_t in psa_key_agreement_ecdh()
...
Use the PSA-native status type in psa_key_agreement_ecdh() in
preparation for us calling PSA functions (and not just Mbed TLS
functions) and still being able to return a psa_status_t (without having
to translate it to a Mbed TLS error and then back again).
2019-01-23 17:31:50 +00:00
Jaeden Amero
25384a236e
psa: Simplify RSA public key format
...
Remove pkcs-1 and rsaEncryption front matter from RSA public keys. Move
code that was shared between RSA and other key types (like EC keys) to
be used only with non-RSA keys.
2019-01-23 17:31:50 +00:00
Jaeden Amero
0b6b871056
Merge pull request #22 from ARMmbed/iotssl-2697-psa-key-allocation-crypto
...
Adapting to the new PSA key slot allocation mechanism
2019-01-23 15:00:19 +00:00
Jaeden Amero
cfb7ae9318
Merge pull request #16 from itayzafrir/spm-support-crypto-handles-api
...
Support for slots to handles crypto API changes under SPM
2019-01-23 13:38:50 +00:00
Andrzej Kurek
dae1768de7
Update .gitmodules file to point to a sibling branch in mbed-crypto
2019-01-23 06:38:45 -05:00
Andrzej Kurek
54c139f141
Remove unnecessary "#" sign from PSA macros
2019-01-23 06:23:53 -05:00
Andrzej Kurek
f410a5c251
Fix indentation of documentation
2019-01-23 06:23:31 -05:00
Andrzej Kurek
e1a8187df9
pk_wrap: pass curve size instead of a larger size of the exported key
...
Whitespace fixes
2019-01-23 06:23:21 -05:00
Andrzej Kurek
1ec0fee458
pk: wrap curve_id before passing it to PSA
...
Add a helper function in PSA utils
2019-01-23 06:23:12 -05:00
Andrzej Kurek
08dfceaba4
cipher: fixed key ownership scope
...
Indicate key ownership earlier, so that it gets destroyed on faulty policy setting.
2019-01-23 06:22:42 -05:00
Andrzej Kurek
c750932f2c
Adapt to the new key allocation mechanism
2019-01-23 06:22:32 -05:00
Gilles Peskine
870f5dc656
Add missing test dependency
2019-01-23 10:42:23 +01:00
Simon Butcher
8e763329ad
Merge remote-tracking branch 'public/pr/2040' into development
2019-01-23 10:28:25 +01:00
Simon Butcher
442ca5710b
Merge remote-tracking branch 'public/pr/1375' into development
2019-01-23 10:27:05 +01:00
Simon Butcher
a3c821d143
Merge remote-tracking branch 'public/pr/2319' into development
2019-01-23 10:21:05 +01:00
Simon Butcher
38cb940692
Merge remote-tracking branch 'public/pr/2231' into development
2019-01-23 10:20:08 +01:00
Simon Butcher
0999ca3063
Merge remote-tracking branch 'public/pr/2326' into development
2019-01-23 10:19:25 +01:00
Simon Butcher
d4e327c4ff
Merge remote-tracking branch 'public/pr/2345' into development
2019-01-23 10:14:52 +01:00
Simon Butcher
d253bb49e7
Merge remote-tracking branch 'public/pr/2352' into development-psa
2019-01-23 09:43:50 +01:00
Jaeden Amero
494624d299
Merge pull request #18 from gilles-peskine-arm/psa-hash_clone
...
New function psa_hash_clone
2019-01-22 17:35:25 +00:00