]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
crypto-api: add gnutls_hmac_get_key_size() function
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Mon, 23 Dec 2019 23:31:30 +0000 (02:31 +0300)
committerDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Fri, 27 Dec 2019 08:59:42 +0000 (11:59 +0300)
Add gnutls_hmac_get_key_size() to retrieve MAC key size.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
devel/libgnutls-latest-x86_64.abi
devel/symbols.last
doc/Makefile.am
doc/manpages/Makefile.am
lib/crypto-api.c
lib/includes/gnutls/crypto.h
lib/libgnutls.map

index 9cc19082915f1f57bfd1d1b0b754b4ca040ed462..bf45d3c5b11c90c94e2a88620954e57aa83340ce 100644 (file)
     <elf-symbol name='gnutls_hmac_copy' version='GNUTLS_3_6_9' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_hmac_deinit' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_hmac_fast' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='gnutls_hmac_get_key_size' version='GNUTLS_3_6_12' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_hmac_get_len' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_hmac_init' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_hmac_output' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
index 4ad0268aa1b6bf47c6749d44421efac006f6438f..1e0e56d5c0e9e90e34152afff56ae4f076e4a107 100644 (file)
@@ -289,6 +289,7 @@ gnutls_hmac@GNUTLS_3_4
 gnutls_hmac_copy@GNUTLS_3_6_9
 gnutls_hmac_deinit@GNUTLS_3_4
 gnutls_hmac_fast@GNUTLS_3_4
+gnutls_hmac_get_key_size@GNUTLS_3_6_12
 gnutls_hmac_get_len@GNUTLS_3_4
 gnutls_hmac_init@GNUTLS_3_4
 gnutls_hmac_output@GNUTLS_3_4
index fc8360c73ca3537275f1eabeb243712d8e44b22c..aa3984ffe10779c6a35241cd9b1a4344b808a097 100644 (file)
@@ -1129,6 +1129,8 @@ FUNCS += functions/gnutls_hmac_deinit
 FUNCS += functions/gnutls_hmac_deinit.short
 FUNCS += functions/gnutls_hmac_fast
 FUNCS += functions/gnutls_hmac_fast.short
+FUNCS += functions/gnutls_hmac_get_key_size
+FUNCS += functions/gnutls_hmac_get_key_size.short
 FUNCS += functions/gnutls_hmac_get_len
 FUNCS += functions/gnutls_hmac_get_len.short
 FUNCS += functions/gnutls_hmac_init
index 7f8db7f943fdf3e7181e6d1d6ef0c0e0d77dd370..85d0f7f0e4f929ee151ee46f4538d2e20926acfb 100644 (file)
@@ -366,6 +366,7 @@ APIMANS += gnutls_hmac.3
 APIMANS += gnutls_hmac_copy.3
 APIMANS += gnutls_hmac_deinit.3
 APIMANS += gnutls_hmac_fast.3
+APIMANS += gnutls_hmac_get_key_size.3
 APIMANS += gnutls_hmac_get_len.3
 APIMANS += gnutls_hmac_init.3
 APIMANS += gnutls_hmac_output.3
index d3e809456324d39ba8ebb0de5804f43798cbbc2c..4db6812c2908a92f4b7b3910feb60c601dcad118 100644 (file)
@@ -455,6 +455,23 @@ unsigned gnutls_hmac_get_len(gnutls_mac_algorithm_t algorithm)
        return _gnutls_mac_get_algo_len(mac_to_entry(algorithm));
 }
 
+/**
+ * gnutls_hmac_get_key_size:
+ * @algorithm: the mac algorithm to use
+ *
+ * This function will return the size of the key to be used with this
+ * algorithm. On the algorithms which may accept arbitrary key sizes,
+ * the returned size is the MAC key size used in the TLS protocol.
+ *
+ * Returns: The key size or zero on error.
+ *
+ * Since: 3.6.12
+ **/
+unsigned gnutls_hmac_get_key_size(gnutls_mac_algorithm_t algorithm)
+{
+       return _gnutls_mac_get_key_size(mac_to_entry(algorithm));
+}
+
 /**
  * gnutls_hmac_fast:
  * @algorithm: the hash algorithm to use
index 4d4926c86ae44015a25735f3b973b8e5c07d80ee..685d9d5d29d03d102ed73777e32a7b0a0c8b4d2d 100644 (file)
@@ -123,6 +123,7 @@ int gnutls_hmac(gnutls_hmac_hd_t handle, const void *text, size_t textlen);
 void gnutls_hmac_output(gnutls_hmac_hd_t handle, void *digest);
 void gnutls_hmac_deinit(gnutls_hmac_hd_t handle, void *digest);
 unsigned gnutls_hmac_get_len(gnutls_mac_algorithm_t algorithm) __GNUTLS_CONST__;
+unsigned gnutls_hmac_get_key_size(gnutls_mac_algorithm_t algorithm) __GNUTLS_CONST__;
 int gnutls_hmac_fast(gnutls_mac_algorithm_t algorithm,
                     const void *key, size_t keylen,
                     const void *text, size_t textlen, void *digest);
index ea84a1470d4dbc1c382258204317fa70eaca28f4..e1878bb00c6efc39e3730d7bc36338c821770580 100644 (file)
@@ -1306,6 +1306,7 @@ GNUTLS_3_6_12
  global:
        gnutls_certificate_verification_profile_get_name;
        gnutls_certificate_verification_profile_get_id;
+       gnutls_hmac_get_key_size;
 } GNUTLS_3_6_10;
 
 GNUTLS_FIPS140_3_4 {