From: Dariusz Michaluk Date: Thu, 19 May 2016 11:03:35 +0000 (+0200) Subject: Join ECDSA and ECDH key to EC type. X-Git-Tag: accepted/tizen/common/20160810.161523~135 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=792a7b82d76dcac72c5c18d817bba5974540323c;p=platform%2Fcore%2Fsecurity%2Fyaca.git Join ECDSA and ECDH key to EC type. Change-Id: I8817ce9a9e08283af3c25d5c3a133a4212b3dd60 --- diff --git a/api/yaca/sign.h b/api/yaca/sign.h index 9dcbe43..beb5df2 100644 --- a/api/yaca/sign.h +++ b/api/yaca/sign.h @@ -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(), diff --git a/api/yaca/simple.h b/api/yaca/simple.h index bbd4bf0..c1d1d2b 100644 --- a/api/yaca/simple.h +++ b/api/yaca/simple.h @@ -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. diff --git a/api/yaca/types.h b/api/yaca/types.h index f10deb5..5a99113 100644 --- a/api/yaca/types.h +++ b/api/yaca/types.h @@ -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; /** diff --git a/examples/key_exchange.c b/examples/key_exchange.c index 542beb8..7d2bf78 100644 --- a/examples/key_exchange.c +++ b/examples/key_exchange.c @@ -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; diff --git a/src/key.c b/src/key.c index 2730c09..d8580a8 100644 --- 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; diff --git a/src/sign.c b/src/sign.c index e47c839..0b6d8f7 100644 --- a/src/sign.c +++ b/src/sign.c @@ -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: