Scantool gebruikt om de historische stop van de PKI Overheid certificaten afbouw te zien. De resultaten zijn in git commits verwerkt, dus per push kan je zien hoe het liep zodat ieder een eigen oordeel kan vormen.
  • Python 97.3%
  • Shell 2.7%
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Oscar Koeroo cd43711259
clean up
2026-04-29 23:32:13 +02:00
.vscode Changing test script to use my local resolver. 2022-12-10 12:03:00 +01:00
library Adding async functions 2022-12-10 17:17:50 +01:00
samples clean up 2026-04-29 23:16:08 +02:00
.gitignore New tests 2022-12-10 18:17:57 +01:00
cacert.pem Adding cacert.pem file from the Curl project, which origins from Mozilla. 2022-11-26 22:21:28 +01:00
main.py dnstools API change. 2022-12-10 15:16:41 +01:00
pkioverheidfinale.code-workspace name change 2022-12-10 18:27:32 +01:00
README.md clean up 2026-04-29 23:32:13 +02:00
requirements.txt Updating README and adding requirements.txt file 2022-11-28 23:09:59 +01:00
run.big.list.sh Clean up 2022-12-04 22:55:49 +01:00

Domain to IP, Whois and certificate checker.

The prime motivation to write this is to parse a list of hostnames (FQDNs) and create a CSV file as output to process the current state of these.

The output contains the:

  • FQDN
  • IP address (first A record returned)
  • Prefix of the IP address in its AS
  • The Autonomous System Number associated to the prefix.
  • Country of AS registration
  • Registrar
  • Last update for the prefix
  • Last update for the ASN
  • Subject distinguished name.
    • This is from the certificate found on port 443 using TLS, as with other certificate fields.
  • Issuer distinguished name.
  • Common Names
    • Concatenated for the case when there are two CN fields.
  • Subject Alternative Names, of the type DNS.
    • Concatenated string.
  • Not valid before time of the certificate.
  • Not valid after time of the certificate

Command-line options

% ./main.py --help
usage: cli.py [-h] [-v] [--parallel] [-i INPUT_FILENAME] [-o OUTPUT_FILENAME]

options:
  -h, --help            show this help message and exit
  -v, --verbose         Verbose mode. Default is off
  --parallel            Use parallel approachauthentication key.
  -i INPUT_FILENAME, --input-filename INPUT_FILENAME
                        Input filename.
  -o OUTPUT_FILENAME, --output-filename OUTPUT_FILENAME
                        Output filename.

Dependencies

pip3 install validators
pip3 install dnspython
pip3 install cryptography

Or use the requirements.txt file.

Example run

% ./main.py --input-filename samples/pkishort.txt --output-filename samples/short.csv -v
Input filename: samples/pkishort.txt
Output filename: samples/short.csv

Sample input and output

Input file: pkishort.txt

Output file: short.csv

Acknowledgements:

The example "pkioverheid.txt" file was created by Hugo Leisink.