From 525410630eef178da1a34facd6cf6df437bb706e 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 Former-commit-id: 508a5ad64d9b75f34474ab631a6126db78618ec4 [formerly 0f4d3525998db6a60343c64e40589cf7ddad804c] [formerly 1d29ed0259dff609ee49c384d9ed80bd1057ae0a [formerly e927b6861b59f72be54822fde9dc674e748aeba4 [formerly ec2c75917880b868654ac65eff562259ce5d584a]]] Former-commit-id: 9f3fafe9d9b9e5965fe2854b748579042e9f7639 [formerly 3d1a563666349cdef7e96d0e4dc2bf1ce7024511] Former-commit-id: fe0b27a75cf202add6ba8b2da4a793414588c868 Former-commit-id: 41a674501645296ce607b7224aedc8fe5a0a75fe --- 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