static void ask_server(const char* url) { gnutls_datum_t resp_data; int ret, v; gnutls_x509_crt_t cert, issuer; cert = load_cert(); issuer = load_issuer(); ret = send_ocsp_request(url, cert, issuer, &resp_data, ENABLED_OPT(NONCE)); if (ret < 0) { fprintf(stderr, "Cannot send OCSP request\n"); exit(1); } _response_info (&resp_data); if (HAVE_OPT(LOAD_SIGNER) || HAVE_OPT(LOAD_TRUST)) { fprintf(outfile, "\n"); v = _verify_response(&resp_data); } else { fprintf(stderr, "\nResponse could not be verified (use --load-signer).\n"); v = 0; } if (HAVE_OPT(OUTFILE) && v == 0) { fwrite(resp_data.data, 1, resp_data.size, outfile); } }
static void generate_request(gnutls_datum_t *nonce) { gnutls_datum_t dat; _generate_request(load_cert(), load_issuer(), &dat, nonce); fwrite(dat.data, 1, dat.size, outfile); gnutls_free(dat.data); }
static void generate_request (void) { gnutls_datum_t dat; _generate_request(load_cert(), load_issuer(), &dat, ENABLED_OPT(NONCE)); fwrite (dat.data, 1, dat.size, outfile); gnutls_free (dat.data); }
static void ask_server(const char *url) { gnutls_datum_t resp_data; int ret, v = 0; gnutls_x509_crt_t cert, issuer; unsigned char noncebuf[23]; gnutls_datum_t nonce = { noncebuf, sizeof(noncebuf) }; gnutls_datum_t *n; cert = load_cert(); issuer = load_issuer(); if (ENABLED_OPT(NONCE)) { ret = gnutls_rnd(GNUTLS_RND_NONCE, nonce.data, nonce.size); if (ret < 0) { fprintf(stderr, "gnutls_rnd: %s\n", gnutls_strerror(ret)); exit(1); } n = &nonce; } else { n = NULL; } ret = send_ocsp_request(url, cert, issuer, &resp_data, n); if (ret < 0) { fprintf(stderr, "Cannot send OCSP request\n"); exit(1); } _response_info(&resp_data); if (HAVE_OPT(LOAD_TRUST)) { v = _verify_response(&resp_data, n, NULL); } else if (HAVE_OPT(LOAD_SIGNER)) { v = _verify_response(&resp_data, n, load_signer()); } else { fprintf(stderr, "\nAssuming response's signer = issuer (use --load-signer to override).\n"); v = _verify_response(&resp_data, n, issuer); } if (HAVE_OPT(OUTFILE) && (v == 0 || HAVE_OPT(IGNORE_ERRORS))) { fwrite(resp_data.data, 1, resp_data.size, outfile); } if (v && !HAVE_OPT(IGNORE_ERRORS)) exit(1); }