Может ли libcurl использовать tpm2-tss-engine для соединений TLS? - PullRequest
1 голос
/ 23 февраля 2020

Я не нашел документации о том, как в приведенном ниже коде, взятом с официального сайта libcurl, могу ли я подключить tpm2-tss-engine, чтобы закрытый ключ был в TPM. Например, можно подключить tpm2-tss-engine к openssl.

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
  curl_easy_setopt(curl, CURLOPT_SSLCERT, "client.pem");
  curl_easy_setopt(curl, CURLOPT_SSLKEY, "key.pem");
  curl_easy_setopt(curl, CURLOPT_KEYPASSWD, "s3cret");
  ret = curl_easy_perform(curl);
  curl_easy_cleanup(curl);
}

Источник: https://curl.haxx.se/libcurl/c/CURLOPT_SSLCERT.html

1 Ответ

1 голос
/ 31 марта 2020

Вы можете указать curl использовать движок для закрытого ключа, установив опцию CURLOPT_SSLENGINE следующим образом:

CURL *curl = curl_easy_init();
if(curl) {

  curl_easy_setopt(curl, CURLOPT_SSLENGINE, "tpm2tss"); /* Set the engine for SSL private key */

  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
  curl_easy_setopt(curl, CURLOPT_SSLCERT, "client.pem");
  curl_easy_setopt(curl, CURLOPT_SSLKEY, "key.pem");
  curl_easy_setopt(curl, CURLOPT_KEYPASSWD, "s3cret");
  ret = curl_easy_perform(curl);
  curl_easy_cleanup(curl);
}

Подробности можно посмотреть здесь: https://curl.haxx.se/libcurl/c/CURLOPT_SSLENGINE.html

...