簡體   English   中英

libcurl:如何使用 TPM 私鑰進行相互 SSL 身份驗證

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM