Пример аутентификации клиента Python gRPC - PullRequest
0 голосов
/ 23 октября 2018

Как вы используете библиотеку аутентификации Python gRPC для аутентификации клиента и сервера? docs охватывает только проверку подлинности сервера.

Есть ли в grpc.secure_channel() дополнительные флаги, которые необходимо использовать?

1 Ответ

0 голосов
/ 24 октября 2018

На стороне сервера должно быть:

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 - корневой ЦС для проверки сертификата клиента.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 - корневой ЦС дляпроверьте цепочку сертификатов сервера, а cert_chain и cert_key используются для аутентификации клиента.

...