Использование libcurl с проверкой сертификата SSL в памяти - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь использовать libcurl, и я натолкнулся на этот пример.

Я пытался использовать его для одного ЦС, и он работал, но когда я пытался добавить другойУдостоверьтесь, соединяя это с первым, например:

        char *mypem =
        "-----BEGIN CERTIFICATE-----\n"
        "ZXXDdzCCAl+gAwXBAgXEAgXAuTANBgkqXkXG4w0BAQUQADBaZQswCQYDVQQGEwJJRTESZBAGA1UE\n"
        /* More here */            
        "RCwBXbsdtTLSR4X4LtD+gdwyaX614jzV/OeBXRnDJELqYzZp\n"
        "-----END CERTIFICATE-----\n"
        "-----BEGIN CERTIFICATE-----\n"
        "ZXXQnjCCA4agAwXBAgXJANDnLO8E50QXZA0GCSqGSXb3DQEBCwUAZQsxCzAJBgNV\n"
        "BAYTAlVTZQswCQYDVQQXDAJVUzEQZA4GA1UECgwXVXVybXAxZDETZBEGA1UECwwK\n"
        /* More here */
        "YuyZZLPBYprPZbcaEbyYnwgU2zWXNbRQrsBgOrsXULKQlKsT4T+w0ccjZsQtO+XO\n"
        "Bkg=\n"
        "-----END CERTIFICATE-----";

Кажется, это работает только для первого.

Разве эта переменная не имитирует PEM-файл?

Нужно ли определять их отдельно и выполнять логику для каждого?

Достаточно ли сделать это один раз при первом запуске обратного вызова sslctx_function или это нужно делать для каждогозапрос?

rv = curl_easy_setopt(ch, CURLOPT_SSL_CTX_FUNCTION, *sslctx_function);
...