[dnssec_generate.py] drill -> knotc
This commit is contained in:
parent
8c2369d474
commit
84d93d61b3
1 changed files with 10 additions and 8 deletions
|
@ -16,17 +16,19 @@ except:
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
ds_records = {}
|
ds_records = {}
|
||||||
for zone in zones:
|
for zone in zones:
|
||||||
ds = subprocess.check_output(['drill', '-s', '@localhost', '-t', 'DNSKEY', zone]).decode('utf-8')
|
cds = subprocess.check_output(['knotc', 'zone-read', zone, '@', 'CDS'])[:-1].decode('utf-8')
|
||||||
|
ds = {}
|
||||||
try:
|
try:
|
||||||
m = re.search(r'id = (\d+) \(ksk\)', ds)
|
cds = cds.split(' ')
|
||||||
tag = m.group(1)
|
ds['subzone'] = cds[1]
|
||||||
ds = ds.split('\n')
|
ds['id'] = cds[4]
|
||||||
ds = ds[ds.index('; equivalent DS records for key ' + tag + ':')+2].split('\t')
|
ds['algo'] = cds[5]
|
||||||
|
ds['type'] = cds[6]
|
||||||
|
ds['fp'] = cds[7]
|
||||||
except:
|
except:
|
||||||
print('Unable to find ksk for', zone)
|
print('Unable to find ksk for', zone)
|
||||||
continue
|
continue
|
||||||
ds[0] = ds[0][ds[0][2:].index(' ')+3:]
|
ds['ttl'] = 172800
|
||||||
ds[-1:] = ds[-1].split(' ')
|
ds_records[zone] = ds
|
||||||
ds_records[zone] = {'subzone': ds[0], 'ttl': ds[1], 'id': ds[4], 'algo': ds[5], 'type': ds[6], 'fp': ds[7]}
|
|
||||||
with open('dnssec.json', 'w') as dnssec:
|
with open('dnssec.json', 'w') as dnssec:
|
||||||
json.dump(ds_records, dnssec)
|
json.dump(ds_records, dnssec)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue