| Index: openssl/doc/apps/tsget.pod
|
| ===================================================================
|
| --- openssl/doc/apps/tsget.pod (revision 0)
|
| +++ openssl/doc/apps/tsget.pod (revision 0)
|
| @@ -0,0 +1,194 @@
|
| +=pod
|
| +
|
| +=head1 NAME
|
| +
|
| +tsget - Time Stamping HTTP/HTTPS client
|
| +
|
| +=head1 SYNOPSIS
|
| +
|
| +B<tsget>
|
| +B<-h> server_url
|
| +[B<-e> extension]
|
| +[B<-o> output]
|
| +[B<-v>]
|
| +[B<-d>]
|
| +[B<-k> private_key.pem]
|
| +[B<-p> key_password]
|
| +[B<-c> client_cert.pem]
|
| +[B<-C> CA_certs.pem]
|
| +[B<-P> CA_path]
|
| +[B<-r> file:file...]
|
| +[B<-g> EGD_socket]
|
| +[request]...
|
| +
|
| +=head1 DESCRIPTION
|
| +
|
| +The B<tsget> command can be used for sending a time stamp request, as
|
| +specified in B<RFC 3161>, to a time stamp server over HTTP or HTTPS and storing
|
| +the time stamp response in a file. This tool cannot be used for creating the
|
| +requests and verifying responses, you can use the OpenSSL B<ts(1)> command to
|
| +do that. B<tsget> can send several requests to the server without closing
|
| +the TCP connection if more than one requests are specified on the command
|
| +line.
|
| +
|
| +The tool sends the following HTTP request for each time stamp request:
|
| +
|
| + POST url HTTP/1.1
|
| + User-Agent: OpenTSA tsget.pl/<version>
|
| + Host: <host>:<port>
|
| + Pragma: no-cache
|
| + Content-Type: application/timestamp-query
|
| + Accept: application/timestamp-reply
|
| + Content-Length: length of body
|
| +
|
| + ...binary request specified by the user...
|
| +
|
| +B<tsget> expects a response of type application/timestamp-reply, which is
|
| +written to a file without any interpretation.
|
| +
|
| +=head1 OPTIONS
|
| +
|
| +=over 4
|
| +
|
| +=item B<-h> server_url
|
| +
|
| +The URL of the HTTP/HTTPS server listening for time stamp requests.
|
| +
|
| +=item B<-e> extension
|
| +
|
| +If the B<-o> option is not given this argument specifies the extension of the
|
| +output files. The base name of the output file will be the same as those of
|
| +the input files. Default extension is '.tsr'. (Optional)
|
| +
|
| +=item B<-o> output
|
| +
|
| +This option can be specified only when just one request is sent to the
|
| +server. The time stamp response will be written to the given output file. '-'
|
| +means standard output. In case of multiple time stamp requests or the absence
|
| +of this argument the names of the output files will be derived from the names
|
| +of the input files and the default or specified extension argument. (Optional)
|
| +
|
| +=item B<-v>
|
| +
|
| +The name of the currently processed request is printed on standard
|
| +error. (Optional)
|
| +
|
| +=item B<-d>
|
| +
|
| +Switches on verbose mode for the underlying B<curl> library. You can see
|
| +detailed debug messages for the connection. (Optional)
|
| +
|
| +=item B<-k> private_key.pem
|
| +
|
| +(HTTPS) In case of certificate-based client authentication over HTTPS
|
| +<private_key.pem> must contain the private key of the user. The private key
|
| +file can optionally be protected by a passphrase. The B<-c> option must also
|
| +be specified. (Optional)
|
| +
|
| +=item B<-p> key_password
|
| +
|
| +(HTTPS) Specifies the passphrase for the private key specified by the B<-k>
|
| +argument. If this option is omitted and the key is passphrase protected B<tsget>
|
| +will ask for it. (Optional)
|
| +
|
| +=item B<-c> client_cert.pem
|
| +
|
| +(HTTPS) In case of certificate-based client authentication over HTTPS
|
| +<client_cert.pem> must contain the X.509 certificate of the user. The B<-k>
|
| +option must also be specified. If this option is not specified no
|
| +certificate-based client authentication will take place. (Optional)
|
| +
|
| +=item B<-C> CA_certs.pem
|
| +
|
| +(HTTPS) The trusted CA certificate store. The certificate chain of the peer's
|
| +certificate must include one of the CA certificates specified in this file.
|
| +Either option B<-C> or option B<-P> must be given in case of HTTPS. (Optional)
|
| +
|
| +=item B<-P> CA_path
|
| +
|
| +(HTTPS) The path containing the trusted CA certificates to verify the peer's
|
| +certificate. The directory must be prepared with the B<c_rehash>
|
| +OpenSSL utility. Either option B<-C> or option B<-P> must be given in case of
|
| +HTTPS. (Optional)
|
| +
|
| +=item B<-rand> file:file...
|
| +
|
| +The files containing random data for seeding the random number
|
| +generator. Multiple files can be specified, the separator is B<;> for
|
| +MS-Windows, B<,> for VMS and B<:> for all other platforms. (Optional)
|
| +
|
| +=item B<-g> EGD_socket
|
| +
|
| +The name of an EGD socket to get random data from. (Optional)
|
| +
|
| +=item [request]...
|
| +
|
| +List of files containing B<RFC 3161> DER-encoded time stamp requests. If no
|
| +requests are specifed only one request will be sent to the server and it will be
|
| +read from the standard input. (Optional)
|
| +
|
| +=back
|
| +
|
| +=head1 ENVIRONMENT VARIABLES
|
| +
|
| +The B<TSGET> environment variable can optionally contain default
|
| +arguments. The content of this variable is added to the list of command line
|
| +arguments.
|
| +
|
| +=head1 EXAMPLES
|
| +
|
| +The examples below presume that B<file1.tsq> and B<file2.tsq> contain valid
|
| +time stamp requests, tsa.opentsa.org listens at port 8080 for HTTP requests
|
| +and at port 8443 for HTTPS requests, the TSA service is available at the /tsa
|
| +absolute path.
|
| +
|
| +Get a time stamp response for file1.tsq over HTTP, output is written to
|
| +file1.tsr:
|
| +
|
| + tsget -h http://tsa.opentsa.org:8080/tsa file1.tsq
|
| +
|
| +Get a time stamp response for file1.tsq and file2.tsq over HTTP showing
|
| +progress, output is written to file1.reply and file2.reply respectively:
|
| +
|
| + tsget -h http://tsa.opentsa.org:8080/tsa -v -e .reply \
|
| + file1.tsq file2.tsq
|
| +
|
| +Create a time stamp request, write it to file3.tsq, send it to the server and
|
| +write the response to file3.tsr:
|
| +
|
| + openssl ts -query -data file3.txt -cert | tee file3.tsq \
|
| + | tsget -h http://tsa.opentsa.org:8080/tsa \
|
| + -o file3.tsr
|
| +
|
| +Get a time stamp response for file1.tsq over HTTPS without client
|
| +authentication:
|
| +
|
| + tsget -h https://tsa.opentsa.org:8443/tsa \
|
| + -C cacerts.pem file1.tsq
|
| +
|
| +Get a time stamp response for file1.tsq over HTTPS with certificate-based
|
| +client authentication (it will ask for the passphrase if client_key.pem is
|
| +protected):
|
| +
|
| + tsget -h https://tsa.opentsa.org:8443/tsa -C cacerts.pem \
|
| + -k client_key.pem -c client_cert.pem file1.tsq
|
| +
|
| +You can shorten the previous command line if you make use of the B<TSGET>
|
| +environment variable. The following commands do the same as the previous
|
| +example:
|
| +
|
| + TSGET='-h https://tsa.opentsa.org:8443/tsa -C cacerts.pem \
|
| + -k client_key.pem -c client_cert.pem'
|
| + export TSGET
|
| + tsget file1.tsq
|
| +
|
| +=head1 AUTHOR
|
| +
|
| +Zoltan Glozik <zglozik@opentsa.org>, OpenTSA project (http://www.opentsa.org)
|
| +
|
| +=head1 SEE ALSO
|
| +
|
| +L<openssl(1)|openssl(1)>, L<ts(1)|ts(1)>, L<curl(1)|curl(1)>,
|
| +B<RFC 3161>
|
| +
|
| +=cut
|
|
|