Получить закрытый ключ в кодировке PEM из сертификата клиента шлюза API - PullRequest
1 голос
/ 27 мая 2020

Я следую следующему руководству, чтобы добавить сертификат SSL к API, размещенному на AWS API Gateway: aws -docs . Я могу успешно выполнить процедуру создания сертификата клиента с помощью консоли шлюза API, в результате чего получится следующий сертификат:

API Gateway Client Certificate

Я также могу Настройте API для использования сертификатов SSL, следуя подсказке. Проблема возникает в разделе «Настройка внутреннего HTTPS-сервера для проверки сертификата клиента». В инструкциях указано, что «вы должны получить закрытый ключ в формате PEM и сертификат на стороне сервера». Нажатие «копировать» возвращает сертификат, но я никогда не получал закрытый ключ при создании сертификата, и я не вижу никакой возможности получить закрытый ключ. Как мне go получить закрытый ключ в кодировке PEM для сертификата, созданного с помощью шлюза API?

Цель всего этого - создать http-запрос с использованием библиотеки python requests. Без сертификата при отправке запроса я получаю сообщение об ошибке, которое выглядит примерно так:

(Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)'))

Вы можете указать сертификат и закрытый ключ с такими запросами, как geeksforgeeks :

result = requests.post(url, cert=('/path/client.cert', '/path/client.key')

Однако, как указано выше, очевидного способа получить закрытый ключ, закодированный в PEM, не существует. Установка флага verify=False для request неприемлема для этого приложения из соображений безопасности. Таким образом, для этого приложения приемлемым решением будет либо способ получить закрытый ключ в формате PEM, либо создать python request другим способом, используя только файл .cert, полученный с помощью кнопки «копировать».

1 Ответ

0 голосов
/ 27 мая 2020

Под сертификатом клиента выберите «копию». Это скопирует содержимое тела в буфер обмена. Сохраните это в файле pem.

Доступен только ключ publi c

The SSL certificates that are generated by API Gateway are self-signed, and only the public key of a certificate is visible in the API Gateway console or through the APIs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...