Types
Secure element data types. More...
Typedefs |
|
typedef gos_result_t (* | gos_se_load_certificate_callback_t ) ( gos_certificate_type_t type, const char *name, gos_buffer_t *cert_buffer) |
Callback to retrieve certificate from a secure element.
More...
|
|
typedef int(* | gos_se_operation_callback_t ) ( gos_se_state_t state, va_list args) |
Secure Element operation callback.
More...
|
|
Enumerations |
|
enum |
gos_certificate_type_t
{
GOS_CERTIFICATE_CA_CERT , GOS_CERTIFICATE_CLIENT_CERT , GOS_CERTIFICATE_CLIENT_KEY , GOS_CERTIFICATE_TYPE_COUNT } |
TLS certificate type.
More...
|
|
enum |
gos_se_state_t
{
GOS_SE_STATE_UNKNOWN , GOS_SE_STATE_CLIENT_CERT_SIGN , GOS_SE_STATE_CLIENT_KEY_EXCHANGE , GOS_SE_STATE_SERVER_CERT_VERIFY } |
State of crypto library when operation is overridden.
More...
|
|
enum |
gos_se_operation_t
{
GOS_SE_OPERATION_ECDH_COMPUTE_SHARED , GOS_SE_OPERATION_ECDH_GEN_PUBLIC , GOS_SE_OPERATION_ECDSA_SIGN , GOS_SE_OPERATION_ECDSA_VERIFY , GOS_SE_OPERATION_COUNT } |
Operation that should be overridden by the secure element.
More...
|
|
Detailed Description
Secure element data types.
Typedef Documentation
◆ gos_se_load_certificate_callback_t
typedef gos_result_t (* gos_se_load_certificate_callback_t) ( gos_certificate_type_t type, const char *name, gos_buffer_t *cert_buffer) |
Callback to retrieve certificate from a secure element.
This callback is invoked when Gecko OS wants to read a certificate from a secure element. This occurs before a TLS connection is invoked that has a certificate filename that is prefix with
SE::
. If the certificate filename starts with
SE::
and this callback is set, then before the TLS connection is opened this callback is invoked.
The
type
parameter specifies the certificate type, see
gos_certificate_type_t
The
name
is the specified certificate filename prefixed with
SE::
.
The
cert_buffer
should be populated with an allocated (e.g.:
malloc()
) buffer containing the certificate or key in PEM or DER format.
After this callback returns Gecko OS is responsible for cleaning up the allocated buffer.
- Parameters
-
[in] type
The certificate type, see gos_certificate_type_t [in] name
The 'name' of the certificate, should start with 'SE::' [out] Buffer
to be populated the certs data pointer and length
- Returns
- GOS_SUCCESS if the cert was successfully loaded, other gos_result_t for any other error
◆ gos_se_operation_callback_t
typedef int(* gos_se_operation_callback_t) ( gos_se_state_t state, va_list args) |
Secure Element operation callback.
This is a callback that is invoked by the crypto library when a specific operation should be overridden by the SE.
The arguments to the operations are stored in a
va_list
. The standard C macro
va_arg
should be used to retrieve each argument.
- Parameters
-
[in] state
The gos_se_state_t of the crypto library when the operation is invoked [in] args
Variable list of supplied arguments
- Returns
- INT32_MAX if the operation should NOT be overridden, i.e. the callback is invoked but the crypto library should handle the operation 0 if the operation completed successfully else error code
Enumeration Type Documentation
◆ gos_certificate_type_t
◆ gos_se_operation_t
enum gos_se_operation_t |
Operation that should be overridden by the secure element.
◆ gos_se_state_t
enum gos_se_state_t |
State of crypto library when operation is overridden.