gRPC python 客户端认证示例
gRPC python client authentication example
如何使用 gRPC python auth 库进行客户端和服务器身份验证? docs 仅涵盖服务器身份验证。
grpc.secure_channel()
中是否有其他需要使用的标志?
服务器端,需要有:
server_credentials = grpc.ssl_server_credentials(
((private_key, cert_chain),), root_cert, require_client_auth=True)
server.add_secure_port('%s:%d' % (ip, port), server_credentials)
root_cert
是验证客户端证书的根CA。 private_key
和 cert_chain
将是服务器用于客户端验证的证书。
客户端:
creds = grpc.ssl_channel_credentials(
certificate_chain=cert_chain, private_key=cert_key, root_certificates=root_ca)
channel = grpc.secure_channel('%s:%d' % (hostname, port), creds)
其中 root_ca
是根 CA,用于验证服务器的证书链,cert_chain
和 cert_key
用于对客户端进行身份验证。
如何使用 gRPC python auth 库进行客户端和服务器身份验证? docs 仅涵盖服务器身份验证。
grpc.secure_channel()
中是否有其他需要使用的标志?
服务器端,需要有:
server_credentials = grpc.ssl_server_credentials(
((private_key, cert_chain),), root_cert, require_client_auth=True)
server.add_secure_port('%s:%d' % (ip, port), server_credentials)
root_cert
是验证客户端证书的根CA。 private_key
和 cert_chain
将是服务器用于客户端验证的证书。
客户端:
creds = grpc.ssl_channel_credentials(
certificate_chain=cert_chain, private_key=cert_key, root_certificates=root_ca)
channel = grpc.secure_channel('%s:%d' % (hostname, port), creds)
其中 root_ca
是根 CA,用于验证服务器的证书链,cert_chain
和 cert_key
用于对客户端进行身份验证。