Extract common SSL certificate option processing

This commit is contained in:
Henrik Nordstrom 2011-02-16 15:49:54 +01:00
parent d1fb761ae7
commit 7758385ac1
5 changed files with 26 additions and 98 deletions

View File

@ -510,5 +510,21 @@ def certificate_option_group(parser):
) )
parser.add_option_group(group) parser.add_option_group(group)
def process_certificate_option_group(options):
if options.cert is not None:
options.cert = os.path.expanduser(options.cert)
if not os.path.exists(options.cert):
print >> sys.stderr, "Creating bogus certificate at %s"%options.cert
utils.make_bogus_cert(options.cert)
if options.cacert is not None:
options.cacert = os.path.expanduser(options.cacert)
if not os.path.exists(options.cacert):
print >> sys.stderr, "Creating bogus CA certificate at %s"%options.cacert
utils.make_bogus_cert(options.cacert, newca=True, commonName="Dummy CA")
if options.certpath is not None:
options.certpath = os.path.expanduser(options.certpath)
elif options.cacert is not None:
options.certpath = os.path.dirname(options.cacert)
if options.cache is not None:
options.cache = os.path.expanduser(options.cache)

View File

@ -43,12 +43,7 @@ if __name__ == '__main__':
if options.quiet: if options.quiet:
options.verbose = 0 options.verbose = 0
options.cert = os.path.expanduser(options.cert) utils.process_certificate_option_group(options)
options.certpath = os.path.expanduser(options.certpath)
if not os.path.exists(options.cert):
print >> sys.stderr, "Creating bogus certificate at %s"%options.cert
utils.make_bogus_cert(options.cert)
proxy.config = proxy.Config( proxy.config = proxy.Config(
certfile = options.cert, certfile = options.cert,

View File

@ -30,29 +30,7 @@ if __name__ == '__main__':
version="%%prog %s"%VERSION, version="%%prog %s"%VERSION,
) )
parser.add_option( utils.certificate_option_group(parser)
"--cert", action="store",
type = "str", dest="cert", default="~/.mitmproxy/default.pem",
help = "SSL certificate file."
)
parser.add_option(
"-c", "--cacert", action="store",
type = "str", dest="cacert", default="~/.mitmproxy/ca.pem",
help = "SSL CA certificate file."
)
parser.add_option(
"--certpath", action="store",
type = "str", dest="certpath", default=None,
help = "SSL certificate store path."
)
parser.add_option(
"--ciphers", action="store",
type = "str", dest="ciphers", default=None,
help = "SSL ciphers."
)
parser.add_option( parser.add_option(
"-p", "--port", action="store", "-p", "--port", action="store",
@ -78,20 +56,8 @@ if __name__ == '__main__':
if options.quiet: if options.quiet:
options.verbose = 0 options.verbose = 0
if options.cert is not None: utils.process_certificate_option_group(options)
options.cert = os.path.expanduser(options.cert)
if not os.path.exists(options.cert):
print >> sys.stderr, "Creating bogus certificate at %s"%options.cert
utils.make_bogus_cert(options.cert)
if options.cacert is not None:
options.cacert = os.path.expanduser(options.cacert)
if not os.path.exists(options.cacert):
print >> sys.stderr, "Creating bogus CA certificate at %s"%options.cacert
utils.make_bogus_cert(options.cacert, newca=True, commonName="Dummy CA")
if options.certpath is not None:
options.certpath = os.path.expanduser(options.certpath)
elif options.cacert is not None:
options.certpath = os.path.dirname(options.cacert)
if options.cache is not None: if options.cache is not None:
options.cache = os.path.expanduser(options.cache) options.cache = os.path.expanduser(options.cache)

View File

@ -85,20 +85,8 @@ if __name__ == '__main__':
options, args = parser.parse_args() options, args = parser.parse_args()
if options.cert is not None: utils.process_certificate_option_group(options)
options.cert = os.path.expanduser(options.cert)
if not os.path.exists(options.cert):
print >> sys.stderr, "Creating bogus certificate at %s"%options.cert
utils.make_bogus_cert(options.cert)
if options.cacert is not None:
options.cacert = os.path.expanduser(options.cacert)
if not os.path.exists(options.cacert):
print >> sys.stderr, "Creating bogus CA certificate at %s"%options.cacert
utils.make_bogus_cert(options.cacert, newca=True, commonName="Dummy CA")
if options.certpath is not None:
options.certpath = os.path.expanduser(options.certpath)
elif options.cacert is not None:
options.certpath = os.path.dirname(options.cacert)
if options.cache is not None: if options.cache is not None:
options.cache = os.path.expanduser(options.cache) options.cache = os.path.expanduser(options.cache)

View File

@ -29,29 +29,7 @@ if __name__ == '__main__':
version="%%prog %s"%VERSION, version="%%prog %s"%VERSION,
) )
parser.add_option( utils.certificate_option_group(parser)
"--cert", action="store",
type = "str", dest="cert", default="~/.mitmproxy/default.pem",
help = "SSL certificate file."
)
parser.add_option(
"-c", "--cacert", action="store",
type = "str", dest="cacert", default="~/.mitmproxy/ca.pem",
help = "SSL CA certificate file."
)
parser.add_option(
"--certpath", action="store",
type = "str", dest="certpath", default=None,
help = "SSL certificate store path."
)
parser.add_option(
"--ciphers", action="store",
type = "str", dest="ciphers", default=None,
help = "SSL ciphers."
)
parser.add_option( parser.add_option(
"-p", "--port", action="store", "-p", "--port", action="store",
@ -83,22 +61,7 @@ if __name__ == '__main__':
if options.quiet: if options.quiet:
options.verbose = 0 options.verbose = 0
if options.cert is not None: utils.process_certificate_option_group(options)
options.cert = os.path.expanduser(options.cert)
if not os.path.exists(options.cert):
print >> sys.stderr, "Creating bogus certificate at %s"%options.cert
utils.make_bogus_cert(options.cert)
if options.cacert is not None:
options.cacert = os.path.expanduser(options.cacert)
if not os.path.exists(options.cacert):
print >> sys.stderr, "Creating bogus CA certificate at %s"%options.cacert
utils.make_bogus_cert(options.cacert, newca=True, commonName="Dummy CA")
if options.certpath is not None:
options.certpath = os.path.expanduser(options.certpath)
elif options.cacert is not None:
options.certpath = os.path.dirname(options.cacert)
if options.cache is not None:
options.cache = os.path.expanduser(options.cache)
proxy.config = proxy.Config( proxy.config = proxy.Config(
certfile = options.cert, certfile = options.cert,