Skip to content

Commit

Permalink
curl: add --cert-status option
Browse files Browse the repository at this point in the history
This enables the CURLOPT_SSL_VERIFYSTATUS functionality.
  • Loading branch information
ghedo authored and bagder committed Jan 16, 2015
1 parent f46c6fb commit bd0c3b3
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 0 deletions.
10 changes: 10 additions & 0 deletions docs/curl.1
Original file line number Diff line number Diff line change
Expand Up @@ -552,6 +552,16 @@ This is currently only implemented in the OpenSSL, GnuTLS and GSKit backends.

If this option is used several times, the last one will be used.
(Added in 7.39.0)
.IP "--cert-status"
(SSL) Tells curl to verify the status of the server certificate by using the
Certificate Status Request (aka. OCSP stapling) TLS extension.

If this option is enabled and the server sends an invalid (e.g. expired)
response, if the response suggests that the server certificate has been revoked,
or no response at all is received, the verification fails.

This is currently only implemented in the GnuTLS and NSS backends.
(Added in 7.41.0)
.IP "-f, --fail"
(HTTP) Fail silently (no output at all) on server errors. This is mostly done
to better enable scripts etc to better deal with failed attempts. In normal
Expand Down
1 change: 1 addition & 0 deletions src/tool_cfgable.h
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ struct OperationConfig {
bool globoff;
bool use_httpget;
bool insecure_ok; /* set TRUE to allow insecure SSL connects */
bool verifystatus;
bool create_dirs;
bool ftp_create_dirs;
bool ftp_skip_ip;
Expand Down
5 changes: 5 additions & 0 deletions src/tool_getparam.c
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,7 @@ static const struct LongShort aliases[]= {
{"En", "ssl-allow-beast", FALSE},
{"Eo", "login-options", TRUE},
{"Ep", "pinnedpubkey", TRUE},
{"Eq", "cert-status", FALSE},
{"f", "fail", FALSE},
{"F", "form", TRUE},
{"Fs", "form-string", TRUE},
Expand Down Expand Up @@ -1363,6 +1364,10 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
GetStr(&config->pinnedpubkey, nextarg);
break;

case 'q': /* --cert-status */
config->verifystatus = TRUE;
break;

default: /* certificate file */
{
char *certname, *passphrase;
Expand Down
3 changes: 3 additions & 0 deletions src/tool_operate.c
Original file line number Diff line number Diff line change
Expand Up @@ -1038,6 +1038,9 @@ static CURLcode operate_do(struct GlobalConfig *global,
/* libcurl default is strict verifyhost -> 2L */
/* my_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2L); */
}

if(config->verifystatus)
my_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, 1L);
}

if(built_in_protos & (CURLPROTO_SCP|CURLPROTO_SFTP)) {
Expand Down

0 comments on commit bd0c3b3

Please sign in to comment.