Я смог использовать ключ, хранящийся в TPM, с openssl s_client
(возможно, это возможно с curl), но я могу сделать запрос HTTPS и получить ответ.
openssl
позволяет прочитать ключ из TPM. вы можете использовать команду s_client
для подключения через TCP, а затем отправить свой HTTP-запрос.
Пример команды будет выглядеть так:
Файл: http_request.txt (с двумя символами новой строки в конце)
GET /url/path HTTP/1.0
Host: hostname.com
cat http_request.txt | \
openssl s_client \
-nocommands \
-ign_eof \
-msgfile /dev/null \
-quiet \
-keyform engine \
-engine pkcs11 \
-cert mycertificate.pem \
-CAfile root.ca.pem \
-key 'pkcs11:model=SWTPM;manufacturer=Intel;token=mytoken;object=myobject;type=private;pin-value=mypin' \
-connect hostname.com:443
Это позволяет мне использовать TPM для выполнения запросов к AWS IoT: iot:AssumeRoleWithCertificate
предполагается, что ключ является файлом на диске: https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html
person
Jeff Peters
schedule
21.05.2020