gitee.com/h79/goutils@v1.22.10/rpc/tls/client.go (about) 1 package tls 2 3 import ( 4 "crypto/tls" 5 commontls "gitee.com/h79/goutils/common/tls" 6 "google.golang.org/grpc/credentials" 7 ) 8 9 type Client struct { 10 commontls.Tls 11 ServerName string `json:"serverName" yaml:"serverName" xml:"serverName"` 12 } 13 14 func (t *Client) GetCredentialsByCA() (credentials.TransportCredentials, error) { 15 cert, certPool, err := t.GetCredential() 16 if err != nil { 17 return nil, err 18 } 19 20 return credentials.NewTLS(&tls.Config{ 21 Certificates: []tls.Certificate{cert}, 22 ServerName: t.ServerName, 23 RootCAs: certPool, 24 }), nil 25 } 26 27 func (t *Client) GetTLSCredentials() (credentials.TransportCredentials, error) { 28 c, err := credentials.NewClientTLSFromFile(t.CertFile, t.ServerName) 29 if err != nil { 30 return nil, err 31 } 32 return c, err 33 }