def dot(self): parser = argparse.ArgumentParser(description='Create DNS over TLS stamp') self.append_common_arguments(parser) parser.add_argument('-t', '--hashes', type=str, help="a comma-separated list of tbs certificate hashes (e.g.: 3e1a1a0f6c53f3e97a492d57084b5b9807059ee057ab1505876fd83fda3db838)") parser.add_argument('-n', '--hostname', required=True, type=str, help="the server hostname which will also be used as a SNI name (e.g.: dot.example.com)") parser.add_argument('-b', '--bootstrap_ips', type=str, help="a comma-separated list of bootstrap ips (e.g.: 1.1.1.1,1.0.0.1)") args = parser.parse_args(sys.argv[2:]) options = [] if args.dnssec: options.append(Option.DNSSEC) if args.logs: options.append(Option.NO_LOGS) if args.filter: options.append(Option.NO_FILTERS) parameter = dnsstamps.prepare_dot("" if args.address is None else args.address, [] if args.hashes is None else args.hashes.split(','), args.hostname, options, [] if args.bootstrap_ips is None else args.bootstrap_ips.split(',')) dnsstamps.format(parameter)
def test_format_dot_stamp(self): address = "[fe80::6d6d:f72c:3ad:60b8]" hashes = [ "3e1a1a0f6c53f3e97a492d57084b5b9807059ee057ab1505876fd83fda3db838" ] hostname = "doh.example.com" parameter = dnsstamps.prepare_dot(address, hashes, hostname) dnsstamps.format(parameter)