# catlfish catlfish is a Certificate Transparency log server (RFC 6962). # Requirements In order to compile catlfish, the following software packages are needed: - A compiled https://git.nordu.net/plop.git application in ../plop - A compiled https://github.com/basho/lager (for logging) in ../lager - A compiled https://github.com/mochi/mochiweb (for web server functionality) in ../mochiweb - A compiled https://github.com/benoitc/hackney.git (http client) in ../hackney Note: hackney is dependent on rebar, but doesn't include one. You can use the rebar from lager by adding "REBAR=../lager/rebar" to the make command line, or install rebar yourself. In order to perform merge operations, the following software packages are needed: python-ecdsa, python-yaml. In order to use the tools for submitting certificates, the following software package is needed: python-pyasn1. # Compile $ make $ make release # Start This will set up and start a small test system with an empty log: $ make tests-prepare tests-start To create an empty tree, do a first merge: $ (cd catlfish; ../tools/merge.py --config ../test/catlfish-test.cfg --localconfig ../test/catlfish-test-local-merge.cfg) To submit a test cert and verify the resulting SCT: $ (cd catlfish; ../tools/submitcert.py --parallel=1 --store ../tools/testcerts/pre2.txt --check-sct --sct-file=submittedcerts https://localhost:8080/ --publickey=tests/keys/logkey.pem) # Logs and traces Logs can be found in catlfish/log/. The amount of log sent to the console can be adjusted at runtime using lager:set_loglevel(lager_console_backend, NewLevel). where ''NewLevel'' is one of debug, info, notice, warning, error, critical, alert, emergency