Add SSL support on the client
authorJulien Andrieux <julien@pantomath.io>
Thu, 5 Oct 2017 15:36:26 +0000 (17:36 +0200)
committerJulien Andrieux <julien@pantomath.io>
Thu, 5 Oct 2017 15:36:26 +0000 (17:36 +0200)
client/main.go

index 1151776..5df1cdd 100644 (file)
@@ -6,12 +6,20 @@ import (
        "gitlab.com/pantomath-io/demo-grpc/api"
        "golang.org/x/net/context"
        "google.golang.org/grpc"
+       "google.golang.org/grpc/credentials"
 )
 
 func main() {
        var conn *grpc.ClientConn
 
-       conn, err := grpc.Dial(":7777", grpc.WithInsecure())
+       // Create the client TLS credentials
+       creds, err := credentials.NewClientTLSFromFile("cert/server.crt", "")
+       if err != nil {
+               log.Fatalf("could not load tls cert: %s", err)
+       }
+
+       // Initiate a connection with the server
+       conn, err = grpc.Dial("localhost:7777", grpc.WithTransportCredentials(creds))
        if err != nil {
                log.Fatalf("did not connect: %s", err)
        }
@@ -21,7 +29,7 @@ func main() {
 
        response, err := c.SayHello(context.Background(), &api.PingMessage{Greeting: "foo"})
        if err != nil {
-               log.Fatalf("Error when calling SayHello: %s", err)
+               log.Fatalf("error when calling SayHello: %s", err)
        }
        log.Printf("Response from server: %s", response.Greeting)
 }