Join ECDSA and ECDH key to EC type. 52/70552/5
authorDariusz Michaluk <d.michaluk@samsung.com>
Thu, 19 May 2016 11:03:35 +0000 (13:03 +0200)
committerDariusz Michaluk <d.michaluk@samsung.com>
Thu, 19 May 2016 12:51:17 +0000 (14:51 +0200)
Change-Id: I8817ce9a9e08283af3c25d5c3a133a4212b3dd60

api/yaca/sign.h
api/yaca/simple.h
api/yaca/types.h
examples/key_exchange.c
src/key.c
src/sign.c

index 9dcbe43..beb5df2 100644 (file)
@@ -52,7 +52,7 @@ extern "C" {
  *                   on key type. Supported key types:
  *                   - #YACA_KEY_TYPE_RSA_PRIV,
  *                   - #YACA_KEY_TYPE_DSA_PRIV,
- *                   - #YACA_KEY_TYPE_ECDSA_PRIV.
+ *                   - #YACA_KEY_TYPE_EC_PRIV.
  *
  * @return 0 on success, negative on error.
  * @see #yaca_key_type_e, #yaca_digest_algo_e, yaca_sign_update(),
@@ -145,7 +145,7 @@ int yaca_sign_final(yaca_ctx_h ctx,
  *                   key type. Supported key types:
  *                   - #YACA_KEY_TYPE_RSA_PUB,
  *                   - #YACA_KEY_TYPE_DSA_PUB,
- *                   - #YACA_KEY_TYPE_ECDSA_PUB.
+ *                   - #YACA_KEY_TYPE_EC_PUB.
  *
  * @return 0 on success, negative on error.
  * @see #yaca_key_type_e, #yaca_digest_algo_e, yaca_verify_update(),
index bbd4bf0..c1d1d2b 100644 (file)
@@ -124,7 +124,7 @@ int yaca_decrypt(yaca_enc_algo_e algo,
  *                            deduced based on key type. Supported key types:
  *                            - #YACA_KEY_TYPE_RSA_PRIV,
  *                            - #YACA_KEY_TYPE_DSA_PRIV,
- *                            - #YACA_KEY_TYPE_ECDSA_PRIV.
+ *                            - #YACA_KEY_TYPE_EC_PRIV.
  * @param[in]  data           Data to be signed.
  * @param[in]  data_len       Length of the data.
  * @param[out] signature      Message signature. Will be allocated by the
@@ -149,7 +149,7 @@ int yaca_sign(yaca_digest_algo_e algo,
  *                            deduced based on key type. Supported key types:
  *                            - #YACA_KEY_TYPE_RSA_PUB,
  *                            - #YACA_KEY_TYPE_DSA_PUB,
- *                            - #YACA_KEY_TYPE_ECDSA_PUB.
+ *                            - #YACA_KEY_TYPE_EC_PUB.
  * @param[in]  data           Signed data.
  * @param[in]  data_len       Length of the data.
  * @param[in]  signature      Message signature.
index f10deb5..5a99113 100644 (file)
@@ -81,12 +81,9 @@ typedef enum {
        YACA_KEY_TYPE_DH_PUB,      /**< Diffie-Hellman public key */
        YACA_KEY_TYPE_DH_PRIV,     /**< Diffie-Hellman private key */
 
-       YACA_KEY_TYPE_ECDSA_PUB,   /**< Elliptic Curve Digital Signature Algorithm public key */
-       YACA_KEY_TYPE_ECDSA_PRIV,  /**< Elliptic Curve Digital Signature Algorithm private key */
+       YACA_KEY_TYPE_EC_PUB,      /**< Elliptic Curve public key (for DSA and DH) */
 
-       // TODO: ECDH might not exist as a separate key type, remove?
-       YACA_KEY_TYPE_ECDH_PUB,    /**< Elliptic Curve Diffie-Hellman public key */
-       YACA_KEY_TYPE_ECDH_PRIV,   /**< Elliptic Curve Diffie-Hellman private key */
+       YACA_KEY_TYPE_EC_PRIV,     /**< Elliptic Curve private key (for DSA and DH) */
 } yaca_key_type_e;
 
 /**
index 542beb8..7d2bf78 100644 (file)
@@ -104,7 +104,7 @@ void key_exchange_ecdh(void)
        long size;
 
        // generate  private, public key
-       ret = yaca_key_gen(&private_key, YACA_KEY_TYPE_ECDH_PRIV, YACA_KEY_CURVE_P256);
+       ret = yaca_key_gen(&private_key, YACA_KEY_TYPE_EC_PRIV, YACA_KEY_CURVE_P256);
        if (ret < 0)
                goto clean;
 
@@ -130,7 +130,7 @@ void key_exchange_ecdh(void)
        if (1 != fread(buffer, size, 1, fp))
                goto clean;
 
-       ret = yaca_key_import(&peer_key, YACA_KEY_TYPE_ECDH_PUB, NULL, buffer, size);
+       ret = yaca_key_import(&peer_key, YACA_KEY_TYPE_EC_PUB, NULL, buffer, size);
        if (ret < 0)
                goto clean;
 
index 2730c09..d8580a8 100644 (file)
--- a/src/key.c
+++ b/src/key.c
@@ -308,7 +308,7 @@ int import_evp(yaca_key_h *key,
                break;
 
        case EVP_PKEY_EC:
-               type = private ? YACA_KEY_TYPE_ECDSA_PRIV : YACA_KEY_TYPE_ECDSA_PUB;
+               type = private ? YACA_KEY_TYPE_EC_PRIV : YACA_KEY_TYPE_EC_PUB;
                break;
 
        default:
@@ -473,10 +473,8 @@ int export_evp(struct yaca_key_evp_s *evp_key,
 
                case YACA_KEY_TYPE_DH_PRIV:
                case YACA_KEY_TYPE_DH_PUB:
-               case YACA_KEY_TYPE_ECDSA_PRIV:
-               case YACA_KEY_TYPE_ECDSA_PUB:
-               case YACA_KEY_TYPE_ECDH_PRIV:
-               case YACA_KEY_TYPE_ECDH_PUB:
+               case YACA_KEY_TYPE_EC_PRIV:
+               case YACA_KEY_TYPE_EC_PUB:
                        ret = YACA_ERROR_NOT_IMPLEMENTED;
                        goto free_bio;
 
@@ -505,10 +503,8 @@ int export_evp(struct yaca_key_evp_s *evp_key,
 
                case YACA_KEY_TYPE_DH_PRIV:
                case YACA_KEY_TYPE_DH_PUB:
-               case YACA_KEY_TYPE_ECDSA_PRIV:
-               case YACA_KEY_TYPE_ECDSA_PUB:
-               case YACA_KEY_TYPE_ECDH_PRIV:
-               case YACA_KEY_TYPE_ECDH_PUB:
+               case YACA_KEY_TYPE_EC_PRIV:
+               case YACA_KEY_TYPE_EC_PUB:
                        ret = YACA_ERROR_NOT_IMPLEMENTED;
                        goto free_bio;
 
@@ -886,10 +882,8 @@ API int yaca_key_import(yaca_key_h *key,
                return import_evp(key, key_type, data, data_len);
        case YACA_KEY_TYPE_DH_PUB:
        case YACA_KEY_TYPE_DH_PRIV:
-       case YACA_KEY_TYPE_ECDSA_PUB:
-       case YACA_KEY_TYPE_ECDSA_PRIV:
-       case YACA_KEY_TYPE_ECDH_PUB:
-       case YACA_KEY_TYPE_ECDH_PRIV:
+       case YACA_KEY_TYPE_EC_PUB:
+       case YACA_KEY_TYPE_EC_PRIV:
                return YACA_ERROR_NOT_IMPLEMENTED;
        default:
                return YACA_ERROR_INVALID_ARGUMENT;
@@ -986,8 +980,7 @@ API int yaca_key_gen(yaca_key_h *key,
                return 0;
 
        case YACA_KEY_TYPE_DH_PRIV:
-       case YACA_KEY_TYPE_ECDSA_PRIV:
-       case YACA_KEY_TYPE_ECDH_PRIV:
+       case YACA_KEY_TYPE_EC_PRIV:
                return YACA_ERROR_NOT_IMPLEMENTED;
        default:
                return YACA_ERROR_INVALID_ARGUMENT;
@@ -1044,8 +1037,8 @@ API int yaca_key_extract_public(const yaca_key_h prv_key, yaca_key_h *pub_key)
        case YACA_KEY_TYPE_DSA_PRIV:
                (*pub_key)->type = YACA_KEY_TYPE_DSA_PUB;
                break;
-       case YACA_KEY_TYPE_ECDSA_PRIV:
-               (*pub_key)->type = YACA_KEY_TYPE_ECDSA_PUB;
+       case YACA_KEY_TYPE_EC_PRIV:
+               (*pub_key)->type = YACA_KEY_TYPE_EC_PUB;
                break;
        default:
                ret = YACA_ERROR_INVALID_ARGUMENT;
index e47c839..0b6d8f7 100644 (file)
@@ -292,7 +292,7 @@ API int yaca_sign_init(yaca_ctx_h *ctx,
        case YACA_KEY_TYPE_DSA_PRIV:
                nc->op_type = OP_SIGN;
                break;
-       case YACA_KEY_TYPE_ECDSA_PRIV:
+       case YACA_KEY_TYPE_EC_PRIV:
                ret = YACA_ERROR_NOT_IMPLEMENTED;
                goto free_ctx;
        default:
@@ -413,7 +413,7 @@ API int yaca_verify_init(yaca_ctx_h *ctx,
        case YACA_KEY_TYPE_DSA_PUB:
                nc->op_type = OP_VERIFY_ASYMMETRIC;
                break;
-       case YACA_KEY_TYPE_ECDSA_PUB:
+       case YACA_KEY_TYPE_EC_PUB:
                ret = YACA_ERROR_NOT_IMPLEMENTED;
                goto free_ctx;
        default: