diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-08-17 20:09:46 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2012-08-17 22:16:28 +0200 |
commit | 1ff18a774140d78a3fb1d708a6b37edb0971752a (patch) | |
tree | bb63becc7a3e8b4cf21b0b11e7100e08e4c7ae5c | |
parent | 5791f17c206e83baf6744151f53ad542c75de3be (diff) | |
download | gnutls-1ff18a774140d78a3fb1d708a6b37edb0971752a.tar.gz |
gnutls_sign_get_pk_algorithm and gnutls_sign_get_hash_algorithm were exported.
-rw-r--r-- | lib/algorithms.h | 3 | ||||
-rw-r--r-- | lib/algorithms/sign.c | 26 | ||||
-rw-r--r-- | lib/ext/signature.c | 2 | ||||
-rw-r--r-- | lib/gnutls_pubkey.c | 8 | ||||
-rw-r--r-- | lib/gnutls_sig.c | 10 | ||||
-rw-r--r-- | lib/includes/gnutls/gnutls.h.in | 2 | ||||
-rw-r--r-- | lib/libgnutls.map | 2 | ||||
-rw-r--r-- | lib/x509/crq.c | 2 | ||||
-rw-r--r-- | lib/x509/verify.c | 4 |
9 files changed, 41 insertions, 18 deletions
diff --git a/lib/algorithms.h b/lib/algorithms.h index 748629c17c..a11a2a2bff 100644 --- a/lib/algorithms.h +++ b/lib/algorithms.h @@ -117,9 +117,6 @@ const char *_gnutls_x509_sign_to_oid (gnutls_pk_algorithm_t, gnutls_sign_algorithm_t _gnutls_tls_aid_to_sign (const sign_algorithm_st * aid); const sign_algorithm_st* _gnutls_sign_to_tls_aid (gnutls_sign_algorithm_t sign); -gnutls_digest_algorithm_t -_gnutls_sign_get_hash_algorithm (gnutls_sign_algorithm_t); -gnutls_pk_algorithm_t _gnutls_sign_get_pk_algorithm (gnutls_sign_algorithm_t); int _gnutls_mac_priority (gnutls_session_t session, gnutls_mac_algorithm_t algorithm); diff --git a/lib/algorithms/sign.c b/lib/algorithms/sign.c index b422c4c5c0..316392ff84 100644 --- a/lib/algorithms/sign.c +++ b/lib/algorithms/sign.c @@ -218,8 +218,19 @@ _gnutls_x509_sign_to_oid (gnutls_pk_algorithm_t pk, return ret; } +/** + * gnutls_sign_get_hash_algorithm: + * @sign: is a signature algorithm + * + * This function returns the digest algorithm corresponding to + * the given signature algorithms. + * + * Since: 3.1.1 + * + * Returns: return a #gnutls_digest_algorithm_t value, or %GNUTLS_DIG_UNKNOWN on error. + **/ gnutls_digest_algorithm_t -_gnutls_sign_get_hash_algorithm (gnutls_sign_algorithm_t sign) +gnutls_sign_get_hash_algorithm (gnutls_sign_algorithm_t sign) { gnutls_digest_algorithm_t ret = GNUTLS_DIG_UNKNOWN; @@ -228,8 +239,19 @@ _gnutls_sign_get_hash_algorithm (gnutls_sign_algorithm_t sign) return ret; } +/** + * gnutls_sign_get_pk_algorithm: + * @sign: is a signature algorithm + * + * This function returns the public key algorithm corresponding to + * the given signature algorithms. + * + * Since: 3.1.1 + * + * Returns: return a #gnutls_pk_algorithm_t value, or %GNUTLS_PK_UNKNOWN on error. + **/ gnutls_pk_algorithm_t -_gnutls_sign_get_pk_algorithm (gnutls_sign_algorithm_t sign) +gnutls_sign_get_pk_algorithm (gnutls_sign_algorithm_t sign) { gnutls_pk_algorithm_t ret = GNUTLS_PK_UNKNOWN; diff --git a/lib/ext/signature.c b/lib/ext/signature.c index a9756107c7..ab77d72a53 100644 --- a/lib/ext/signature.c +++ b/lib/ext/signature.c @@ -270,7 +270,7 @@ _gnutls_session_get_sign_algo (gnutls_session_t session, gnutls_pcert_st* cert) for (i = 0; i < priv->sign_algorithms_size; i++) { - if (_gnutls_sign_get_pk_algorithm (priv->sign_algorithms[i]) == cert_algo) + if (gnutls_sign_get_pk_algorithm (priv->sign_algorithms[i]) == cert_algo) { if (_gnutls_pubkey_compatible_with_sig(cert->pubkey, ver, priv->sign_algorithms[i]) < 0) continue; diff --git a/lib/gnutls_pubkey.c b/lib/gnutls_pubkey.c index 4f869206b0..b894677e42 100644 --- a/lib/gnutls_pubkey.c +++ b/lib/gnutls_pubkey.c @@ -1402,7 +1402,7 @@ gnutls_pubkey_verify_data2 (gnutls_pubkey_t pubkey, return GNUTLS_E_INVALID_REQUEST; } - ret = pubkey_verify_data( pubkey->pk_algorithm, _gnutls_sign_get_hash_algorithm(algo), + ret = pubkey_verify_data( pubkey->pk_algorithm, gnutls_sign_get_hash_algorithm(algo), data, signature, &pubkey->params); if (ret < 0) { @@ -1479,7 +1479,7 @@ gnutls_pubkey_verify_hash2 (gnutls_pubkey_t key, return _gnutls_pk_verify (GNUTLS_PK_RSA, hash, signature, &key->params); else { - return pubkey_verify_hashed_data (key->pk_algorithm, _gnutls_sign_get_hash_algorithm(algo), + return pubkey_verify_hashed_data (key->pk_algorithm, gnutls_sign_get_hash_algorithm(algo), hash, signature, &key->params); } } @@ -1564,7 +1564,7 @@ unsigned int hash_algo; } else if (sign != GNUTLS_SIGN_UNKNOWN) { - if (_gnutls_hash_get_algo_len(_gnutls_sign_get_hash_algorithm(sign)) < hash_size) + if (_gnutls_hash_get_algo_len(gnutls_sign_get_hash_algorithm(sign)) < hash_size) return GNUTLS_E_UNWANTED_ALGORITHM; } @@ -1575,7 +1575,7 @@ unsigned int hash_algo; { hash_algo = _gnutls_dsa_q_to_hash (pubkey->pk_algorithm, &pubkey->params, &hash_size); - if (_gnutls_hash_get_algo_len(_gnutls_sign_get_hash_algorithm(sign)) < hash_size) + if (_gnutls_hash_get_algo_len(gnutls_sign_get_hash_algorithm(sign)) < hash_size) return GNUTLS_E_UNWANTED_ALGORITHM; } diff --git a/lib/gnutls_sig.c b/lib/gnutls_sig.c index c576655e10..27c8c89ba2 100644 --- a/lib/gnutls_sig.c +++ b/lib/gnutls_sig.c @@ -77,7 +77,7 @@ _gnutls_handshake_sign_data (gnutls_session_t session, gnutls_pcert_st* cert, return GNUTLS_E_UNKNOWN_PK_ALGORITHM; } - hash_algo = _gnutls_sign_get_hash_algorithm (*sign_algo); + hash_algo = gnutls_sign_get_hash_algorithm (*sign_algo); _gnutls_handshake_log ("HSK[%p]: signing handshake data: using %s\n", session, gnutls_sign_algorithm_get_name (*sign_algo)); @@ -326,7 +326,7 @@ _gnutls_handshake_verify_data (gnutls_session_t session, gnutls_pcert_st* cert, if (ret < 0) return gnutls_assert_val(ret); - hash_algo = _gnutls_sign_get_hash_algorithm (sign_algo); + hash_algo = gnutls_sign_get_hash_algorithm (sign_algo); } else { @@ -380,7 +380,7 @@ _gnutls_handshake_verify_data (gnutls_session_t session, gnutls_pcert_st* cert, dconcat.size - _gnutls_hash_get_algo_len (hash_algo), sign_algo, - _gnutls_sign_get_pk_algorithm (sign_algo)); + gnutls_sign_get_pk_algorithm (sign_algo)); if (ret < 0) { gnutls_assert (); @@ -413,7 +413,7 @@ _gnutls_handshake_verify_crt_vrfy12 (gnutls_session_t session, if (ret < 0) return gnutls_assert_val(ret); - hash_algo = _gnutls_sign_get_hash_algorithm(sign_algo); + hash_algo = gnutls_sign_get_hash_algorithm(sign_algo); ret = _gnutls_hash_fast(hash_algo, session->internals.handshake_hash_buffer.data, session->internals.handshake_hash_buffer_prev_len, @@ -553,7 +553,7 @@ _gnutls_handshake_sign_crt_vrfy12 (gnutls_session_t session, return GNUTLS_E_UNKNOWN_PK_ALGORITHM; } - hash_algo = _gnutls_sign_get_hash_algorithm (sign_algo); + hash_algo = gnutls_sign_get_hash_algorithm (sign_algo); _gnutls_debug_log ("sign handshake cert vrfy: picked %s with %s\n", gnutls_sign_algorithm_get_name (sign_algo), diff --git a/lib/includes/gnutls/gnutls.h.in b/lib/includes/gnutls/gnutls.h.in index 0156fc4f8d..f3d767c212 100644 --- a/lib/includes/gnutls/gnutls.h.in +++ b/lib/includes/gnutls/gnutls.h.in @@ -801,6 +801,8 @@ gnutls_ecc_curve_t gnutls_ecc_curve_get(gnutls_session_t session); type); const char *gnutls_pk_get_name (gnutls_pk_algorithm_t algorithm); const char *gnutls_sign_get_name (gnutls_sign_algorithm_t algorithm); + gnutls_digest_algorithm_t gnutls_sign_get_hash_algorithm (gnutls_sign_algorithm_t); + gnutls_pk_algorithm_t gnutls_sign_get_pk_algorithm (gnutls_sign_algorithm_t); gnutls_sign_algorithm_t gnutls_pk_to_sign (gnutls_pk_algorithm_t pk, gnutls_digest_algorithm_t d); diff --git a/lib/libgnutls.map b/lib/libgnutls.map index 3199bc642b..3170417475 100644 --- a/lib/libgnutls.map +++ b/lib/libgnutls.map @@ -826,6 +826,8 @@ GNUTLS_3_1_0 { gnutls_certificate_set_pin_function; gnutls_x509_crt_set_pin_function; gnutls_handshake_set_timeout; + gnutls_sign_get_pk_algorithm; + gnutls_sign_get_hash_algorithm; } GNUTLS_3_0_0; GNUTLS_PRIVATE { diff --git a/lib/x509/crq.c b/lib/x509/crq.c index 956229ba97..c4dec27ae6 100644 --- a/lib/x509/crq.c +++ b/lib/x509/crq.c @@ -2512,7 +2512,7 @@ int ret; goto cleanup; } - algo = _gnutls_sign_get_hash_algorithm(ret); + algo = gnutls_sign_get_hash_algorithm(ret); ret = _gnutls_x509_get_signature (crq->crq, "signature", &signature); if (ret < 0) diff --git a/lib/x509/verify.c b/lib/x509/verify.c index 497f4dd4d9..7f39fd8f35 100644 --- a/lib/x509/verify.c +++ b/lib/x509/verify.c @@ -477,7 +477,7 @@ _gnutls_verify_certificate2 (gnutls_x509_crt_t cert, goto cleanup; } - hash_algo = _gnutls_sign_get_hash_algorithm(result); + hash_algo = gnutls_sign_get_hash_algorithm(result); result = _gnutls_x509_verify_data (hash_algo, &cert_signed_data, &cert_signature, @@ -1034,7 +1034,7 @@ _gnutls_verify_crl2 (gnutls_x509_crl_t crl, goto cleanup; } - hash_algo = _gnutls_sign_get_hash_algorithm(result); + hash_algo = gnutls_sign_get_hash_algorithm(result); result = _gnutls_x509_verify_data (hash_algo, &crl_signed_data, &crl_signature, |