diff --git a/vendor/gobook.examples/ch4-05-grpc-hack/tls/main.go b/vendor/gobook.examples/ch4-05-grpc-hack/tls/main.go index 357da42..445f5cd 100644 --- a/vendor/gobook.examples/ch4-05-grpc-hack/tls/main.go +++ b/vendor/gobook.examples/ch4-05-grpc-hack/tls/main.go @@ -12,22 +12,24 @@ import ( "golang.org/x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/credentials" - "google.golang.org/grpc/reflection" ) var ( port = ":5000" - ca = "./ca.cer" - server_crt = "./server.cer" - server_key = "./server_pri.key" - client_crt = "./client.cer" - client_key = "./client_pri.key" + tlsDir = "./tls-config" + tlsServerName = "server" + + ca = tlsDir + "/ca.cer" + server_crt = tlsDir + "/server.cer" + server_key = tlsDir + "/server_pri.key" + client_crt = tlsDir + "/client.cer" + client_key = tlsDir + "/client_pri.key" ) -type server struct{} +type myGrpcServer struct{} -func (s *server) SayHello(ctx context.Context, in *HelloRequest) (*HelloReply, error) { +func (s *myGrpcServer) SayHello(ctx context.Context, in *HelloRequest) (*HelloReply, error) { return &HelloReply{Message: "Hello " + in.Name}, nil } @@ -39,13 +41,11 @@ func main() { } func startServer() { - // Load the certificates from disk certificate, err := tls.LoadX509KeyPair(server_crt, server_key) if err != nil { log.Panicf("could not load server key pair: %s", err) } - // Create a certificate pool from the certificate authority certPool := x509.NewCertPool() ca, err := ioutil.ReadFile(ca) if err != nil { @@ -57,12 +57,6 @@ func startServer() { log.Panic("failed to append client certs") } - // Create the channel to listen on - lis, err := net.Listen("tcp", port) - if err != nil { - log.Panicf("could not list on %s: %s", port, err) - } - // Create the TLS credentials creds := credentials.NewTLS(&tls.Config{ ClientAuth: tls.RequireAndVerifyClientCert, @@ -70,21 +64,16 @@ func startServer() { ClientCAs: certPool, }) - // Create the gRPC server with the credentials - s := grpc.NewServer(grpc.Creds(creds)) + server := grpc.NewServer(grpc.Creds(creds)) + RegisterGreeterServer(server, new(myGrpcServer)) - // Register the handler object - RegisterGreeterServer(s, &server{}) - - // Serve and Listen - if err := s.Serve(lis); err != nil { - log.Panicf("grpc serve error: %s", err) + lis, err := net.Listen("tcp", port) + if err != nil { + log.Panicf("could not list on %s: %s", port, err) } - // Register reflection service on gRPC server. - reflection.Register(s) - if err := s.Serve(lis); err != nil { - log.Fatalf("failed to serve: %v", err) + if err := server.Serve(lis); err != nil { + log.Panicf("grpc serve error: %s", err) } } @@ -94,25 +83,21 @@ func doClientWork() { log.Panicf("could not load client key pair: %s", err) } - // Create a certificate pool from the certificate authority certPool := x509.NewCertPool() ca, err := ioutil.ReadFile(ca) if err != nil { log.Panicf("could not read ca certificate: %s", err) } - - // Append the certificates from the CA if ok := certPool.AppendCertsFromPEM(ca); !ok { log.Panic("failed to append ca certs") } creds := credentials.NewTLS(&tls.Config{ - ServerName: "server", // NOTE: this is required! + ServerName: tlsServerName, // NOTE: this is required! Certificates: []tls.Certificate{certificate}, RootCAs: certPool, }) - // Create a connection with the TLS credentials conn, err := grpc.Dial("localhost"+port, grpc.WithTransportCredentials(creds)) if err != nil { log.Fatal(err) @@ -120,6 +105,7 @@ func doClientWork() { defer conn.Close() c := NewGreeterClient(conn) + r, err := c.SayHello(context.Background(), &HelloRequest{Name: "gopher"}) if err != nil { log.Fatalf("could not greet: %v", err) diff --git a/vendor/gobook.examples/ch4-05-grpc-hack/tls/ca.cer b/vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/ca.cer similarity index 100% rename from vendor/gobook.examples/ch4-05-grpc-hack/tls/ca.cer rename to vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/ca.cer diff --git a/vendor/gobook.examples/ch4-05-grpc-hack/tls/ca.csr b/vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/ca.csr similarity index 100% rename from vendor/gobook.examples/ch4-05-grpc-hack/tls/ca.csr rename to vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/ca.csr diff --git a/vendor/gobook.examples/ch4-05-grpc-hack/tls/ca.key b/vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/ca.key similarity index 100% rename from vendor/gobook.examples/ch4-05-grpc-hack/tls/ca.key rename to vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/ca.key diff --git a/vendor/gobook.examples/ch4-05-grpc-hack/tls/client.cer b/vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/client.cer similarity index 100% rename from vendor/gobook.examples/ch4-05-grpc-hack/tls/client.cer rename to vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/client.cer diff --git a/vendor/gobook.examples/ch4-05-grpc-hack/tls/client.csr b/vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/client.csr similarity index 100% rename from vendor/gobook.examples/ch4-05-grpc-hack/tls/client.csr rename to vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/client.csr diff --git a/vendor/gobook.examples/ch4-05-grpc-hack/tls/client.key b/vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/client.key similarity index 100% rename from vendor/gobook.examples/ch4-05-grpc-hack/tls/client.key rename to vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/client.key diff --git a/vendor/gobook.examples/ch4-05-grpc-hack/tls/client_pri.key b/vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/client_pri.key similarity index 100% rename from vendor/gobook.examples/ch4-05-grpc-hack/tls/client_pri.key rename to vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/client_pri.key diff --git a/vendor/gobook.examples/ch4-05-grpc-hack/tls/server.cer b/vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/server.cer similarity index 100% rename from vendor/gobook.examples/ch4-05-grpc-hack/tls/server.cer rename to vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/server.cer diff --git a/vendor/gobook.examples/ch4-05-grpc-hack/tls/server.csr b/vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/server.csr similarity index 100% rename from vendor/gobook.examples/ch4-05-grpc-hack/tls/server.csr rename to vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/server.csr diff --git a/vendor/gobook.examples/ch4-05-grpc-hack/tls/server.key b/vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/server.key similarity index 100% rename from vendor/gobook.examples/ch4-05-grpc-hack/tls/server.key rename to vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/server.key diff --git a/vendor/gobook.examples/ch4-05-grpc-hack/tls/server_pri.key b/vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/server_pri.key similarity index 100% rename from vendor/gobook.examples/ch4-05-grpc-hack/tls/server_pri.key rename to vendor/gobook.examples/ch4-05-grpc-hack/tls/tls-config/server_pri.key