Thoir bufair CONNECT Beast a-steach don handshake TLS
Cuir na baidean a thèid an gleidheadh an dèidh freagairt CONNECT gu handshake TLS le bufair Asio, agus an uair sin caitheachadh dìreach na tha e air a chleachdadh.
An dèidh do Beast ceann-fhacal freagairt CONNECT neach-ionaid a leughadh, thoir sùil air inbhe na freagairt agus air a’ bhufair fiùghantach le chèile. Faodaidh an obair leughaidh baidean seachad air crìoch a’ cheann-fhacail a thoirt a-nuas agus an cumail anns a’ bhufair a chaidh a thoirt seachad. Ma thòisicheas tu TLS le eallach a leughas a-mhàin an socaid, fanaidh na baidean glèidhte sin taobh a-muigh slighe in-chuir TLS.
Airson sruth WebSocket aig a bheil an t-sreath SSL mar an ath shreath, cleachd an t-eallach handshake le bufair. Ann an seisean yield_context a tha ann mar-thà, le buffer air a chumail beò fad na h-obraichean:
http::response_parser<http::empty_body> response;
http::async_read_header(
beast::get_lowest_layer(ws), buffer, response, yield[ec]);
if (ec) return;
auto status = response.get().result_int();
if (status < 200 || status >= 300) return;
std::size_t used = ws.next_layer().async_handshake(
ssl::stream_base::client, buffer.data(), yield[ec]);
if (ec) return;
buffer.consume(used);
Is e na luath-thilleadh na h-àiteachan fàillighe den t-seisean; ceangail an aithris-mhearachd àbhaisteach agus an glanadh an sin. Chan eil ach freagairt CONNECT shoirbheachail a’ stèidheachadh an tunail. Chan fhaod duilleag diùltadh a bhith na in-chur TLS.
Thig an t-eallach le bufair gu crìch le còd mearachd agus cunntas bhaid. Tha an cunntas sin ag innse cia mheud baid a chaitheas e às na bufairean a chaidh a thoirt seachad. An dèidh crìochnachaidh, thoir air falbh dìreach an ro-leasachan sin le consume(used). Na glan am bufair mus tòisich an obair, na mùth an stòradh fhad ’s a tha an handshake a’ feitheamh, agus na gabh ris gun do chaitheadh an obair gach baid a chaidh a thoirt seachad.
Le TLS àbhaisteach a thòisicheas an neach-cleachdaidh dìreach an dèidh CONNECT, faodaidh am bufair a bhith falamh. Làimhsicheas an t-eallach an cùis sin cuideachd. Is e an adhbhar aige crìochan srutha a ghleidheadh; chan eil e a’ dèanamh TLS dligheach de dhàta neach-ionaid sam bith a thig na dhèidh. Cùm dearbhadh ainm an òstair ceann-uidhe agus rèiteachadh SNI air an t-sreath SSL ron handshake, agus na tòisich ùrachadh WebSocket gus an soirbhich le TLS.