Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys,json
- from string import Template
- print 'Number of arguments:', len(sys.argv), 'arguments.'
- if (len(sys.argv) < 2) :
- print("To use the script you must run it in the following way:")
- print("python script.py <name_of_the_json_file_to_load>")
- sys.kill(1)
- with open(str(sys.argv[1])) as data_file :
- data = json.load(data_file)
- for person in data :
- print(person["mail"])
- commonNameNoSpace = person["commonName"].encode("utf-8").replace(" ", "")
- createCert = Template('openssl req -new -nodes -config openssl.cnf -keyout sample-ca/client_$commonNameNoSpace.key -out sample-ca/client_$commonNameNoSpace.csr -subj "/C=$country/ST=$state/O=$organization/CN=$commonName/emailAddress=$mail"')
- signCert = Template('openssl ca -batch -config openssl.cnf -out sample-ca/client_$commonNameNoSpace.crt -in sample-ca/client_$commonNameNoSpace.csr')
- createKey = Template('openssl rsa -aes256 -passout pass:M4tr1x2017 -in sample-ca/client_$commonNameNoSpace.key -out sample-ca/client-pass_$commonNameNoSpace.key')
- exportKeys = Template('openssl pkcs12 -export -nodes -password pass:M4tr1x2017 -out sample-ca/client_$commonNameNoSpace.p12 -inkey sample-ca/client_$commonNameNoSpace.key -in sample-ca/client_$commonNameNoSpace.crt -certfile sample-ca/ca.crt')
- print createCert.substitute(country=person["country"].encode("utf-8"),state=person["state"].encode("utf-8"),organization=person["organization"].encode("utf-8"),commonName=person["commonName"].encode("utf-8"),commonNameNoSpace=commonNameNoSpace,mail=person["mail"].encode("utf-8"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement