Как передать файл сертификата и секретный ключ - Feign Client - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть требование совершать сторонние api-вызовы через https. Я хочу использовать симулированный клиент внутри приложения Spring Boot. У меня есть идея о симулировать клиента и как использовать его для вызова API. Но я не уверен, как передать файл сертификата и секретный ключ. Ниже приведен пример извлечения кода Python, которого я хотел добиться с помощью симулированного клиента. Может ли кто-нибудь помочь мне включить код, помеченный как **.

certificate_file = 'example.com.pem'
certificate_secret= 'exampleserver.key'

**context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
context.load_cert_chain(certificate_file, certificate_secret)
conn = http.client.HTTPSConnection("hostname", context=context)**
payload = "{<JSON payload>}"

headers = {
    'Content-Type': "application/json",
    }

conn.request("POST", "api/example/setInfo", payload, headers)

1 Ответ

0 голосов
/ 15 ноября 2019

Объедините закрытый ключ и открытый ключ в один файл pem. Используйте openssl для преобразования pem в формат файла pkcs12. Используйте файл pkcs12 и пароль, использованный при создании pkcs12, для создания хранилища ключей и хранилища доверенных сертификатов в коде.

cat exampleserver.key> test.pem cat example.com.pem >> test.pem

openssl pkcs12 -export -in test.pem -out test.pkcs12

...