From 219a7910ad8ec8f0a2553c2ad98ba9d90b6fa745 Mon Sep 17 00:00:00 2001 From: Walter Oggioni Date: Wed, 14 Feb 2024 21:21:07 +0800 Subject: [PATCH] added cli parameters to server --- sspoc/server.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/sspoc/server.py b/sspoc/server.py index c765bf7..fe5ed92 100644 --- a/sspoc/server.py +++ b/sspoc/server.py @@ -1,4 +1,7 @@ import flask +import sys +import ssl +from argparse import ArgumentParser from flask import Flask, send_from_directory from flask import request from functools import wraps @@ -170,7 +173,25 @@ def hello(): return 'hello anonymous' def main(): - app.run(host='0.0.0.0', port=1443, ssl_context='adhoc') + parser = ArgumentParser( + prog='session-security-poc', + description='Program to demostrate improved user session security') + parser.add_argument('--host', default='127.0.0.1') + parser.add_argument('--port', default='8080') + parser.add_argument('--key-file') + parser.add_argument('--cert-file') + parser.add_argument('--tls-self-signed', action='store_true') + + args = parser.parse_args(sys.argv[1:]) + + if args.tls_self_signed: + ssl_context = 'adhoc' + elif args.key_file and args.cert_file: + ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) + ssl_context.load_cert_chain(certfile=args.cert_file, keyfile=args.key_file) + else: + ssl_context = None + app.run(host=args.host, port=args.port, ssl_context=ssl_context) if __name__ == '__main__':