tree 67f9bb7e15bb0fc8f3107833659e5680500e8ee6
parent a1ace9c4948612357ee6db31473d8caa7d5ce8ff
author Gilles Peskine <Gilles.Peskine@arm.com> 1556287562 +0200
committer Gilles Peskine <Gilles.Peskine@arm.com> 1556293028 +0200

Switch psa_{get,set}_domain_parameters to attributes

Change psa_get_domain_parameters() and psa_set_domain_parameters() to
access a psa_key_attributes_t structure rather than a key handle.

In psa_get_key_attributes(), treat the RSA public exponent as a domain
parameter and read it out. This is in preparation for removing the
`extra` parameter of psa_generate_key() and setting the RSA public
exponent for key generation via domain parameters.

In this commit, the default public exponent 65537 is not treated
specially, which allows us to verify that test code that should be
calling psa_reset_key_attributes() after retrieving the attributes of
an RSA key is doing so properly (if it wasn't, there would be a memory
leak), even if the test data happens to use an RSA key with the
default public exponent.
