summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2012-08-17 20:09:46 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2012-08-17 22:16:28 +0200
commit1ff18a774140d78a3fb1d708a6b37edb0971752a (patch)
treebb63becc7a3e8b4cf21b0b11e7100e08e4c7ae5c
parent5791f17c206e83baf6744151f53ad542c75de3be (diff)
downloadgnutls-1ff18a774140d78a3fb1d708a6b37edb0971752a.tar.gz
gnutls_sign_get_pk_algorithm and gnutls_sign_get_hash_algorithm were exported.
-rw-r--r--lib/algorithms.h3
-rw-r--r--lib/algorithms/sign.c26
-rw-r--r--lib/ext/signature.c2
-rw-r--r--lib/gnutls_pubkey.c8
-rw-r--r--lib/gnutls_sig.c10
-rw-r--r--lib/includes/gnutls/gnutls.h.in2
-rw-r--r--lib/libgnutls.map2
-rw-r--r--lib/x509/crq.c2
-rw-r--r--lib/x509/verify.c4
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,