Создание клиентских сертификатов для подключения через API

Чтобы создать клиентские сертификаты, выполните следующие действия:

  1. Получите от пользователя имя компьютера, для которого требуется создать клиентский сертификат.
  2. Получите от пользователя запрос на подпись сертификата (Сertificate Signing Request, далее CSR) для клиентского компьютера.

    Если требуется самостоятельно создать закрытый ключ клиента и CSR, вы можете использовать утилиту OpenSSL. Для этого введите команды:

    openssl genrsa -des3 -out client.key 4096

    openssl req -new -key client.key -out client.csr

  3. Создайте сертификат на основе полученного CSR, используя корневой сертификат и закрытый ключ gRPC-сервера. Сертификат должен быть создан на имя клиентского компьютера, который будет использоваться для установки соединения (см. пункт 1).

    Для создаваемого сертификата укажите в параметрах утилиты OpenSSL срок действия сертификата в днях (параметр days) и серийный номер сертификата (параметр set_serial). Пример команды создания сертификата:

    openssl x509 -req -days 365 -in client.csr \

    -CA product_facade_grpc_ca.crt \

    -CAkey product_facade_grpc_ca.key \

    -set_serial 01 -out client.crt

  4. Создайте цепочку сертификатов, включив корневой сертификат gRPC-сервера в итоговый клиентский сертификат.

    Если вы используете промежуточные сертификаты, они также должны быть включены в цепочку. Для создания цепочки сертификатов введите команду:

    cat product_facade_grpc_ca.crt >> client.crt

  5. Передайте пользователю клиентского приложения следующие сертификаты и ключи:
    • Сертификат gRPC-сервера (файл product_facade_grpc_server.crt).
    • Закрытый ключ клиента (файл client.key).

      Этот файл нужно передавать только в том случае, когда закрытый ключ клиента был создан администратором.

    • Цепочка сертификатов или клиентский сертификат (файл client.crt).

      Этот файл включает в себя цепочку сертификатов, начиная от подписанного сертификата клиента и заканчивая корневым сертификатом gRPC-сервера.

    • Если требуется передавать клиентский сертификат отдельно, передайте также корневой сертификат gRPC-сервера (файл product_facade_grpc_ca.crt) и все промежуточные сертификаты, если они используются.
В начало