簡體   English   中英

如何使用 C++ 中的 Tink 從安全的 websocket 中讀取數據

[英]How to read from a secure websocket with Tink in C++

我正在開發一個需要從安全 websocket 讀取的 C++ 客戶端應用程序。 在查看了一些 websocket 庫之后,我想使用easywsclient,但它不支持 TLS。 我嘗試添加為使用WSS開始使用OpenSSL通過以下網址的支持, 文章,但想避免加載證書和私鑰從文件(如果可能)。 我研究了在 boost asio 中這是如何完成的,他們建議使用certify來訪問平台的 TLS 密鑰庫。 我還研究了 chrome 瀏覽器,發現它使用了 BoringSSL,這讓我想到了 Tink。 但是,我找不到如何使用 Tink/BoringSSL 來保護 websocket 並處理客戶端證書和密鑰的示例。 有人可以指出我正確的方向嗎?

希望從WebSocket的閱讀沒有設置cerificates和私鑰的客戶端,這只是一個網絡套接字服務器必須詢問服務TLS / SSL相關。 由於我對 C++ 不太了解,我只能在 PHP 中為您提供一個示例,用於客戶端使用 TLS/SSL 連接到 websocket 服務器。 在這里,客戶端准備一個 $context 以便在流中使用 TLS/SSL。

$context = stream_context_create();
stream_context_set_option($context, 'ssl', 'allow_self_signed', true);
stream_context_set_option($context, 'ssl', 'verify_peer', false);
stream_context_set_option($context, 'ssl', 'verify_peer_name', false);

稍后使用此上下文建立連接,

$this->socketMaster = stream_socket_client(
"$prot$Address$Port", $errno, $errstr, 30, 
STREAM_CLIENT_CONNECT, $context
);

有關完整源代碼,請訪問: https : //github.com/napengam/phpWebSocketServer/blob/master/phpClient/websocketCore.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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