crl-monitor/client/bin/pypssl
Raphaël Vinot 5082038a95 Add API v2.0
2015-08-27 14:29:59 +02:00

30 lines
1.4 KiB
Python
Executable file

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import argparse
import pypssl
import json
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Query a Passive SSL instance.')
parser.add_argument("--url", default='https://www.circl.lu/', help='URL where the passive SSL is running (no path).')
parser.add_argument("-v", "--version", type=int, default=2, help='URL where the passive SSL is running (no path).')
parser.add_argument("-u", "--username", help='Username to login on the platform.')
parser.add_argument("-p", "--password", help='Password to login on the platform.')
parser.add_argument("-t", "--token", help='Token to login on the platform.')
parser.add_argument("-i", "--ip", help='IP to query (can be a block, max /23).')
parser.add_argument("-c", "--cert", help='SHA1 of the certificate to search.')
parser.add_argument("-f", "--fetch", help='SHA1 of the certificate to fetch.')
args = parser.parse_args()
p = pypssl.PyPSSL(args.url, args.version, (args.username, args.password), args.token)
if args.ip is not None:
print(json.dumps(p.query(args.ip)))
elif args.cert is not None:
print(json.dumps(p.query_cert(args.cert)))
elif args.fetch is not None:
print(json.dumps(p.fetch_cert(args.fetch, make_datetime=False)))
else:
print('You didn\'t query anything...')