diff options
author | Dmitry Baryshkov <dbaryshkov@gmail.com> | 2020-05-14 02:20:57 +0300 |
---|---|---|
committer | Dmitry Baryshkov <dbaryshkov@gmail.com> | 2020-05-14 11:05:04 +0300 |
commit | a0e5770f50462de82afaf7743a88c33414cb32dc (patch) | |
tree | 693845374a46f01468616d238ac71c4b4be919b6 | |
parent | a4978e8884cfb97af0d0f95fdaaa59c1cfa7e2d1 (diff) | |
download | gnutls-a0e5770f50462de82afaf7743a88c33414cb32dc.tar.gz |
pkcs7: add function to display signature information
Basically export print_pkcs7_info() in a way usable by external
applications.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | devel/libgnutls-latest-x86_64.abi | 1 | ||||
-rw-r--r-- | devel/symbols.last | 1 | ||||
-rw-r--r-- | doc/Makefile.am | 2 | ||||
-rw-r--r-- | doc/manpages/Makefile.am | 1 | ||||
-rw-r--r-- | lib/includes/gnutls/pkcs7.h | 4 | ||||
-rw-r--r-- | lib/libgnutls.map | 1 | ||||
-rw-r--r-- | lib/x509/pkcs7-output.c | 31 |
8 files changed, 42 insertions, 0 deletions
@@ -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) diff --git a/devel/libgnutls-latest-x86_64.abi b/devel/libgnutls-latest-x86_64.abi index cc44d1898e..8e5e787950 100644 --- a/devel/libgnutls-latest-x86_64.abi +++ b/devel/libgnutls-latest-x86_64.abi @@ -599,6 +599,7 @@ <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'/> diff --git a/devel/symbols.last b/devel/symbols.last index 080f7f2954..c5c279c42a 100644 --- a/devel/symbols.last +++ b/devel/symbols.last @@ -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 diff --git a/doc/Makefile.am b/doc/Makefile.am index 83d851220c..01f7cd6fc1 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -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 diff --git a/doc/manpages/Makefile.am b/doc/manpages/Makefile.am index 18f382ee45..552130afa4 100644 --- a/doc/manpages/Makefile.am +++ b/doc/manpages/Makefile.am @@ -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 diff --git a/lib/includes/gnutls/pkcs7.h b/lib/includes/gnutls/pkcs7.h index 8a6c2034f0..58ea4aaf81 100644 --- a/lib/includes/gnutls/pkcs7.h +++ b/lib/includes/gnutls/pkcs7.h @@ -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 } diff --git a/lib/libgnutls.map b/lib/libgnutls.map index 512e403bb6..ac6be479f1 100644 --- a/lib/libgnutls.map +++ b/lib/libgnutls.map @@ -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 { diff --git a/lib/x509/pkcs7-output.c b/lib/x509/pkcs7-output.c index bcffbaafd5..3d686df228 100644 --- a/lib/x509/pkcs7-output.c +++ b/lib/x509/pkcs7-output.c @@ -185,6 +185,37 @@ static void print_pkcs7_info(gnutls_pkcs7_signature_info_st * info, } /** + * 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 * @format: Indicate the format to use |