aboutsummaryrefslogtreecommitdiff
path: root/plugins/check_curl.c
diff options
context:
space:
mode:
authorGravatar Andreas Baumann <mail@andreasbaumann.cc> 2021-05-27 15:32:08 +0200
committerGravatar Andreas Baumann <mail@andreasbaumann.cc> 2021-05-27 15:32:08 +0200
commitbeb609ffcf8c24c133f59829e0d3d82102661b82 (patch)
treec8594e22507e519a3572f1a46ab7c5cd4a6dd088 /plugins/check_curl.c
parent6946b546feb9635413932861c4256f0067846860 (diff)
downloadmonitoring-plugins-beb609ffcf8c24c133f59829e0d3d82102661b82.tar.gz
check_curl:
- added verbose output in verify_callback - pin refcounting for certs (avoid subject extraction error when checking certs in is_openssl_callback mode)
Diffstat (limited to 'plugins/check_curl.c')
-rw-r--r--plugins/check_curl.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/plugins/check_curl.c b/plugins/check_curl.c
index 3e0a6f94..59e398b2 100644
--- a/plugins/check_curl.c
+++ b/plugins/check_curl.c
@@ -285,6 +285,18 @@ int verify_callback(int preverify_ok, X509_STORE_CTX *x509_ctx)
* TODO: is the last certificate always the server certificate?
*/
cert = X509_STORE_CTX_get_current_cert(x509_ctx);
+ X509_up_ref(cert);
+ if (verbose>=2) {
+ puts("* SSL verify callback with certificate:");
+ X509_NAME *subject, *issuer;
+ printf("* issuer:\n");
+ issuer = X509_get_issuer_name( cert );
+ X509_NAME_print_ex_fp(stdout, issuer, 5, XN_FLAG_MULTILINE);
+ printf("* curl verify_callback:\n* subject:\n");
+ subject = X509_get_subject_name( cert );
+ X509_NAME_print_ex_fp(stdout, subject, 5, XN_FLAG_MULTILINE);
+ puts("");
+ }
return 1;
}