[IMP] Add create intermediate_ca

This commit is contained in:
2024-05-07 19:01:31 +02:00
parent 2606866215
commit 498c962f30
2 changed files with 57 additions and 25 deletions
+31 -13
View File
@@ -10,28 +10,46 @@
#-------------------------------------------------------------------------------
from optparse import OptionParser, OptionGroup
from argparse import ArgumentParser
from common import *
def main():
parser = OptionParser()
parser.add_option('--initialize', dest="initialize", action="store_true", help="Create PKI")
parser.add_option('--create-intermediate', dest="create_intermediate", action="store_true", help="Create an intermediate CA")
parser.add_option('--create-dc-cert', dest="create_dc_cert", action="store_true", help="Create a certificat for a Domain Controler")
usage = 'Usage : '
parser = ArgumentParser(prog='Samba PKI Tools',
description='Manage PKI for Samba')
dangerous_group = OptionGroup(parser,'Dangerous options', "Caution: use these options at your own risk.")
dangerous_group.add_option('-f', '--force', dest="force", action="store_true", help="Force reinitialize PKI. VERY DANGEROUS")
parser.add_option_group(dangerous_group)
create_group = parser.add_argument_group('Create options')
create_group.add_argument('--initialize', dest="initialize", action="store_true", help="Create PKI")
create_group.add_argument('--create-intermediate', dest="create_intermediate", action="store_true", help="Create an intermediate CA. Specify name with --name option.")
create_group.add_argument('--create-dc-cert', dest="create_dc_cert", action="store_true", help="Create a certificat for a Domain Controler")
debug_group = OptionGroup(parser, 'Debug options', 'Get more information to debug')
debug_group.add_option('-v', '--verbose', dest="verbose", action="store_true", help="Print all command")
parser.add_option_group(debug_group)
root_group = parser.add_argument_group('Root CA options')
root_group.add_argument('--root-crl', dest='root_crl', help='Regenerate CRL for root CA')
root_group.add_argument('--root-show-certs','--root-show-certificates', dest="root_certs", help='List all certificates issues of root CA')
(options, args) = parser.parse_args()
intermediate_group = parser.add_argument_group('Intermediate CA options', 'Manage intermediate CA')
intermediate_group.add_argument('--name', dest='intermediate_name', help='Specify what intermediate CA to manage')
intermediate_group.add_argument('--crl', dest='intermediate_crl', help='Regenerate CRL for intermediate CA')
intermediate_group.add_argument('--show-certs', '--show-certificates', dest='intermediate_list', help='List all certificates issues of intermediate CA')
if options.initialize:
create_openssl_config(force=options.force,verbose=options.verbose)
dangerous_group = parser.add_argument_group('Dangerous options', "Caution: use these options at your own risk.")
dangerous_group.add_argument('-f', '--force', dest="force", action="store_true", help="Force reinitialize PKI. VERY DANGEROUS")
debug_group = parser.add_argument_group('Debug options')
debug_group.add_argument('-v', '--verbose', dest="verbose", action="store_true", help="Print all command")
args = parser.parse_args()
if args.initialize:
create_openssl_config(force=args.force,verbose=args.verbose)
if args.create_intermediate:
if not args.intermediate_name:
print('Add --name to create intermediate CA')
else:
create_openssl_intermediate(args.intermediate_name,args.force,args.verbose)
if __name__ == '__main__':