check_tsa
check_tsa is Nagios/Icinga plugin to check timestamps generated by TSA servers (RFC3161).
Usage
Usage: check_tsa -H host -p port -P path [OPTIONS..]
or -u TSA_URL [OPTIONS..]
general options:
-h show this help
-v increase verbosity
-V show version
-w days TSA certificate expiration warning (implies -C)
-c days TSA certificate expiration critical (implies -C)
(if -w/-c options are not provided, upcoming certificate
expiration is not checked)
TSA query Options:
-p port port number (default: default service protocol port)
-P path HTTP request path (default: /)
-s protocol protocol (scheme) (default: http)
-t seconds timeout (default: 3)
if not provided, DEFAULT_SOCKET_TIMEOUT applies, if available
-a sha1|sha256|.. message digest (hash) algorithm (default: sha256)
-i filename use file as input document (if not provided, empty file is used)
-C include certificate request in the query
-O OID request policy
-4 resolve hostname to IPv4 address
-6 resolve hostname to IPv6 address
verification options:
-b filename CA certificate file/bundle (openssl CAfile)
-d dirname CA certificate directory (openssl CApath)
-x filename TSA certificate
other options:
-Q filename save TSA query
-R filename save TSA response
Verifying timestamps generated at hypothetical TSA server URL http://tsa.example.org/tsa can be carried out by any of the following illustrative example commands:
check_tsa -H tsa.example.org -P /tsa -b EXAMPLE_CA_Root.pem -x EXAMPLE_TSA.pem
check_tsa -H tsa.example.org -P /tsa -b EXAMPLE_CA_Root.pem -C
check_tsa -H tsa.example.org -P /tsa -b EXAMPLE_CA_Root.pem -C -a sha512
check_tsa -u http://tsa.example.org/tsa -b EXAMPLE_CA_Root.pem -C -a sha512
Real-world example
$ wget -q 'http://www.globaltrustfinder.com/download.aspx?file=TrustAnchor\Ascertia\Ascertia%20Root%20CA%202.cer' -O ascertia_ca_2.crt $ wget -q 'http://www.globaltrustfinder.com/download.aspx?file=TrustAnchor\Ascertia\Ascertia%20Public%20CA%201.cer' -O ascertia_publ_ca_1.crt $ openssl x509 -in ascertia_ca_2.crt -inform DER -out ascertia_ca_2.pem -outform PEM $ openssl x509 -in ascertia_publ_ca_1.crt -inform DER -out ascertia_publ_ca_1.pem -outform PEM $ cat ascertia_ca_2.pem ascertia_publ_ca_1.pem > ascertia_bundle.pem $ check_tsa -H services.globaltrustfinder.com -P /adss/tsa -C -b ascertia_bundle.pem TSA OK: http://services.globaltrustfinder.com/adss/tsa TSR verified $ check_tsa -H services.globaltrustfinder.com -P /adss/tsa -C -b ascertia_bundle.pem -v TSA OK: http://services.globaltrustfinder.com/adss/tsa TSR verified; Jun 17 08:30:17 2014 GMT; /C=GB/O=Ascertia/CN=GlobalTrustFinder-Timestamping Service; sha1; 0x31D827AD23A306; 1.1.1.1.1
Requirements
check_tsa version 0.6 is using sh, curl, GNU date, openssl and perl.
Download
check_tsa-0.6.tgz (SHA1 sum: 5d6b3eb7043302f382bb6e45075eeafd8bc60523)