From ec2c75917880b868654ac65eff562259ce5d584a Mon Sep 17 00:00:00 2001 From: Travis Scholl Date: Sun, 7 Feb 2016 10:20:41 -0800 Subject: [PATCH] enable TLS as option --- main.go | 8 +++++++- ssl/README.md | 10 ++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 ssl/README.md diff --git a/main.go b/main.go index e4bd4ce..2d37ebe 100644 --- a/main.go +++ b/main.go @@ -42,6 +42,7 @@ run this to start the server and then visit localhost at the port you specify Example: 'cowyo localhost' Example: 'cowyo -p :8080 localhost' Example: 'cowyo -db /var/lib/cowyo/db.bolt localhost' +Example: 'cowyo -p :8080 -crt ssl/server.crt -key ssl/server.key localhost' Options:`) flag.CommandLine.PrintDefaults() } @@ -64,5 +65,10 @@ Options:`) r.GET("/:title", editNote) r.GET("/:title/*option", everythingElse) r.DELETE("/listitem", deleteListItem) - r.Run(RuntimeArgs.Port) + if RuntimeArgs.ServerCRT != "" && RuntimeArgs.ServerKey != "" { + r.RunTLS(RuntimeArgs.Port, RuntimeArgs.ServerCRT, RuntimeArgs.ServerKey) + } else { + log.Println("No crt/key found, running non-https") + r.Run(RuntimeArgs.Port) + } } diff --git a/ssl/README.md b/ssl/README.md new file mode 100644 index 0000000..3f92770 --- /dev/null +++ b/ssl/README.md @@ -0,0 +1,10 @@ +# To create sample keys: + +``` +openssl genrsa -out server.key 2048 +openssl req -new -x509 -key server.key -days 3650 -nodes -out server.crt -keyout server.crt +``` + +## TODO + +* check if ed25519 keys work