Tugann an críochphointe SOCKS chuig an suíomh gréasáin thú. Is é an suíomh gréasáin féin an piara TLS laistigh den cheangal sin, mar sin cuir hóstainm an chinn scríbe chuig an monarcha soicéad sraitheach:

String destination = "example.com";
int destinationPort = 443;
Proxy proxy = new Proxy(
    Proxy.Type.SOCKS,
    new InetSocketAddress("127.0.0.1", 1080)
);

try (Socket transport = new Socket(proxy)) {
    transport.connect(
        InetSocketAddress.createUnresolved(destination, destinationPort),
        5000
    );
    SSLSocketFactory factory =
        (SSLSocketFactory) SSLSocketFactory.getDefault();
    try (SSLSocket tls = (SSLSocket) factory.createSocket(
            transport, destination, destinationPort, true)) {
        SSLParameters parameters = tls.getSSLParameters();
        parameters.setEndpointIdentificationAlgorithm("HTTPS");
        tls.setSSLParameters(parameters);
        tls.setSoTimeout(15000);
        tls.startHandshake();
        // Send the application's HTTPS request through tls.
    }
}

Glacann an blúire le hiompórtáil chaighdeánacha Java networking agus TLS, le cumraíocht mhuiníne réamhshocraithe atá ann cheana agus le ceangal SOCKS nach dteastaíonn dintiúir seachfhreastalaí uaidh. Déanann sé an crannchur lámh; caithfidh an feidhmchlár iarratas HTTP a sheoladh go fóill san fhormáid a bhfuil súil ag an bhfreastalaí léi. Maidir le spriocanna poiblí HTTPS ar bhealaí poiblí ceadaithe, cuireann liosta seachfhreastalaí SOCKS críochphointí iarrthacha ar fáil; ailínigh leagan an fhreastalaí agus tacaíocht hóstainm leis an gcosán soicéid Java seo.

Léigh an dá fhéiniúlacht san sampla

127.0.0.1:1080 is ea críochphointe an tseachfhreastalaí, inrochtana ón bpróiseas Java seo. Sainaithníonn destination agus destinationPort an suíomh gréasáin. Coinníonn createUnresolved an hóstainm sin don chosán SOCKS in ionad é a réiteach go luath ar an gcliant.

Faigheann an createSocket sraitheach féiniúlacht an chinn scríbe. Iarrann setEndpointIdentificationAlgorithm("HTTPS") a sheiceálacha hóstainm go follasach. Ní chruthaíonn muinín shlabhra teastais SSLSocket amh ann féin go bhfuil fíorú hóstainm cumasaithe. D'fhéadfadh ionadú ainm an tseachfhreastalaí nó an loopback chun neamhréir a chur faoi chois críochphointe mícheart a fhíordheimhniú.

Coinnigh muinín agus glanadh lena gcéimeanna

Úsáideann an mhonarcha réamhshocraithe socrú muiníne cumraithe an JVM. Is féidir le feidhmchlár a bhfuil riachtanais phríobháideacha aige a mhonarcha SSLContext atá túsaithe go cuí a úsáid ina ionad. Tá an rogha sin scartha ón mbealach SOCKS; ní dheisíonn bainisteoir muiníne a ghlacann gach teastas ainm piara mícheart.

Tarlaíonn diúltú SOCKS roimh TLS; teastaíonn teastas neamhiontaofa nó hóstainm míchruinn le linn TLS; féadfaidh earráid HTTP teacht ina dhiaidh sin. Údaraíonn logáil isteach seachfhreastalaí an t-iarratas tolláin seachas an suíomh gréasáin istigh ann a fhíordheimhniú.

Dúnann dúnadh an tsoicéid shraitheach le huathdhúnadh cumasaithe a iompar. Dúnann an scóp acmhainne seachtrach an t-iompar sin freisin má theipeann ar an timfhilleadh nó ar an crannchur lámh roimh chríochnú normal.

Ailt ghaolmhara