Cleachd dearbh-aithne a' chinn-uidhe airson Java TLS thar SOCKS
Ceangail tro SOCKS an toiseach, an uair sin cuir SSLSocket le ainm-òstair na làraich agus sgrùdaidhean soilleir air HTTPS.
Bheir ceann-uidhe SOCKS thu chun na làraich. 'S e an làrach fhèin am peer TLS a-staigh a' cheangail sin, mar sin cuir ainm-òstair a' chinn-uidhe chun na fàbric soicéid leathaich:
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.
}
}Tha am pìos a' gabhail ri in-mhalairt àbhaisteach Java networking agus TLS, rèiteachadh earbsa bunaiteach a tha ann mar-thà agus ceangal SOCKS nach fheum teisteasan neach-ionaid. Nì e an crathadh-làimh; feumaidh an tagradh fhathast iarraidh HTTP a chur anns an fhòrmat a tha an fhrithealaiche a' sùileachadh. Airson targaidean poblach HTTPS air slighean poblach ceadaichte, tha an liosta neach-ionaid SOCKS a' tabhann ceann-uidhe taghte; cuir dreach an fhrithealaiche agus taic ainm-òstair an co-chòrdadh ris an t-slighe soicéid Java seo.
Leugh an dà dhearbh-aithne san eisimpleir
127.0.0.1:1080 's e ceann-uidhe an neach-ionaid a th' ann, ruigsinneach bhon phròiseas Java seo. Tha destination agus destinationPort a' comharrachadh na làraich. Cumaidh createUnresolved an t-ainm-òstair sin airson slighe SOCKS an àite a rèiteach gu tràth air a' chliant.
Gheibh an createSocket leathach dearbh-aithne a' chinn-uidhe. Tha setEndpointIdentificationAlgorithm("HTTPS") ag iarraidh a sgrùdaidhean ainm-òstair gu soilleir. Chan eil earbsa slabhraidh theisteasachd SSLSocket amh a' dearbhadh leis fhèin gu bheil dearbhadh ainm-òstair air a chomasachadh. Dh'fhaodadh cur an àite ainm an neach-ionaid no loopback gus eadar-dhealachadh a chur fodha ceann-uidhe ceàrr a dhearbhadh.
Cùm earbsa agus glanadh còmhla ris na h-ìrean aca
Bidh am fàbric bunaiteach a' cleachdadh rèiteachadh earbsa rèitichte an JVM. Faodaidh tagradh le riatanasan prìobhaideach am fàbric SSLContext aige a tha air a thòiseachadh gu ceart a chleachdadh na àite. Tha an roghainn sin air leth bho shlighe SOCKS; chan eil manaidsear earbsa a ghabhas a h-uile teisteas a' càradh ainm piara ceàrr.
Bidh diùltadh SOCKS a' tachairt ro TLS; bidh teisteas neo-earbsach no ainm-òstair ceàrr a' fàilligeadh rè TLS; faodaidh mearachd HTTP tighinn às dèidh sin. Bidh clàradh a-steach don neach-ionaid ag ùghdarrasachadh an iarrtais tunail seach a bhith a' dearbhadh na làraich a-staigh.
Bidh dùnadh an t-soicéid leathaich le fèin-dhùnadh an comas a' dùnadh a ghiùlain. Bidh farsaingeachd goireis a-muigh cuideachd a' dùnadh a' ghiùlain sin ma dh'fhàilligeas am pasgadh no an crathadh-làimh ro chrìochnachadh àbhaisteach.