|
@@ -10,17 +10,35 @@ import netifaces
|
|
|
import sys
|
|
|
import os
|
|
|
import socket
|
|
|
+import argparse
|
|
|
|
|
|
-if len(sys.argv) < 2:
|
|
|
- sys.exit('Usage: %s directory to output certificates' % sys.argv[0])
|
|
|
+parser = argparse.ArgumentParser()
|
|
|
|
|
|
-if not os.path.exists(sys.argv[1]):
|
|
|
- sys.exit('ERROR: Directory %s was not found!' % sys.argv[1])
|
|
|
+parser.add_argument('outdir',
|
|
|
+ type=str,
|
|
|
+ nargs='?',
|
|
|
+ default=os.getcwd(),
|
|
|
+ metavar='<OutputDirectory>')
|
|
|
+
|
|
|
+parser.add_argument('-u', '--uri',
|
|
|
+ metavar="<ApplicationUri>",
|
|
|
+ type=str,
|
|
|
+ dest="uri")
|
|
|
+
|
|
|
+parser.add_argument('-k', '--keysize',
|
|
|
+ metavar="<KeySize>",
|
|
|
+ type=int,
|
|
|
+ dest="keysize")
|
|
|
+
|
|
|
+args = parser.parse_args()
|
|
|
+
|
|
|
+if not os.path.exists(args.outdir):
|
|
|
+ sys.exit('ERROR: Directory %s was not found!' % args.outdir)
|
|
|
|
|
|
keysize = 2048
|
|
|
|
|
|
-if len(sys.argv) == 3:
|
|
|
- keysize = int(sys.argv[2])
|
|
|
+if args.keysize:
|
|
|
+ keysize = args.keysize
|
|
|
|
|
|
certsdir = os.path.dirname(os.path.abspath(__file__))
|
|
|
print(certsdir)
|
|
@@ -64,7 +82,7 @@ if iteratorValue < 2:
|
|
|
os.environ['HOSTNAME'] = socket.gethostname()
|
|
|
openssl_conf = os.path.join(certsdir, "localhost.cnf")
|
|
|
|
|
|
-os.chdir(os.path.abspath(sys.argv[1]))
|
|
|
+os.chdir(os.path.abspath(args.outdir))
|
|
|
|
|
|
os.system("""openssl req \
|
|
|
-config {} \
|
|
@@ -82,4 +100,4 @@ os.system("openssl rsa -inform PEM -in localhost.key -outform DER -out server_ke
|
|
|
os.remove("localhost.key")
|
|
|
os.remove("localhost.crt")
|
|
|
|
|
|
-print("Certificates generated in " + sys.argv[1])
|
|
|
+print("Certificates generated in " + args.outdir)
|