[英]libcurl: how to use TPM private key for mutual SSL authentication
我使用 C libcurl 庫。 我需要將 OCSP 裝訂與相互身份驗證相結合。 為此,我將采用以下示例的模型。 但是,我需要將客戶端證書的私鑰存儲在 TPM 芯片中。 您知道如何使用 tpm2-tss-engine 做到這一點嗎? 謝謝你的幫助。
https://curl.haxx.se/libcurl/c/smtp-ssl.html https://curl.haxx.se/libcurl/c/CURLOPT_SSLCERT.html
我能夠將存儲在 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 iot:AssumeRoleWithCertificate
。 html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.