add @since_tizen 3.0 in yaca api header files 89/71289/16
authorsangsu <sangsu.choi@samsung.com>
Wed, 25 May 2016 02:36:27 +0000 (11:36 +0900)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Fri, 27 May 2016 08:31:35 +0000 (01:31 -0700)
Change-Id: I77736606ae86c6180e4eb0221610e03cc9abb9e5
Signed-off-by: sangsu <sangsu.choi@samsung.com>
12 files changed:
api/yaca/crypto.h
api/yaca/digest.h
api/yaca/encrypt.h
api/yaca/error.h [changed mode: 0644->0755]
api/yaca/key.h [changed mode: 0644->0755]
api/yaca/seal.h
api/yaca/sign.h
api/yaca/simple.h
api/yaca/types.h
packaging/yaca.spec
src/CMakeLists.txt
src/key.c [changed mode: 0644->0755]

index 76a2897..5a44a9d 100644 (file)
@@ -41,12 +41,16 @@ extern "C" {
 
 /**
  * @brief  NULL value for the crypto context.
+ *
+ * @since_tizen 3.0
  */
 #define YACA_CTX_NULL ((yaca_ctx_h) NULL)
 
 /**
  * @brief  Initializes the library. Must be called before any other crypto function.
  *
+ * @since_tizen 3.0
+ *
  * @return 0 on success, negative on error.
  * @see yaca_exit()
  */
@@ -55,6 +59,8 @@ int yaca_init(void);
 /**
  * @brief  Closes the library. Must be called before exiting the application.
  *
+ * @since_tizen 3.0
+ *
  * @see yaca_init()
  */
 void yaca_exit(void);
@@ -62,6 +68,8 @@ void yaca_exit(void);
 /**
  * @brief  Allocates the memory.
  *
+ * @since_tizen 3.0
+ *
  * @param[in] size  Size of the allocation (bytes).
  *
  * @return NULL on failure, pointer to allocated memory otherwise.
@@ -72,6 +80,8 @@ void *yaca_malloc(size_t size);
 /**
  * @brief  Allocates the zeroed memory.
  *
+ * @since_tizen 3.0
+ *
  * @param[in] size  Size of the allocation (bytes).
  *
  * @return NULL on failure, pointer to allocated and zeroed memory otherwise.
@@ -82,6 +92,8 @@ void *yaca_zalloc(size_t size);
 /**
  * @brief  Re-allocates the memory.
  *
+ * @since_tizen 3.0
+ *
  * @param[in] addr  Address of the memory to be reallocated.
  * @param[in] size  Size of the new allocation (bytes).
  *
@@ -94,6 +106,8 @@ void *yaca_realloc(void *addr, size_t size);
  * @brief  Frees the memory allocated by yaca_malloc(), yaca_zalloc(),
  *         yaca_realloc() or one of the cryptographic operations.
  *
+ * @since_tizen 3.0
+ *
  * @param[in] ptr  Pointer to the memory to be freed.
  * @see yaca_malloc(), yaca_zalloc(), yaca_realloc()
  *
@@ -103,6 +117,8 @@ void yaca_free(void *ptr);
 /**
  * @brief  Generates random data.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] data      Pointer to the memory to be randomized.
  * @param[in]     data_len  Length of the memory to be randomized.
  *
@@ -114,6 +130,8 @@ int yaca_rand_bytes(char *data, size_t data_len);
  * @brief  Sets the extended context parameters. Can only be called on an
  *         initialized context.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx        Previously initialized crypto context.
  * @param[in]     param      Parameter to be set.
  * @param[in]     value      Parameter value.
@@ -131,6 +149,8 @@ int yaca_ctx_set_param(yaca_ctx_h ctx,
  * @brief  Returns the extended context parameters. Can only be called on an
  *         initialized context.
  *
+ * @since_tizen 3.0
+ *
  * @param[in]  ctx        Previously initialized crypto context.
  * @param[in]  param      Parameter to be read.
  * @param[out] value      Copy of the parameter value (must be freed with yaca_free()).
@@ -148,6 +168,8 @@ int yaca_ctx_get_param(const yaca_ctx_h ctx,
  * @brief  Destroys the crypto context. Must be called on all contexts that are
  *         no longer used. Passing YACA_CTX_NULL is allowed.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx  Crypto context.
  * @see #yaca_ctx_h
  *
@@ -158,6 +180,8 @@ void yaca_ctx_free(yaca_ctx_h ctx);
  * @brief  Returns the output length for a given algorithm. Can only be called
  *         on an initialized context.
  *
+ * @since_tizen 3.0
+ *
  * @param[in] ctx         Previously initialized crypto context.
  * @param[in] input_len   Length of the input data to be processed.
  * @param[in] output_len  Required length of the output.
@@ -168,22 +192,30 @@ int yaca_get_output_length(const yaca_ctx_h ctx, size_t input_len, size_t *outpu
 
 /**
  * @brief  Wrapper - returns the length of the digest (for a given context).
+ *
+ * @since_tizen 3.0
  */
 #define yaca_get_digest_length(ctxa, output_len) yaca_get_output_length((ctxa), 0, (output_len))
 
 /**
  * @brief  Wrapper - returns the length of the signature (for a given context).
+ *
+ * @since_tizen 3.0
  */
 #define yaca_get_sign_length(ctxa, output_len) yaca_get_output_length((ctxa), 0, (output_len))
 
 /**
  * @brief  Wrapper - returns the length of the block (for a given context).
+ *
+ * @since_tizen 3.0
  */
 #define yaca_get_block_length(ctxa, output_len) yaca_get_output_length((ctxa), 0, (output_len))
 
 /**
  * @brief  Safely compares first @b len bytes of two buffers.
  *
+ * @since_tizen 3.0
+ *
  * @param[in]  first  Pointer to the first buffer.
  * @param[in]  second Pointer to the second buffer.
  * @param[in]  len    Length to compare.
index 5e3aa0d..1938360 100644 (file)
@@ -42,6 +42,8 @@ extern "C" {
 /**
  * @brief  Initializes a digest context.
  *
+ * @since_tizen 3.0
+ *
  * @param[out] ctx   Newly created context (must be freed with yaca_ctx_free()).
  * @param[in]  algo  Digest algorithm that will be used.
  *
@@ -53,6 +55,8 @@ int yaca_digest_init(yaca_ctx_h *ctx, yaca_digest_algo_e algo);
 /**
  * @brief  Feeds the data into the message digest algorithm.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx       Context created by yaca_digest_init().
  * @param[in]     data      Data from which the digest is to be calculated.
  * @param[in]     data_len  Length of the data.
@@ -65,6 +69,8 @@ int yaca_digest_update(yaca_ctx_h ctx, const char *data, size_t data_len);
 /**
  * @brief  Calculates the final digest.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx         A valid digest context.
  * @param[out]    digest      Buffer for the message digest (must be allocated by client,
  *                            see yaca_get_digest_length()).
index 7e81d9b..cc07262 100644 (file)
@@ -44,6 +44,8 @@ extern "C" {
 /**
  * @brief  Initializes an encryption context.
  *
+ * @since_tizen 3.0
+ *
  * @param[out] ctx      Newly created context (must be freed with yaca_ctx_free()).
  * @param[in]  algo     Encryption algorithm that will be used.
  * @param[in]  bcm      Chaining mode that will be used.
@@ -62,6 +64,8 @@ int yaca_encrypt_init(yaca_ctx_h *ctx,
 /**
  * @brief  Encrypts chunk of the data.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx         Context created by yaca_encrypt_init().
  * @param[in]     plain       Plain text to be encrypted.
  * @param[in]     plain_len   Length of the plain text.
@@ -81,6 +85,8 @@ int yaca_encrypt_update(yaca_ctx_h ctx,
 /**
  * @brief  Encrypts the final chunk of the data.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx         A valid encrypt context.
  * @param[out]    cipher      Final piece of the encrypted data (must be allocated by client, see
  *                            yaca_get_block_length()).
@@ -96,6 +102,8 @@ int yaca_encrypt_final(yaca_ctx_h ctx,
 /**
  * @brief  Initializes an decryption context.
  *
+ * @since_tizen 3.0
+ *
  * @param[out] ctx      Newly created context (must be freed with yaca_ctx_free()).
  * @param[in]  algo     Encryption algorithm that was used to encrypt the data.
  * @param[in]  bcm      Chaining mode that was used to encrypt the data.
@@ -114,6 +122,8 @@ int yaca_decrypt_init(yaca_ctx_h *ctx,
 /**
  * @brief  Decrypts chunk of the data.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx         Context created by yaca_decrypt_init().
  * @param[in]     cipher      Cipher text to be decrypted.
  * @param[in]     cipher_len  Length of the cipher text.
@@ -133,6 +143,8 @@ int yaca_decrypt_update(yaca_ctx_h ctx,
 /**
  * @brief  Decrypts the final chunk of the data.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx        A valid decrypt context.
  * @param[out]    plain      Final piece of the decrypted data (must be allocated by client, see
  *                           yaca_get_block_length()).
@@ -148,8 +160,10 @@ int yaca_decrypt_final(yaca_ctx_h ctx,
 /**
  * @brief  Returns the recomended/default length of the IV for a given encryption configuration.
  *
- * If returned iv_bits equals 0 that means that for this
- * specific algorithm and its parameters IV is not used.
+ * @since_tizen 3.0
+ *
+ * @remarks If returned iv_bits equals 0 that means that for this
+ *          specific algorithm and its parameters IV is not used.
  *
  * @param[in]  algo      Encryption algorithm.
  * @param[in]  bcm       Chain mode.
old mode 100644 (file)
new mode 100755 (executable)
index 8aa150b..26f1979
 #ifndef YACA_ERROR_H
 #define YACA_ERROR_H
 
+#include <tizen.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+
+#define TIZEN_ERROR_YACA -0x01E30000
+
 /**
  * @defgroup  Error  Yet another Crypto API - error enums.
  *
@@ -35,17 +40,20 @@ extern "C" {
  */
 
 /**
- *  @brief Error enums
+ * @brief Error enums
+ *
+ * @since_tizen 3.0
  */
 enum __yaca_error_code {
-       YACA_ERROR_NONE               =  0,
-       YACA_ERROR_INVALID_ARGUMENT   = -1,
-       YACA_ERROR_NOT_IMPLEMENTED    = -2,
-       YACA_ERROR_INTERNAL           = -3,
-       YACA_ERROR_TOO_BIG_ARGUMENT   = -4,
-       YACA_ERROR_OUT_OF_MEMORY      = -5,
-       YACA_ERROR_DATA_MISMATCH      = -6,
-       YACA_ERROR_PASSWORD_INVALID   = -7
+       YACA_ERROR_NONE               = TIZEN_ERROR_NONE,
+       YACA_ERROR_INVALID_ARGUMENT   = TIZEN_ERROR_INVALID_PARAMETER,
+
+       YACA_ERROR_NOT_IMPLEMENTED    = TIZEN_ERROR_YACA | 0x01,
+       YACA_ERROR_INTERNAL           = TIZEN_ERROR_YACA | 0x02,
+       YACA_ERROR_TOO_BIG_ARGUMENT   = TIZEN_ERROR_YACA | 0x03,
+       YACA_ERROR_OUT_OF_MEMORY      = TIZEN_ERROR_YACA | 0x04,
+       YACA_ERROR_DATA_MISMATCH      = TIZEN_ERROR_YACA | 0x05,
+       YACA_ERROR_PASSWORD_INVALID   = TIZEN_ERROR_YACA | 0x06
 };
 
 /**@}*/
old mode 100644 (file)
new mode 100755 (executable)
index e020171..e03834d
@@ -46,6 +46,8 @@ extern "C" {
 /**
  * @brief  Get key's type.
  *
+ * @since_tizen 3.0
+ *
  * @param[in]  key       Key which type we return.
  * @param[out] key_type  Key type.
  *
@@ -56,6 +58,8 @@ int yaca_key_get_type(const yaca_key_h key, yaca_key_type_e *key_type);
 /**
  * @brief  Get key's length (in bits).
  *
+ * @since_tizen 3.0
+ *
  * @param[in]  key       Key which length we return.
  * @param[out] key_bits  Key length in bits.
  *
@@ -66,21 +70,23 @@ int yaca_key_get_bits(const yaca_key_h key, size_t *key_bits);
 /**
  * @brief  Imports a key.
  *
- * This function imports a key trying to match it to the key_type specified.
- * It should autodetect both, key format and file format.
+ * @since_tizen 3.0
  *
- * For symmetric, IV and DES keys RAW binary format and BASE64 encoded
- * binary format are supported.
- * For asymmetric keys PEM and DER file formats are supported.
+ * @remarks This function imports a key trying to match it to the key_type specified.
+ *          It should autodetect both, key format and file format.
  *
- * Asymmetric keys can be in PKCS#1 or SSleay key formats (for RSA and
- * DSA respectively). Asymmetric private keys can also be in PKCS#8
- * format. Additionally it is possible to import public RSA key from
- * X509 certificate.
+ *          For symmetric, IV and DES keys RAW binary format and BASE64 encoded
+ *          binary format are supported.
+ *          For asymmetric keys PEM and DER file formats are supported.
  *
- * If the key is encrypted the algorithm will be autodetected and password
- * used. If it's not known if the key is encrypted one should pass NULL as
- * password and check for the YACA_ERROR_PASSWORD_INVALID return code.
+ *          Asymmetric keys can be in PKCS#1 or SSleay key formats (for RSA and
+ *          DSA respectively). Asymmetric private keys can also be in PKCS#8
+ *          format. Additionally it is possible to import public RSA key from
+ *          X509 certificate.
+ *
+ *          If the key is encrypted the algorithm will be autodetected and password
+ *          used. If it's not known if the key is encrypted one should pass NULL as
+ *          password and check for the YACA_ERROR_PASSWORD_INVALID return code.
  *
  * @param[out] key       Returned key (must be freed with yaca_key_free()).
  * @param[in]  key_type  Type of the key.
@@ -101,24 +107,26 @@ int yaca_key_import(yaca_key_h *key,
 /**
  * @brief  Exports a key to arbitrary format. Export may fail if key is HW-based.
  *
- * This function exports the key to an arbitrary key format and key file format.
+ * @since_tizen 3.0
+ *
+ * @remarks This function exports the key to an arbitrary key format and key file format.
  *
- * For key formats two values are allowed:
- * - #YACA_KEY_FORMAT_DEFAULT: this is the only option possible in case of symmetric keys (or IV),
- *                            for asymmetric keys it will choose PKCS#1 for RSA and SSLeay for DSA.
- * - #YACA_KEY_FORMAT_PKCS8:   this will only work for private asymmetric keys.
+ *          For key formats two values are allowed:
+ *          - #YACA_KEY_FORMAT_DEFAULT: this is the only option possible in case of symmetric keys (or IV),
+ *                                      for asymmetric keys it will choose PKCS#1 for RSA and SSLeay for DSA.
+ *          - #YACA_KEY_FORMAT_PKCS8: this will only work for private asymmetric keys.
  *
- * The following file formats are supported:
- * - #YACA_KEY_FILE_FORMAT_RAW:    used only for symmetric, raw binary format
- * - #YACA_KEY_FILE_FORMAT_BASE64: used only for symmetric, BASE64 encoded binary form
- * - #YACA_KEY_FILE_FORMAT_PEM:    used only for asymmetric, PEM file format
- * - #YACA_KEY_FILE_FORMAT_DER:    used only for asymmetric, DER file format
+ *          The following file formats are supported:
+ *          - #YACA_KEY_FILE_FORMAT_RAW:    used only for symmetric, raw binary format
+ *          - #YACA_KEY_FILE_FORMAT_BASE64: used only for symmetric, BASE64 encoded binary form
+ *          - #YACA_KEY_FILE_FORMAT_PEM:    used only for asymmetric, PEM file format
+ *          - #YACA_KEY_FILE_FORMAT_DER:    used only for asymmetric, DER file format
  *
- * If no password is provided the exported key will be unencrypted. Only private
- * RSA/DSA exported as PEM can be encrypted.
+ *          If no password is provided the exported key will be unencrypted. Only private
+ *          RSA/DSA exported as PEM can be encrypted.
  *
- * TODO: document the default encryption algorithm (AES256 for FORMAT_DEFAULT,
- * unknown yet for the FORMAT_PKCS8)
+ *          TODO:document the default encryption algorithm (AES256 for FORMAT_DEFAULT,
+ *          unknown yet for the FORMAT_PKCS8).
  *
  * @param[in]  key           Key to be exported.
  * @param[in]  key_fmt       Format of the key.
@@ -141,7 +149,9 @@ int yaca_key_export(const yaca_key_h key,
 /**
  * @brief  Generates a secure key (or an initialization vector).
  *
- * This function is used to generate symmetric and private asymmetric keys.
+ * @since_tizen 3.0
+ *
+ * @remarks This function is used to generate symmetric and private asymmetric keys.
  *
  * @param[out] key       Newly generated key (must be freed with yaca_key_free()).
  * @param[in]  key_type  Type of the key to be generated.
@@ -157,6 +167,8 @@ int yaca_key_gen(yaca_key_h *key,
 /**
  * @brief  Extracts public key from a private one.
  *
+ * @since_tizen 3.0
+ *
  * @param[in]  prv_key   Private key to extract the public one from.
  * @param[out] pub_key   Extracted public key (must be freed with yaca_key_free()).
  *
@@ -168,6 +180,8 @@ int yaca_key_extract_public(const yaca_key_h prv_key, yaca_key_h *pub_key);
 /**
  * @brief  Frees the key created by the library. Passing YACA_KEY_NULL is allowed.
  *
+ * @since_tizen 3.0
+ *
  * @param key  Key to be freed.
  * @see yaca_key_import(), yaca_key_export(), yaca_key_gen()
  *
@@ -221,6 +235,8 @@ int yaca_key_derive_kea(const yaca_key_h prv_key,
 /**
  * @brief  Derives a key from user password (PKCS #5 a.k.a. pbkdf2 algorithm).
  *
+ * @since_tizen 3.0
+ *
  * @param[in]  password  User password as a NULL-terminated string.
  * @param[in]  salt      Salt, should be non-zero.
  * @param[in]  salt_len  Length of the salt.
index 4f7b2fa..bbf4ee7 100644 (file)
@@ -46,6 +46,8 @@ extern "C" {
 /**
  * @brief  Initializes an asymmetric encryption context.
  *
+ * @since_tizen 3.0
+ *
  * @param[out] ctx           Newly created context (must be freed with yaca_ctx_free()).
  * @param[in]  pub_key       Public key of the peer that will receive the encrypted data.
  * @param[in]  algo          Symmetric algorithm that will be used.
@@ -68,6 +70,8 @@ int yaca_seal_init(yaca_ctx_h *ctx,
 /**
  * @brief  Encrypts piece of the data.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx         Context created by yaca_seal_init().
  * @param[in]     plain       Plain text to be encrypted.
  * @param[in]     plain_len   Length of the plain text.
@@ -87,6 +91,8 @@ int yaca_seal_update(yaca_ctx_h ctx,
 /**
  * @brief  Encrypts the final piece of the data.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx         A valid seal context.
  * @param[out]    cipher      Final piece of the encrypted data (must be allocated by client, see
  *                            yaca_get_block_length()).
@@ -102,6 +108,8 @@ int yaca_seal_final(yaca_ctx_h ctx,
 /**
  * @brief  Initializes an asymmetric decryption context.
  *
+ * @since_tizen 3.0
+ *
  * @param[out] ctx           Newly created context. Must be freed by yaca_ctx_free().
  * @param[in]  prv_key       Private key, part of the pair that was used for the encryption.
  * @param[in]  algo          Symmetric algorithm that was used for the encryption.
@@ -124,6 +132,8 @@ int yaca_open_init(yaca_ctx_h *ctx,
 /**
  * @brief  Decrypts piece of the data.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx         Context created by yaca_open_init().
  * @param[in]     cipher      Cipher text to be decrypted.
  * @param[in]     cipher_len  Length of the cipher text.
@@ -143,6 +153,8 @@ int yaca_open_update(yaca_ctx_h ctx,
 /**
  * @brief  Decrypts last chunk of sealed message.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx        A valid open context.
  * @param[out]    plain      Final piece of the decrypted data (must be allocated by client, see
  *                           yaca_get_block_length()).
index beb5df2..36ba4dc 100644 (file)
@@ -43,8 +43,10 @@ extern "C" {
 /**
  * @brief  Initializes a signature context for asymmetric signatures.
  *
- * For verification use yaca_verify_init(), yaca_verify_update() and
- * yaca_verify_final() functions with matching public key.
+ * @since_tizen 3.0
+ *
+ * @remarks For verification use yaca_verify_init(), yaca_verify_update() and
+ *          yaca_verify_final() functions with matching public key.
  *
  * @param[out] ctx   Newly created context (must be freed with yaca_ctx_free()).
  * @param[in]  algo  Digest algorithm that will be used.
@@ -66,8 +68,10 @@ int yaca_sign_init(yaca_ctx_h *ctx,
 /**
  * @brief  Initializes a signature context for HMAC.
  *
- * For verification, calculate message HMAC and compare with received MAC using
- * yaca_memcmp().
+ * @since_tizen 3.0
+ *
+ * @remarks For verification, calculate message HMAC and compare with received MAC using
+ *          yaca_memcmp().
  *
  * @param[out] ctx   Newly created context (must be freed with yaca_ctx_free()).
  * @param[in]  algo  Digest algorithm that will be used.
@@ -86,8 +90,10 @@ int yaca_sign_hmac_init(yaca_ctx_h *ctx,
 /**
  * @brief  Initializes a signature context for CMAC.
  *
- * For verification, calculate message CMAC and compare with received MAC using
- * yaca_memcmp().
+ * @since_tizen 3.0
+ *
+ * @remarks For verification, calculate message CMAC and compare with received MAC using
+ *          yaca_memcmp().
  *
  * @param[out] ctx   Newly created context (must be freed with yaca_ctx_free()).
  * @param[in]  algo  Encryption algorithm that will be used.
@@ -106,6 +112,8 @@ int yaca_sign_cmac_init(yaca_ctx_h *ctx,
 /**
  * @brief  Feeds the data into the digital signature or MAC algorithm.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx       Context created by yaca_sign_init(),
  *                          yaca_sign_hmac_init() or yaca_sign_cmac_init().
  * @param[in]     data      Data to be signed.
@@ -122,6 +130,8 @@ int yaca_sign_update(yaca_ctx_h ctx,
 /**
  * @brief  Calculates the final signature or MAC.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx              A valid sign context.
  * @param[out]    signature        Buffer for the MAC or the signature,
  *                                 (must be allocated by client, see yaca_get_sign_length()).
@@ -139,6 +149,8 @@ int yaca_sign_final(yaca_ctx_h ctx,
 /**
  * @brief  Initializes a signature verification context for asymmetric signatures
  *
+ * @since_tizen 3.0
+ *
  * @param[out] ctx   Newly created context (must be freed with yaca_ctx_free()).
  * @param[in]  algo  Digest algorithm that will be used.
  * @param[in]  key   Public key that will be used. Algorithm is deduced based on
@@ -158,6 +170,8 @@ int yaca_verify_init(yaca_ctx_h *ctx,
 /**
  * @brief  Feeds the data into the digital signature verification algorithm.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx       Context created by yaca_verify_init().
  * @param[in]     data      Data to be verified.
  * @param[in]     data_len  Length of the data.
@@ -172,6 +186,8 @@ int yaca_verify_update(yaca_ctx_h ctx,
 /**
  * @brief  Performs the verification.
  *
+ * @since_tizen 3.0
+ *
  * @param[in,out] ctx            A valid verify context.
  * @param[in]     signature      Input signature (returned by yaca_sign_final()).
  * @param[in]     signature_len  Size of the signature.
index c1d1d2b..b43a60b 100644 (file)
@@ -50,6 +50,8 @@ extern "C" {
 /**
  * @brief  Calculate a digest of a buffer.
  *
+ * @since_tizen 3.0
+ *
  * @param[in]  algo        Digest algorithm (select #YACA_DIGEST_SHA256 if unsure).
  * @param[in]  data        Data from which the digest is to be calculated.
  * @param[in]  data_len    Length of the data.
@@ -69,6 +71,8 @@ int yaca_digest_calc(yaca_digest_algo_e algo,
 /**
  * @brief  Encrypt data using a symmetric cipher.
  *
+ * @since_tizen 3.0
+ *
  * @param[in]  algo        Encryption algorithm (select #YACA_ENC_AES if unsure).
  * @param[in]  bcm         Chaining mode (select #YACA_BCM_CBC if unsure).
  * @param[in]  sym_key     Symmetric encryption key (see key.h for key generation functions).
@@ -94,6 +98,8 @@ int yaca_encrypt(yaca_enc_algo_e algo,
 /**
  * @brief  Decrypt data using a symmetric cipher.
  *
+ * @since_tizen 3.0
+ *
  * @param[in]  algo        Decryption algorithm that was used to encrypt the data.
  * @param[in]  bcm         Chaining mode that was used to encrypt the data.
  * @param[in]  sym_key     Symmetric encryption key that was used to encrypt the data.
@@ -119,6 +125,8 @@ int yaca_decrypt(yaca_enc_algo_e algo,
 /**
  * @brief  Create a signature using asymmetric private key.
  *
+ * @since_tizen 3.0
+ *
  * @param[in]  algo           Digest algorithm that will be used.
  * @param[in]  key            Private key that will be used. Algorithm is
  *                            deduced based on key type. Supported key types:
@@ -144,6 +152,8 @@ int yaca_sign(yaca_digest_algo_e algo,
 /**
  * @brief  Verify a signature using asymmetric public key.
  *
+ * @since_tizen 3.0
+ *
  * @param[in]  algo           Digest algorithm that will be used.
  * @param[in]  key            Public key that will be used. Algorithm is
  *                            deduced based on key type. Supported key types:
@@ -169,8 +179,10 @@ int yaca_verify(yaca_digest_algo_e algo,
 /**
  * @brief  Calculate a HMAC of given message using symmetric key.
  *
- * For verification, calculate message HMAC and compare with received MAC using
- * yaca_memcmp().
+ * @since_tizen 3.0
+ *
+ * @remarks For verification, calculate message HMAC and compare with received MAC using
+ *          yaca_memcmp().
  *
  * @param[in]  algo      Digest algorithm that will be used.
  * @param[in]  key       Key that will be used. Supported key types:
@@ -195,8 +207,10 @@ int yaca_hmac(yaca_digest_algo_e algo,
 /**
  * @brief  Calculate a CMAC of given message using symmetric key.
  *
- * For verification, calculate message CMAC and compare with received MAC using
- * yaca_memcmp().
+ * @since_tizen 3.0
+ *
+ * @remarks For verification, calculate message CMAC and compare with received MAC using
+ *          yaca_memcmp().
  *
  * @param[in]  algo      Encryption algorithm that will be used.
  * @param[in]  key       Key that will be used. Supported key types:
index 5a99113..7ba8cd7 100644 (file)
@@ -38,16 +38,22 @@ extern "C" {
 
 /**
  * @brief Context
+ *
+ * @since_tizen 3.0
  */
 typedef struct yaca_ctx_s *yaca_ctx_h;
 
 /**
  * @brief Key
+ *
+ * @since_tizen 3.0
  */
 typedef struct yaca_key_s *yaca_key_h;
 
 /**
  * @brief Key formats
+ *
+ * @since_tizen 3.0
  */
 typedef enum {
        YACA_KEY_FORMAT_DEFAULT,  /**< key is either PKCS#1 for RSA or SSLeay for DSA, also use this option for symmetric */
@@ -56,6 +62,8 @@ typedef enum {
 
 /**
  * @brief Key file formats
+ *
+ * @since_tizen 3.0
  */
 typedef enum {
        YACA_KEY_FILE_FORMAT_RAW,      /**< key file is in raw binary format, used for symmetric keys */
@@ -66,6 +74,8 @@ typedef enum {
 
 /**
  * @brief Key types, IV is considered as key
+ *
+ * @since_tizen 3.0
  */
 typedef enum {
        YACA_KEY_TYPE_SYMMETRIC,   /**< Generic symmetric cipher KEY */
@@ -88,6 +98,8 @@ typedef enum {
 
 /**
  * @brief Key length, It is possible to use arbitrary integer instead, this enums are placed here to avoid magic numbers.
+ *
+ * @since_tizen 3.0
  */
 typedef enum {
        YACA_KEY_IV_UNSAFE_24BIT = 24,    /**< 24-bit IV */
@@ -113,6 +125,8 @@ typedef enum {
 
 /**
  * @brief Message digest algorithms.
+ *
+ * @since_tizen 3.0
  */
 typedef enum {
        YACA_DIGEST_MD5,      /**< Message digest algorithm MD5  */
@@ -125,6 +139,8 @@ typedef enum {
 
 /**
  * @brief Symmetric encryption algorithms
+ *
+ * @since_tizen 3.0
  */
 typedef enum {
        /**
@@ -230,6 +246,8 @@ typedef enum {
 
 /**
  * @brief Chaining modes for block ciphers
+ *
+ * @since_tizen 3.0
  */
 typedef enum {
        /**
@@ -302,6 +320,8 @@ typedef enum {
 
 /**
  * @brief Non-standard parameters for algorithms
+ *
+ * @since_tizen 3.0
  */
 typedef enum {
        YACA_PARAM_PADDING,                /**< Padding */
@@ -317,6 +337,8 @@ typedef enum {
 
 /**
  * @brief Paddings supported by Yet Another Crypto API
+ *
+ * @since_tizen 3.0
  */
 typedef enum {
        YACA_PADDING_NONE = 0,   /**< total number of data MUST multiple of block size, Default */
index 126018c..327df37 100644 (file)
@@ -6,6 +6,7 @@ License:            Apache-2.0
 Group:              Security/Other
 Summary:            Yet Another Crypto API
 BuildRequires:      cmake
+BuildRequires:      pkgconfig(capi-base-common)
 BuildRequires:      pkgconfig(openssl)
 Requires(post):     /sbin/ldconfig
 Requires(postun):   /sbin/ldconfig
index 9d8369b..e21ca95 100644 (file)
@@ -45,7 +45,7 @@ SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES
                       VERSION    ${_LIB_VERSION_})
 
 ## Link libraries ##############################################################
-PKG_CHECK_MODULES(YACA_DEPS REQUIRED openssl)
+PKG_CHECK_MODULES(YACA_DEPS REQUIRED openssl capi-base-common)
 
 INCLUDE_DIRECTORIES(${API_FOLDER})
 INCLUDE_DIRECTORIES(SYSTEM ${YACA_DEPS_INCLUDE_DIRS})
old mode 100644 (file)
new mode 100755 (executable)