]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
pkcs7: add function to display signature information
authorDmitry Baryshkov <dbaryshkov@gmail.com>
Wed, 13 May 2020 23:20:57 +0000 (02:20 +0300)
committerDmitry Baryshkov <dbaryshkov@gmail.com>
Thu, 14 May 2020 08:05:04 +0000 (11:05 +0300)
Basically export print_pkcs7_info() in a way usable by external
applications.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
NEWS
devel/libgnutls-latest-x86_64.abi
devel/symbols.last
doc/Makefile.am
doc/manpages/Makefile.am
lib/includes/gnutls/pkcs7.h
lib/libgnutls.map
lib/x509/pkcs7-output.c

diff --git a/NEWS b/NEWS
index fe1c6035afec16c13d1f04daf2e41c8e25d75b00..834cd629dde3462ca18956ff6ad05187c8aebde5 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,7 @@ See the end for copying conditions.
 ** API and ABI modifications:
 GNUTLS_CIPHER_AES_128_SIV: Added
 GNUTLS_CIPHER_AES_256_SIV: Added
+gnutls_pkcs7_print_signature_info: Added
 
 * Version 3.6.13 (released 2020-03-31)
 
index cc44d1898e6bff5b3836ff0ea084dc496deb4eea..8e5e7879506b49f4c2230123515a3faddef9ff7f 100644 (file)
     <elf-symbol name='gnutls_pkcs7_import' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_pkcs7_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_pkcs7_print' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='gnutls_pkcs7_print_signature_info' version='GNUTLS_3_6_14' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_pkcs7_set_crl' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_pkcs7_set_crl_raw' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     <elf-symbol name='gnutls_pkcs7_set_crt' version='GNUTLS_3_4' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
index 080f7f29541782b56f0379fcedf334934c814101..c5c279c42a9fa069e3e0e3ce1ad88926da837ce7 100644 (file)
@@ -565,6 +565,7 @@ gnutls_pkcs7_get_signature_info@GNUTLS_3_4
 gnutls_pkcs7_import@GNUTLS_3_4
 gnutls_pkcs7_init@GNUTLS_3_4
 gnutls_pkcs7_print@GNUTLS_3_4
+gnutls_pkcs7_print_signature_info@GNUTLS_3_6_14
 gnutls_pkcs7_set_crl@GNUTLS_3_4
 gnutls_pkcs7_set_crl_raw@GNUTLS_3_4
 gnutls_pkcs7_set_crt@GNUTLS_3_4
index 83d851220c08ec87bb57e6a73db459e53a42677f..01f7cd6fc14c7506dc6648c81346349e102a4f99 100644 (file)
@@ -1539,6 +1539,8 @@ FUNCS += functions/gnutls_pkcs7_init
 FUNCS += functions/gnutls_pkcs7_init.short
 FUNCS += functions/gnutls_pkcs7_print
 FUNCS += functions/gnutls_pkcs7_print.short
+FUNCS += functions/gnutls_pkcs7_print_signature_info
+FUNCS += functions/gnutls_pkcs7_print_signature_info.short
 FUNCS += functions/gnutls_pkcs7_set_crl
 FUNCS += functions/gnutls_pkcs7_set_crl.short
 FUNCS += functions/gnutls_pkcs7_set_crl_raw
index 18f382ee45da034832b2caa49564fbf88abe3779..552130afa4362b3c0b03373ce336b6bfd66a6de9 100644 (file)
@@ -571,6 +571,7 @@ APIMANS += gnutls_pkcs7_get_signature_info.3
 APIMANS += gnutls_pkcs7_import.3
 APIMANS += gnutls_pkcs7_init.3
 APIMANS += gnutls_pkcs7_print.3
+APIMANS += gnutls_pkcs7_print_signature_info.3
 APIMANS += gnutls_pkcs7_set_crl.3
 APIMANS += gnutls_pkcs7_set_crl_raw.3
 APIMANS += gnutls_pkcs7_set_crt.3
index 8a6c2034f01608766096337778a0462bfb600738..58ea4aaf81a70e74950781f91b400682a5cbfede 100644 (file)
@@ -144,6 +144,10 @@ int gnutls_pkcs7_print(gnutls_pkcs7_t pkcs7,
                       gnutls_certificate_print_formats_t format,
                       gnutls_datum_t * out);
 
+int gnutls_pkcs7_print_signature_info(gnutls_pkcs7_signature_info_st * info,
+                                     gnutls_certificate_print_formats_t format,
+                                     gnutls_datum_t * out);
+
 /* *INDENT-OFF* */
 #ifdef __cplusplus
 }
index 512e403bb647bab3e70f5afda67f46b1dd1325eb..ac6be479f1145663d609f2a7905b0e48e72400a4 100644 (file)
@@ -1328,6 +1328,7 @@ GNUTLS_3_6_14
 {
  global:
        gnutls_ext_get_name2;
+       gnutls_pkcs7_print_signature_info;
 } GNUTLS_3_6_13;
 
 GNUTLS_FIPS140_3_4 {
index bcffbaafd565bd8efe925621c2977a3cf2843c62..3d686df22826f20a124547eecd3d8a52a427f738 100644 (file)
@@ -184,6 +184,37 @@ static void print_pkcs7_info(gnutls_pkcs7_signature_info_st * info,
        adds(str, "\n");
 }
 
+/**
+ * gnutls_pkcs7_print_signature_info:
+ * @info: The PKCS7 signature info struct to be printed
+ * @format: Indicate the format to use
+ * @out: Newly allocated datum with null terminated string.
+ *
+ * This function will pretty print a PKCS #7 signature info structure, suitable
+ * for display to a human.
+ *
+ * Currently the supported formats are %GNUTLS_CRT_PRINT_FULL and
+ * %GNUTLS_CRT_PRINT_COMPACT.
+ *
+ * The output @out needs to be deallocated using gnutls_free().
+ *
+ * Returns: On success, %GNUTLS_E_SUCCESS (0) is returned, otherwise a
+ *   negative error value.
+ *
+ * Since: 3.6.14
+ **/
+int gnutls_pkcs7_print_signature_info(gnutls_pkcs7_signature_info_st * info,
+                                     gnutls_certificate_print_formats_t format,
+                                     gnutls_datum_t * out)
+{
+       gnutls_buffer_st str;
+
+       _gnutls_buffer_init(&str);
+       print_pkcs7_info(info, &str, format);
+
+       return _gnutls_buffer_to_datum(&str, out, 1);
+}
+
 /**
  * gnutls_pkcs7_crt_print:
  * @pkcs7: The PKCS7 struct to be printed