"cyberdoggrpc/dogproto"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
var addr = flag.String("addr", "192.168.31.114:50052", "the address to connect to")
cert, err := tls.LoadX509KeyPair("cert/client-cert.pem", "cert/client-key.pem")
if err != nil {
log.Fatalf("failed to load client cert: %v", err)
}
ca := x509.NewCertPool()
caFilePath := "cert/ca-cert.pem"
caBytes, err := os.ReadFile(caFilePath)
if err != nil {
log.Fatalf("failed to read ca cert %q: %v", caFilePath, err)
}
if ok := ca.AppendCertsFromPEM(caBytes); !ok {
log.Fatalf("failed to parse %q", caFilePath)
}
tlsConfig := &tls.Config{
ServerName: "cyberdog2.server",
Certificates: []tls.Certificate{cert},
RootCAs: ca,
}
conn, err := grpc.Dial(*addr, grpc.WithTransportCredentials(credentials.NewTLS(tlsConfig)))
if err != nil {
log.Fatalf("did not connect: %v", err)
}
defer conn.Close()
callSkill(dogproto.NewGrpcAppClient(conn), "111")