🔐
gRPC 自分用 めも
自分用です
Link
メモ(ブクマ)っとかないと迷子になるやつ
-
Top page
- APIS
- Go
- Python
- Typescript
- Debug
- APIS
TLS
- TODO 時間があったら各ケースをちゃんと調べる
+ 雑 https じゃない場合は insecure() しとけばおけ
- Golang
- CloudRun とかの場合
- 公式
sysRoots, err := x509.SystemCertPool() if err != nil { return nil, err } creds := credentials.NewTLS(&tls.Config{RootCAs: sysRoots}) return ggrpc.WithTransportCredentials(creds)
- 無視する(Insecure)
config := &tls.Config{ InsecureSkipVerify: true, } opts := []grpc.DialOption{ grpc.WithTransportCredential(credentials.NewTls(config)), }
- 指定する場合 (自己証明書な感じ)
- 1個1個やってくぅ
caPem, err := os.ReadFile("cert/ca-cert.pem") // do something on error certPool := x509.NewCertPool() if !certPool.AppendCertsFromPEM(caPem) { // do error handling } config := &tls.Config{RootCAs: certPool, ServerName: "overrider name"} opts := []grpc.DialOption{ grpc.WithTransportCredential(credentials.NewTls(config)), }
- CertPoolから作る
grpc.WithTransportCredential( credentials.NewClientTLSFromCert(certPool, "overrider name") )
- ファイルから作る
grpc.WithTransportCredential( credentials.NewClientTLSFromFile("file path", "overrider name") )
- Channel
conn, err := session.NewGRPCConn("server addr", opts...)
- CloudRun とかの場合
- Python
- CloudRun とかの場合
ch = grpc.secure_channel("server addr", grpc.ssl_channel_credentials())
- 指定する場合
# 引数を指定する grpc.ssl_channel_credentials( root_certificates=None, private_key=None, )
- Typescript
- TODO
Discussion