我正在C++中搜索客戶端TLS連接示例。最適合Visual Studio,但老實說它可以是任何編譯器。我找到了幾個C樣本。但沒有人工作。我開始與此樣品中C: https://wiki.openssl.org/index.php/SSL/TLS_Client用於客戶端TLS連接的OpenSSL或LibreSSL C++示例
但failes上
res = BIO_do_connect(web);
與「系統庫」如果我想連接到我自己的node.js服務器(使用直接IP地址)或與「使用encrypted.google.com作爲網址的不良主機名查找」。 都與libressl和Visual Studio 2013年
下一站:http://fm4dd.com/openssl/sslconnect.htm
在這裏,程序運行成功。但是,任何試圖寫在與端SSL連接:
std::string json = "{'test':'huhu'}";
char buff[1024];
sprintf(buff, "POST /test.de HTTP/1.1 \nHost: test.de\nContent-Type: application/json\nContent-Length: %d\n\n", json.length());
std::string post = buff;
int snd = SSL_write(ssl, post.data(), post.length());
snd = SSL_write(ssl, json.data(), json.length());
強制服務器關閉連接(我不明白,因爲我不現在我怎麼能告訴Node.js的告訴究竟發生了什麼我更多)。
所以我搜索了工作樣品或如何獲得與自己的證書運行C++
您可以查看主OpenSSL命令行工具中的s_client代碼。這支持許多證書選項。 – Rup
你應該知道要問一個教程或示例:)我經常使用C++來包裝OpenSSL,但我使用獨特的指針來自動清理。下面是它的樣子:[如何在C++中正確地將RSA *打印爲字符串?](http://stackoverflow.com/a/23473034/608639)。 – jww
@jww Mea culpa。今天下午我絕望了:-)現在看起來好多了。但是如何處理這個問題呢?刪除它(誠實的問題)? –