Tizen Native API
|
Functions | |
int | ckmc_key_new (unsigned char *raw_key, size_t key_size, ckmc_key_type_e key_type, char *password, ckmc_key_s **ppkey) |
Creates a new ckmc_key_s handle and returns it. | |
void | ckmc_key_free (ckmc_key_s *key) |
Destroys the ckmc_key_s handle and releases all its resources. | |
int | ckmc_buffer_new (unsigned char *data, size_t size, ckmc_raw_buffer_s **ppbuffer) |
Creates a new ckmc_raw_buffer_s handle and returns it. | |
void | ckmc_buffer_free (ckmc_raw_buffer_s *buffer) |
Destroys the ckmc_raw_buffer_s handle and releases all its resources. | |
int | ckmc_cert_new (unsigned char *raw_cert, size_t cert_size, ckmc_data_format_e data_format, ckmc_cert_s **ppcert) |
Creates a new ckmc_cert_s handle and returns it. | |
void | ckmc_cert_free (ckmc_cert_s *cert) |
Destroys the #ckmc_cert handle and releases all its resources. | |
int | ckmc_load_cert_from_file (const char *file_path, ckmc_cert_s **cert) |
Creates a new ckmc_cert_s handle from a given file and returns it. | |
int | ckmc_pkcs12_new (ckmc_key_s *private_key, ckmc_cert_s *cert, ckmc_cert_list_s *ca_cert_list, ckmc_pkcs12_s **pkcs12_bundle) |
Creates a new ckmc_pkcs12_s handle and returns it. | |
int | ckmc_load_from_pkcs12_file (const char *file_path, const char *passphrase, ckmc_key_s **private_key, ckmc_cert_s **cert, ckmc_cert_list_s **ca_cert_list) |
Creates a new private_key, cert and ca_cert_list handle from a given PKCS12 file and returns them. | |
int | ckmc_pkcs12_load (const char *file_path, const char *passphrase, ckmc_pkcs12_s **pkcs12_bundle) |
Creates a new ckmc_pkcs12_s handle from a given PKCS#12 file and returns it. | |
void | ckmc_pkcs12_free (ckmc_pkcs12_s *pkcs12) |
Destroys the ckmc_pkcs12_s handle and releases all its resources. | |
int | ckmc_alias_list_new (char *alias, ckmc_alias_list_s **ppalias_list) |
Creates a new ckmc_alias_list_s handle and returns it. The alias pointer in the returned ckmc_alias_list_s handle points to the provided characters and next is null. | |
int | ckmc_alias_list_add (ckmc_alias_list_s *previous, char *alias, ckmc_alias_list_s **pplast) |
Creates a new ckmc_alias_list_s handle, adds it to a previous and returns it. The alias pointer in the returned ckmc_alias_list_s handle points to the provided characters and next is null. | |
void | ckmc_alias_list_free (ckmc_alias_list_s *first) |
Destroys the ckmc_alias_list_s handle and releases resources from the provided first handle cascadingly. | |
void | ckmc_alias_list_all_free (ckmc_alias_list_s *first) |
Destroys the ckmc_alias_list_s handle and releases all its resources from the provided first handle cascadingly. | |
int | ckmc_cert_list_new (ckmc_cert_s *cert, ckmc_cert_list_s **ppalias_list) |
Creates a new ckmc_cert_list_s handle and returns it. The cert pointer in the returned ckmc_cert_list_s handle points to the provided ckmc_cert_s and next is null. | |
int | ckmc_cert_list_add (ckmc_cert_list_s *previous, ckmc_cert_s *cert, ckmc_cert_list_s **pplast) |
Creates a new ckmc_cert_list_s handle, adds it to a previous ckmc_cert_list_s and returns it. The cert pointer in the returned ckmc_alias_list_s handle points to the provided ckmc_cert_s and next is null. | |
void | ckmc_cert_list_free (ckmc_cert_list_s *first) |
Destroys the ckmc_cert_list_s handle and releases resources from the provided first handle cascadingly. | |
void | ckmc_cert_list_all_free (ckmc_cert_list_s *first) |
Destroys the ckmc_cert_list_s handle and releases all its resources from the provided first handle cascadingly. | |
Typedefs | |
typedef enum __ckmc_key_type | ckmc_key_type_e |
Enumeration for key types of key manager. | |
typedef enum __ckmc_data_format | ckmc_data_format_e |
Enumeration for data format. | |
typedef enum __ckmc_ec_type | ckmc_ec_type_e |
Enumeration for elliptic curve. | |
typedef enum __ckmc_hash_algo | ckmc_hash_algo_e |
Enumeration for hash algorithm. | |
typedef enum __ckmc_rsa_padding_algo | ckmc_rsa_padding_algo_e |
Enumeration for RSA padding algorithm. | |
typedef enum __ckmc_access_right | ckmc_access_right_e |
Enumeration for database access rights. | |
typedef enum __ckmc_permission | ckmc_permission_e |
Enumeration for permissions to access/modify alias. | |
typedef struct __ckmc_raw_buff | ckmc_raw_buffer_s |
the structure for binary buffer used in key manager CAPI. | |
typedef struct __ckmc_policy | ckmc_policy_s |
The structure for a policy for storing key/certificate/binary data. | |
typedef struct __ckmc_key | ckmc_key_s |
The structure for key used in key manager CAPI. | |
typedef struct __ckmc_cert | ckmc_cert_s |
The structure for certificate used in key manager CAPI. | |
typedef struct __ckmc_alias_list | ckmc_alias_list_s |
The structure for linked list of alias. | |
typedef struct __ckmc_cert_list | ckmc_cert_list_s |
The structure for linked list of ckmc_cert_s. | |
typedef enum __ckmc_ocsp_status | ckmc_ocsp_status_e |
Enumeration for OCSP status. | |
typedef struct __ckmc_pkcs12 | ckmc_pkcs12_s |
The structure for PKCS12 used in key manager CAPI. |
It defines data types used in these APIs and provides utility methods handling them.
Required Header
#include <ckmc/ckmc-type.h>
Overview
It defines data types for key, certificate,raw buffer, and linked list used in these APIs. It also provides new and free methods for them.
Typedef Documentation
typedef enum __ckmc_access_right ckmc_access_right_e |
Enumeration for database access rights.
- Deprecated:
- Deprecated since 2.4. [Use ckmc_permission_e() instead]
- Since :
- 2.3
typedef struct __ckmc_alias_list ckmc_alias_list_s |
The structure for linked list of alias.
- Since :
- 2.3
typedef struct __ckmc_cert_list ckmc_cert_list_s |
The structure for linked list of ckmc_cert_s.
- Since :
- 2.3
typedef struct __ckmc_cert ckmc_cert_s |
The structure for certificate used in key manager CAPI.
- Since :
- 2.3
typedef enum __ckmc_data_format ckmc_data_format_e |
Enumeration for data format.
- Since :
- 2.3
typedef enum __ckmc_ec_type ckmc_ec_type_e |
Enumeration for elliptic curve.
- Since :
- 2.3
typedef enum __ckmc_hash_algo ckmc_hash_algo_e |
Enumeration for hash algorithm.
- Since :
- 2.3
typedef struct __ckmc_key ckmc_key_s |
The structure for key used in key manager CAPI.
- Since :
- 2.3
typedef enum __ckmc_key_type ckmc_key_type_e |
Enumeration for key types of key manager.
- Since :
- 2.3
typedef enum __ckmc_ocsp_status ckmc_ocsp_status_e |
Enumeration for OCSP status.
- Since :
- 2.4
typedef enum __ckmc_permission ckmc_permission_e |
Enumeration for permissions to access/modify alias.
- Since :
- 2.4
typedef struct __ckmc_pkcs12 ckmc_pkcs12_s |
The structure for PKCS12 used in key manager CAPI.
- Since :
- 2.4
typedef struct __ckmc_policy ckmc_policy_s |
The structure for a policy for storing key/certificate/binary data.
- Since :
- 2.3
typedef struct __ckmc_raw_buff ckmc_raw_buffer_s |
the structure for binary buffer used in key manager CAPI.
- Since :
- 2.3
typedef enum __ckmc_rsa_padding_algo ckmc_rsa_padding_algo_e |
Enumeration for RSA padding algorithm.
- Since :
- 2.3
Enumeration Type Documentation
enum __ckmc_access_right |
Enumeration for database access rights.
- Deprecated:
- Deprecated since 2.4. [Use ckmc_permission_e() instead]
- Since :
- 2.3
enum __ckmc_data_format |
enum __ckmc_ec_type |
Enumeration for elliptic curve.
- Since :
- 2.3
enum __ckmc_hash_algo |
enum __ckmc_key_type |
Enumeration for key types of key manager.
- Since :
- 2.3
enum __ckmc_ocsp_status |
Enumeration for OCSP status.
- Since :
- 2.4
- Enumerator:
enum __ckmc_permission |
enum key_manager_error_e |
Enumeration for Key Manager Errors.
- Since :
- 2.3
- Enumerator:
Function Documentation
int ckmc_alias_list_add | ( | ckmc_alias_list_s * | previous, |
char * | alias, | ||
ckmc_alias_list_s ** | pplast | ||
) |
Creates a new ckmc_alias_list_s handle, adds it to a previous and returns it. The alias pointer in the returned ckmc_alias_list_s handle points to the provided characters and next is null.
- Since :
- 2.4
- Parameters:
-
[in] previous The last ckmc_alias_list_s handle to which a newly created ckmc_alias_list_s is added [in] alias The item to be set in the newly created ckmc_alias_list_s [out] pplast The pointer to a newly created and added ckmc_alias_list_s handle
- Returns:
- CKMC_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
CKMC_ERROR_NONE Successful CKMC_ERROR_INVALID_PARAMETER Input parameter is invalid CKMC_ERROR_OUT_OF_MEMORY Not enough memory
void ckmc_alias_list_all_free | ( | ckmc_alias_list_s * | first | ) |
Destroys the ckmc_alias_list_s handle and releases all its resources from the provided first handle cascadingly.
- Since :
- 2.4
- Remarks:
- It also destroys the alias in ckmc_alias_list_s.
- Parameters:
-
[in] first The first ckmc_alias_list_s handle to destroy
- See also:
- ckmc_alias_list_free()
- ckmc_alias_list_s
void ckmc_alias_list_free | ( | ckmc_alias_list_s * | first | ) |
Destroys the ckmc_alias_list_s handle and releases resources from the provided first handle cascadingly.
- Since :
- 2.4
- Remarks:
- It does not destroy an alias itself in ckmc_alias_list_s.
- Parameters:
-
[in] first The first ckmc_alias_list_s handle to destroy
int ckmc_alias_list_new | ( | char * | alias, |
ckmc_alias_list_s ** | ppalias_list | ||
) |
Creates a new ckmc_alias_list_s handle and returns it. The alias pointer in the returned ckmc_alias_list_s handle points to the provided characters and next is null.
- Since :
- 2.4
- Remarks:
- You must destroy the newly created ppalias_list by calling ckmc_alias_list_free() or ckmc_alias_list_all_free() if it is no longer needed.
- Parameters:
-
[in] alias The first item to be set in the newly created ckmc_alias_list_s [out] ppalias_list The pointer to a newly created ckmc_alias_list_s handle
- Returns:
- CKMC_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
CKMC_ERROR_NONE Successful CKMC_ERROR_INVALID_PARAMETER Input parameter is invalid CKMC_ERROR_OUT_OF_MEMORY Not enough memory
void ckmc_buffer_free | ( | ckmc_raw_buffer_s * | buffer | ) |
Destroys the ckmc_raw_buffer_s handle and releases all its resources.
- Since :
- 2.3
- Parameters:
-
[in] buffer The ckmc_raw_buffer_s structure to destroy
int ckmc_buffer_new | ( | unsigned char * | data, |
size_t | size, | ||
ckmc_raw_buffer_s ** | ppbuffer | ||
) |
Creates a new ckmc_raw_buffer_s handle and returns it.
- Since :
- 2.4
- Remarks:
- You must destroy the newly created ppbuffer by calling ckmc_buffer_free() if it is no longer needed.
- Parameters:
-
[in] data The byte array of buffer [in] size The byte size of buffer [out] ppbuffer The pointer to a newly created #ckmc_buffer_s handle
- Returns:
- CKMC_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
CKMC_ERROR_NONE Successful CKMC_ERROR_INVALID_PARAMETER Input parameter is invalid CKMC_ERROR_OUT_OF_MEMORY Not enough memory
- See also:
- ckmc_buffer_free()
- ckmc_raw_buffer_s
void ckmc_cert_free | ( | ckmc_cert_s * | cert | ) |
Destroys the #ckmc_cert handle and releases all its resources.
- Since :
- 2.3
- Parameters:
-
[in] cert The ckmc_cert_s handle to destroy
int ckmc_cert_list_add | ( | ckmc_cert_list_s * | previous, |
ckmc_cert_s * | cert, | ||
ckmc_cert_list_s ** | pplast | ||
) |
Creates a new ckmc_cert_list_s handle, adds it to a previous ckmc_cert_list_s and returns it. The cert pointer in the returned ckmc_alias_list_s handle points to the provided ckmc_cert_s and next is null.
- Since :
- 2.4
- Parameters:
-
[in] previous The last ckmc_cert_list_s handle to which a newly created ckmc_cert_list_s is added [in] cert The item to be set in the newly created ckmc_cert_list_s [out] pplast The pointer to a newly created and added ckmc_alias_list_s handle
- Returns:
- CKMC_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
CKMC_ERROR_NONE Successful CKMC_ERROR_INVALID_PARAMETER Input parameter is invalid CKMC_ERROR_OUT_OF_MEMORY Not enough memory
void ckmc_cert_list_all_free | ( | ckmc_cert_list_s * | first | ) |
Destroys the ckmc_cert_list_s handle and releases all its resources from the provided first handle cascadingly.
- Since :
- 2.3
- Remarks:
- It also destroys ckmc_cert_s in ckmc_cert_list_s.
- Parameters:
-
[in] first The first ckmc_cert_list_s handle to destroy
- See also:
- ckmc_cert_list_free()
- ckmc_cert_list_s
void ckmc_cert_list_free | ( | ckmc_cert_list_s * | first | ) |
Destroys the ckmc_cert_list_s handle and releases resources from the provided first handle cascadingly.
- Since :
- 2.4
- Remarks:
- It does not destroy ckmc_cert_s itself in ckmc_cert_list_s.
- Parameters:
-
[in] first The first ckmc_cert_list_s handle to destroy
int ckmc_cert_list_new | ( | ckmc_cert_s * | cert, |
ckmc_cert_list_s ** | ppalias_list | ||
) |
Creates a new ckmc_cert_list_s handle and returns it. The cert pointer in the returned ckmc_cert_list_s handle points to the provided ckmc_cert_s and next is null.
- Since :
- 2.4
- Remarks:
- You must destroy the newly created ppalias_list by calling ckmc_cert_list_free() or ckmc_cert_list_all_free() if it is no longer needed.
- Parameters:
-
[in] cert The first item to be set in the newly created ckmc_cert_list_s [out] ppalias_list The pointer to a newly created ckmc_alias_list_s handle
- Returns:
- CKMC_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
CKMC_ERROR_NONE Successful CKMC_ERROR_INVALID_PARAMETER Input parameter is invalid CKMC_ERROR_OUT_OF_MEMORY Not enough memory
int ckmc_cert_new | ( | unsigned char * | raw_cert, |
size_t | cert_size, | ||
ckmc_data_format_e | data_format, | ||
ckmc_cert_s ** | ppcert | ||
) |
Creates a new ckmc_cert_s handle and returns it.
- Since :
- 2.4
- Remarks:
- You must destroy the newly created ppcert by calling ckmc_cert_free() if it is no longer needed.
- Parameters:
-
[in] raw_cert The byte array of certificate [in] cert_size The byte size of raw_cert [in] data_format The encoding format of raw_cert [out] ppcert The pointer to a newly created ckmc_cert_s handle
- Returns:
- CKMC_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
CKMC_ERROR_NONE Successful CKMC_ERROR_INVALID_PARAMETER Input parameter is invalid CKMC_ERROR_OUT_OF_MEMORY Not enough memory
void ckmc_key_free | ( | ckmc_key_s * | key | ) |
Destroys the ckmc_key_s handle and releases all its resources.
- Since :
- 2.3
- Parameters:
-
[in] key The ckmc_key_s handle to destroy
int ckmc_key_new | ( | unsigned char * | raw_key, |
size_t | key_size, | ||
ckmc_key_type_e | key_type, | ||
char * | password, | ||
ckmc_key_s ** | ppkey | ||
) |
Creates a new ckmc_key_s handle and returns it.
- Since :
- 2.4
- Remarks:
- You must destroy the newly created ppkey by calling ckmc_key_free() if it is no longer needed.
- Parameters:
-
[in] raw_key The byte array of key raw_key may be encrypted with password [in] key_size The byte size of raw_key [in] key_type The raw_key's type [in] password The byte array used to decrypt raw_key inside key manager
If raw_key is not encrypted, password can be null[out] ppkey The pointer to a newly created ckmc_key_s handle
- Returns:
- CKMC_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
CKMC_ERROR_NONE Successful CKMC_ERROR_INVALID_PARAMETER Input parameter is invalid CKMC_ERROR_OUT_OF_MEMORY Not enough memory
- See also:
- ckmc_key_free()
- ckmc_key_s
int ckmc_load_cert_from_file | ( | const char * | file_path, |
ckmc_cert_s ** | cert | ||
) |
Creates a new ckmc_cert_s handle from a given file and returns it.
- Since :
- 2.3
- Remarks:
- You must destroy the newly created cert by calling ckmc_cert_free() if it is no longer needed.
- Parameters:
-
[in] file_path The path of certificate file to be loaded
The only DER or PEM encoded certificate file is supported[out] cert The pointer of newly created ckmc_cert_s handle
- Returns:
- CKMC_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
CKMC_ERROR_NONE Successful CKMC_ERROR_OUT_OF_MEMORY Not enough memory space CKMC_ERROR_INVALID_FORMAT Invalid certificate file format CKMC_ERROR_FILE_ACCESS_DENIED Provided file does not exist or cannot be accessed
- See also:
- ckmc_cert_free()
- ckmc_cert_s
int ckmc_load_from_pkcs12_file | ( | const char * | file_path, |
const char * | passphrase, | ||
ckmc_key_s ** | private_key, | ||
ckmc_cert_s ** | cert, | ||
ckmc_cert_list_s ** | ca_cert_list | ||
) |
Creates a new private_key, cert and ca_cert_list handle from a given PKCS12 file and returns them.
- Deprecated:
- Deprecated since 2.4. [Use ckmc_pkcs12_load() instead]
- Since :
- 2.3
- Remarks:
- You must destroy the newly created private_key, cert and ca_cert_list by calling ckmc_key_free(), ckmc_cert_free() and ckmc_cert_list_all_free() if they are no longer needed.
- Parameters:
-
[in] file_path The path of PKCS12 file to be loaded [in] passphrase The passphrase used to decrypt the PCKS12 file
If PKCS12 file is not encrypted, passphrase can be null[out] private_key The pointer of newly created ckmc_key_s handle for a private key [out] cert The pointer of newly created ckmc_cert_s handle for a certificate
It is null if the PKCS12 file does not contain a certificate[out] ca_cert_list The pointer of newly created ckmc_cert_list_s handle for CA certificates
It is null if the PKCS12 file does not contain CA certificates
- Returns:
- CKMC_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
CKMC_ERROR_NONE Successful CKMC_ERROR_OUT_OF_MEMORY Not enough memory space CKMC_ERROR_INVALID_FORMAT Invalid PKCS12 file format CKMC_ERROR_FILE_ACCESS_DENIED Provided file does not exist or cannot be accessed
void ckmc_pkcs12_free | ( | ckmc_pkcs12_s * | pkcs12 | ) |
Destroys the ckmc_pkcs12_s handle and releases all its resources.
- Since :
- 2.4
- Parameters:
-
[in] pkcs12 The ckmc_pkcs12_s handle to destroy
- See also:
- ckmc_pkcs12_new()
- ckmc_pkcs12_load()
int ckmc_pkcs12_load | ( | const char * | file_path, |
const char * | passphrase, | ||
ckmc_pkcs12_s ** | pkcs12_bundle | ||
) |
Creates a new ckmc_pkcs12_s handle from a given PKCS#12 file and returns it.
- Since :
- 2.4
- Remarks:
- You must destroy the newly created pkcs12_bundle by calling ckmc_pkcs12_free() if they are no longer needed.
- Parameters:
-
[in] file_path The path of PKCS12 file to be loaded [in] passphrase The passphrase used to decrypt the PCKS12 file
If PKCS12 file is not encrypted, passphrase can be null[out] pkcs12_bundle The pointer of newly created ckmc_cert_list_s handle for CA certificates
It is null if the PKCS12 file does not contain CA certificates
- Returns:
- CKMC_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
CKMC_ERROR_NONE Successful CKMC_ERROR_OUT_OF_MEMORY Not enough memory space CKMC_ERROR_INVALID_FORMAT Invalid PKCS12 file format CKMC_ERROR_FILE_ACCESS_DENIED Provided file does not exist or cannot be accessed
- See also:
- ckmc_pkcs12_free()
- ckmc_pkcs12_s
int ckmc_pkcs12_new | ( | ckmc_key_s * | private_key, |
ckmc_cert_s * | cert, | ||
ckmc_cert_list_s * | ca_cert_list, | ||
ckmc_pkcs12_s ** | pkcs12_bundle | ||
) |
Creates a new ckmc_pkcs12_s handle and returns it.
- Since :
- 2.4
- Remarks:
- You must destroy the newly created pkcs12_bundle by calling ckmc_pkcs12_free() if it is no longer needed.
- On success, private_key, cert and ca_cert_list ownership is transferred into newly returned ckmc_pkcs12_s.
- Parameters:
-
[in] private_key ckmc_key_s handle to the private key (optional) [in] cert ckmc_cert_s handle to the certificate (optional) [in] ca_cert_list ckmc_cert_list_s list of chain certificate handles (optional) [out] pkcs12_bundle The pointer to a newly created ckmc_pkcs12_s handle
- Returns:
- CKMC_ERROR_NONE on success, otherwise a negative error value
- Return values:
-
CKMC_ERROR_NONE Successful CKMC_ERROR_INVALID_PARAMETER Input parameter is invalid or private_key, cert and ca_cert_list all are null CKMC_ERROR_OUT_OF_MEMORY Not enough memory
Variable Documentation
char const* const ckmc_label_name_separator |
Sperator between alias and label.
- Since :
- 2.3
- Remarks:
- Alias can be provided as an alias alone, or together with label - in this case, separator " " (space bar) is used to separate label and alias.
- See also:
- key-manager_doc.h