Skip to content
Snippets Groups Projects
Commit 0e087c64 authored by Alena Petraki's avatar Alena Petraki :nail_care_tone1:
Browse files

Добавлена функция для получения TLS TransportCredentials

parent 66b02b9a
No related branches found
No related tags found
No related merge requests found
......@@ -131,6 +131,15 @@ func WithOAuth2Credentials(ctx context.Context, tokenURL, clientID, clientSecret
// WithTLSCredentials возвращает опции для создания grpc-соединения с TLS-сертификатами
func WithTLSCredentials(ctx context.Context, cert, cacert, key []byte) (grpc.DialOption, error) {
creds, err := TLSCredentials(ctx, cert, cacert, key)
if err != nil {
return nil, err
}
return grpc.WithTransportCredentials(creds), nil
}
// TLSCredentials возвращает TransportCredentials для создания grpc-соединения с TLS-сертификатами
func TLSCredentials(ctx context.Context, cert, cacert, key []byte) (credentials.TransportCredentials, error) {
certPool := x509.NewCertPool()
if !certPool.AppendCertsFromPEM(cacert) {
return nil, errors.New("CA certificate not loaded")
......@@ -139,5 +148,5 @@ func WithTLSCredentials(ctx context.Context, cert, cacert, key []byte) (grpc.Dia
if err != nil {
return nil, err
}
return grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{Certificates: []tls.Certificate{clientCert}, RootCAs: certPool})), nil
return credentials.NewTLS(&tls.Config{Certificates: []tls.Certificate{clientCert}, RootCAs: certPool}), nil
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment