e584ccb6fd
Merge remote-tracking branch 'psa/pr/57' into feature-psa
2018-09-12 16:24:50 +03:00
e9a0a9d74d
Update documentation of psa_success_t
...
Now that the type is not an enum, explain what values are valid.
Also add a comment to explain the #if defined(PSA_SUCCESS) temporary hack.
2018-09-12 16:24:50 +03:00
c2a7976886
PSA Crypto error code definitions
...
Removed the psa_status_t enum and defined error codes as defines.
Conditionally defining PSA_SUCCESS and psa_status_t.
2018-09-12 16:24:50 +03:00
48c0ea14c6
Remove PSA_KEY_TYPE_IS_RAW_BYTES from crypto.h
...
It isn't used to define other macros and it doesn't seem that useful
for users. Remove it, we can reintroduce it if needed.
Define a similar function key_type_is_raw_bytes in the implementation
with a clear semantics: it's a key that's represented as a struct
raw_data.
2018-09-12 16:24:50 +03:00
4e69d7a9a7
psa_generate_key: pass parameters_size argument
...
When calling psa_generate_key, pass the size of the parameters buffer
explicitly. This makes calls more verbose but less error-prone. This
also has the benefit that in an implementation with separation, the
frontend knows how many bytes to send to the backend without needing
to know about each key type.
2018-09-12 16:22:51 +03:00
e1fed0de18
Define elliptic curve identifiers from TLS
...
Instead of rolling our own list of elliptic curve identifiers, use one
from somewhere. Pick TLS because it's the right size (16 bits) and
it's as good as any.
2018-09-12 16:19:04 +03:00
2d2778650b
Normalize whitespace
...
Normalize whitespace to Mbed TLS standards. There are only whitespace
changes in this commit.
2018-09-12 16:15:52 +03:00
6de7a179c8
Fix file permissions
...
Some files were marked as executable but shouldn't have been.
2018-09-12 16:13:49 +03:00
8605428dcf
Merge remote-tracking branch 'psa/pr/27' into feature-psa
2018-09-05 12:46:19 +03:00
625b01c9c3
Add OAEP placeholders in asymmetric encrypt/decrypt
...
Replace PSS placeholders by OAEP placeholders. PSS is a signature
algorithm, not an encryption algorithm.
Fix typo in PSA_ALG_IS_RSA_OAEP_MGF1.
2018-09-05 12:44:17 +03:00
723feffe15
Fix some errors in PSA_ASYMMETRIC_DECRYPT_OUTPUT_SIZE
...
A call to PSA_ASYMMETRIC_DECRYPT_OUTPUT_SIZE wouldn't even have
compiled. Fix some obvious errors. This is still untested.
2018-09-05 12:44:17 +03:00
d6125ca63b
Merge remote-tracking branch 'psa/pr/24' into feature-psa
2018-09-05 12:41:53 +03:00
3585596aec
Document a few more macros
2018-09-05 12:41:52 +03:00
84861a95ca
Merge remote-tracking branch 'psa/psa-wrapper-apis-aead' into feature-psa
2018-09-05 12:41:52 +03:00
154bd95131
psa_destroy_key: return SUCCESS on an empty slot
...
Do wipe the slot even if it doesn't contain a key, to erase any metadata.
2018-09-05 12:41:52 +03:00
5e39dc96e0
New macro PSA_AEAD_TAG_SIZE, use it for PSA_AEAD_xxx_OUTPUT_SIZE
2018-09-05 12:41:52 +03:00
71bb7b77f0
Switch PSA_HASH_FINAL_SIZE to PSA_HASH_SIZE
...
Make this macro work on derived algorithms as well (HMAC,
hash-and-sign, etc.).
2018-09-05 12:41:52 +03:00
212e4d8f7c
Improve documentation of PSA_AEAD_xxx_OUTPUT_SIZE
2018-09-05 12:41:52 +03:00
65eb8588fe
Expand the description of error codes
2018-09-05 12:41:52 +03:00
1347a73fbe
fix macros documentation style.
2018-09-05 12:41:52 +03:00
fb5b9cbb8d
add missing documentations
2018-09-05 12:41:52 +03:00
22898ba0bd
remove duplicated definition
2018-09-05 12:41:51 +03:00
36a74b71a0
Fix Doxygen comments to pass clang -Wdocumentation
2018-09-05 12:41:51 +03:00
1e7d8f1b09
Document AEAD functions
...
Write documentation for psa_aead_encrypt and psa_aead_decrypt. Define
macros PSA_AEAD_ENCRYPT_OUTPUT_SIZE and PSA_AEAD_DECRYPT_OUTPUT_SIZE
(untested).
2018-09-05 12:41:51 +03:00
dad36fa855
add Key and Algorithm validation
2018-09-05 12:38:18 +03:00
579d359007
remove psa_aead_encrypt_setup from header file
...
remove psa_aead_encrypt_setup from header file
2018-09-05 12:38:18 +03:00
3aa8efb230
Merge remote-tracking branch 'psa/psa-wrapper-apis-march-12' into feature-psa
2018-09-05 12:38:17 +03:00
39ee871d3f
Change AEAD APIs to integrated AEAD APIs.
...
Change AEAD APIs to integrated AEAD APIs, this will allow t support CCM and
GCM algorithms.
2018-09-05 12:38:17 +03:00
bed71a2b17
fix missing check on output_size in psa_cipher_finish func
2018-09-05 12:14:28 +03:00
0071b873a3
add missing parameter output_size on psa_cipher_finish
2018-09-05 12:14:28 +03:00
e1210dcac3
remove unused parameter in psa_cipher_finish.
2018-09-05 12:14:28 +03:00
8481e74ecc
CR fixes
...
more fixes
Compilation fixes
Compilation fixes for PSA crypto code and tests
2018-09-05 12:14:28 +03:00
efb0107fbe
CR fix, remove exposing ECB
2018-09-05 12:14:27 +03:00
990a18c2f0
add ecb to cipher algorithms
2018-09-05 12:14:27 +03:00
d1e8e41737
Adapt older import_export test data to the new function signature
2018-09-05 12:13:23 +03:00
5100318a92
Merge pull request #18 from ARMmbed/psa-wrapper-apis-export-publickey
...
Export public key implementation (#18 )
2018-09-05 12:13:23 +03:00
8275961178
warnings fixes
2018-09-05 12:13:23 +03:00
503973bdf3
initial implementation for PSA symmetric APIs - missing tests and documentations
2018-09-05 12:13:23 +03:00
b4d0ddd2d3
psa_export_public_key
2018-09-05 12:13:20 +03:00
dd4ea38d58
export public key
2018-09-05 12:10:47 +03:00
5c7533923a
ECDSA sign and verify implementation and tests
...
ECDSA sign and verify implementation and tests
2018-09-05 12:10:47 +03:00
a0655c3501
Merge remote-tracking branch 'psa/pr/13' into feature-psa
...
Conflicts:
library/psa_crypto.c
tests/suites/test_suite_psa_crypto.data
tests/suites/test_suite_psa_crypto.function
All the conflicts are concurrent additions where the order doesn't
matter. I put the code from feature-psa (key policy) before the code
from PR #13 (key lifetime).
2018-09-05 12:10:43 +03:00
f0c9dd37d2
Added possible error codes for lifetime functions
2018-09-05 12:01:38 +03:00
9bb53d7aff
Fix copypasta in lifetime function descriptions
2018-09-05 12:01:38 +03:00
8ca560293b
Whitespace fixes
2018-09-05 12:01:37 +03:00
a7d245a4a2
Fix return error values description
...
Fix return PSA_ERROR_INVALID_ARGUMENT description for psa_set_key_lifetime()
and psa_get_key_lifetime()
2018-09-05 12:01:37 +03:00
ea0500936e
Change behavior of psa_get_key_lifetime()
...
psa_get_key_lifetime() behavior changed regarding empty slots, now
it return the lifetime of and empty slots. Documentation in header
file updated accordingly.
2018-09-05 12:01:37 +03:00
1c34545cfe
Remove usage of PSA_KEY_LIFETIME_NONE
...
Remove usage of PSA_KEY_LIFETIME_NONE, initiate all key slot to
PSA_KEY_LIFETIME_VOLATILE ini psa_crypto_init()
2018-09-05 12:01:37 +03:00
ba178511f4
Remove unused and duplicated erros, fix documentation and tests
...
Remove unused and duplicated erros, fix documentation and tests
2018-09-05 12:01:37 +03:00
804cd71bf8
initial key lifetime implementation and tests
2018-09-05 12:01:37 +03:00