Extract common SSL certificate options into a group.

Use this only in mitmdump and mitmproxy for now.
This commit is contained in:
Aldo Cortesi 2011-02-16 23:09:42 +13:00
parent f5511350eb
commit d9374ff97b
3 changed files with 31 additions and 45 deletions

View File

@ -13,6 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import re, os, subprocess, datetime, textwrap, errno
import optparse
def format_timestamp(s):
d = datetime.datetime.fromtimestamp(s)
@ -474,6 +475,7 @@ def make_bogus_cert(certpath, countryName=None, stateOrProvinceName=None, locali
stdin=subprocess.PIPE
)
def mkdir_p(path):
try:
os.makedirs(path)
@ -483,3 +485,30 @@ def mkdir_p(path):
else:
raise
def certificate_option_group(parser):
group = optparse.OptionGroup(parser, "SSL")
group.add_option(
"--cert", action="store",
type = "str", dest="cert", default="~/.mitmproxy/default.pem",
help = "SSL certificate file."
)
group.add_option(
"-c", "--cacert", action="store",
type = "str", dest="cacert", default="~/.mitmproxy/ca.pem",
help = "SSL CA certificate file."
)
group.add_option(
"--certpath", action="store",
type = "str", dest="certpath", default="~/.mitmproxy/",
help = "SSL certificate store path."
)
group.add_option(
"--ciphers", action="store",
type = "str", dest="ciphers", default=None,
help = "SSL ciphers."
)
parser.add_option_group(group)

View File

@ -26,26 +26,7 @@ if __name__ == '__main__':
usage = "%prog [options]",
version="%%prog %s"%VERSION,
)
parser.add_option(
"--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="~/.mitmproxy/",
help = "SSL certificate store path."
)
parser.add_option(
"--ciphers", action="store",
type = "str", dest="ciphers", default=None,
help = "SSL ciphers."
)
utils.certificate_option_group(parser)
parser.add_option(
"-p", "--port", action="store",
type = "int", dest="port", default=8080,

View File

@ -26,37 +26,13 @@ if __name__ == '__main__':
usage = "%prog [options] [flowdump path]",
version="%%prog %s"%VERSION,
)
utils.certificate_option_group(parser)
parser.add_option(
"-a", "--addr", action="store",
type = "str", dest="addr", default='',
help = "Address to bind proxy to (defaults to all interfaces)"
)
parser.add_option(
"--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="~/.mitmproxy/",
help = "SSL certificate store path."
)
parser.add_option(
"--ciphers", action="store",
type = "str", dest="ciphers", default=None,
help = "SSL ciphers."
)
parser.add_option(
"-p", "--port", action="store",
type = "int", dest="port", default=8080,