diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-07-27 07:10:22 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-08-04 09:38:27 +0200 |
commit | 41ef006dddad5c09a8a645ae8713631f02b799e5 (patch) | |
tree | 9e803cb8f61bef001474ed4e9fa8bfaf91f454df /src | |
parent | 76c60b70d3904db31e6c4ae980c7f704a10500a5 (diff) | |
download | gnutls-41ef006dddad5c09a8a645ae8713631f02b799e5.tar.gz |
certtool: print signature algorithm in cert verification output
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/certtool.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/certtool.c b/src/certtool.c index 4e4f3277f3..3cddc3dd6f 100644 --- a/src/certtool.c +++ b/src/certtool.c @@ -1988,6 +1988,23 @@ void generate_request(common_info_st * cinfo) static void print_verification_res(FILE * outfile, unsigned int output); +static const char *get_signature_algo(gnutls_x509_crt_t crt) +{ + int ret; + static char oid[128]; + + ret = gnutls_x509_crt_get_signature_algorithm(crt); + if (ret < 0 || ret == GNUTLS_SIGN_UNKNOWN) { + size_t oid_size = sizeof(oid); + ret = gnutls_x509_crt_get_signature_oid(crt, oid, &oid_size); + if (ret < 0) + return NULL; + return oid; + } + + return gnutls_sign_get_name(ret); +} + static int detailed_verification(gnutls_x509_crt_t cert, gnutls_x509_crt_t issuer, gnutls_x509_crl_t crl, @@ -2036,6 +2053,8 @@ static int detailed_verification(gnutls_x509_crt_t cert, fprintf(outfile, "\tChecked against: %s\n", issuer_name.data); } + fprintf(outfile, "\tSignature algorithm: %s\n", get_signature_algo(cert)); + if (crl != NULL) { gnutls_datum_t data; gnutls_free(issuer_name.data); |