How to use certificate-transparency library?

Viewed 1386

The Python library for searching certificate logs has very little documentation. How is it possible to use it to search the logs and retrieve something intelligible?

The closest I can find is just to run dashboard.py or simple_scan.py, but simple_scan.py throws this error:

  File "/certificate-transparency/python/ct/client/tools/simple_scan.py", line 35, in run
    if not FLAGS.output:
NameError: global name 'FLAGS' is not defined

This makes no sense since FLAGS is part of gflags and gflags is imported in the script.

dashboard.py throws this error:

  File "/certificate-transparency/python/ct/dashboard/dashboard.py", line 141, in <module>
    with open(FLAGS.ctlog_config, "r") as config:
IOError: [Errno 2] No such file or directory: 'ct/config/logs.config'

ct/config/logs.config definitely exists. I assume it's a PYTHONPATH issue, but ct's parent directory, python, is in the PYTHONPATH.

Ideally I wouldn't use this library as scripts anyway but as a library. I suppose I could just basically cut and paste what I need from the scripts, but it's not clear what I need for the scripts to function since the scripts don't function at all!

I see absolutely no guidance as to how to handle this thing. As another example, I sense that I could use something like this async_client, but it's not at all clear what exactly it's doing beyond fetching an sth and running as a server in some way.

Any ideas? How am I supposed to figure this out?

2 Answers

If you set the variable PYTHONPATH to the python folder you could start using it.

export PYTHONPATH=/path-to-repo/certificate-transparency/python

The output flag can be set by starting the command in this way:

./ct/client/tools/simple_scan.py --output /tmp/pct 
Related