From 0aa80dc79c5ab4e02307c689980f0099d11ade9c Mon Sep 17 00:00:00 2001 From: "R.I.Pienaar" Date: Thu, 5 Dec 2019 14:22:04 +0100 Subject: [PATCH] support TLS on the jsm command Signed-off-by: R.I.Pienaar --- jetstream/jsm/jsm.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/jetstream/jsm/jsm.go b/jetstream/jsm/jsm.go index 06cc8c40..3c5d3c0c 100644 --- a/jetstream/jsm/jsm.go +++ b/jetstream/jsm/jsm.go @@ -31,7 +31,7 @@ import ( var usageStr = ` Usage: - jsm [-s server] [-creds file] [command] + jsm [-s server] [-creds file] [-tlscert file] [-tlskey file] [-tlscacert file] [command] Available Commands: info # General account info @@ -63,6 +63,9 @@ func main() { var url = flag.String("s", nats.DefaultURL, "The NATS System URL") var userCreds = flag.String("creds", "", "User Credentials File") var showHelp = flag.Bool("h", false, "Show help message") + var tlsCert = flag.String("tlscert", "", "Client certificate file") + var tlsKey = flag.String("tlskey", "", "Client private key file") + var tlsCA = flag.String("tlscacert", "", "Client certificate CA for verification") log.SetFlags(0) flag.Usage = usage @@ -85,6 +88,14 @@ func main() { opts = append(opts, nats.UserCredentials(*userCreds)) } + if *tlsCert != "" && *tlsKey != "" { + opts = append(opts, nats.ClientCert(*tlsCert, *tlsKey)) + } + + if *tlsCA != "" { + opts = append(opts, nats.RootCAs(*tlsCA)) + } + // Connect to NATS nc, err := nats.Connect(*url, opts...) if err != nil {