د SOCKS له لارې د Java TLS لپاره د منزل هویت وکاروئ
لومړی د SOCKS له لارې ونښلوئ، بیا د وېبپاڼې د کوربه نوم او روښانه HTTPS د پای نقطې څېړنو سره SSLSocket طبقه کړئ.
د SOCKS پای نقطه تاسو وېبپاڼې ته رسوي. د هغه اړیکې دننه TLS همکار خپله وېبپاڼه ده، نو د منزل کوربه نوم پرتې شوې ساکټ فابریکې ته وسپارئ:
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.
}
}دا ټوټه معیاري Java شبکه او TLS واردات، موجوده اصلي باور ترتیب او د پروکسي اعتبارنامو ته اړتیا نه لرونکې SOCKS اړیکه فرض کوي. دا لاس ورکول ترسره کوي؛ اپلیکیشن لا هم باید په هغه بڼه HTTP غوښتنه واستوي چې سرور یې تمه لري. د اجازه ورکړل شوو عامه لارو پر عامه HTTPS هدفونو لپاره SOCKS پروکسي لیست نوماندې پای نقطې وړاندې کوي؛ د سرور نسخه او د کوربه نوم ملاتړ دې Java ساکټ لارې سره سم کړئ.
په بېلګه کې دوه هویتونه ولولئ
127.0.0.1:1080 د پروکسي پای نقطه ده، چې د دې Java پروسې څخه وررسېدلای شي. destination او destinationPort وېبپاڼه پېژني. createUnresolved هغه کوربه نوم د SOCKS لارې لپاره ساتي، پرځای دې چې په کلاینت کې یې ژر حل کړي.
پرته createSocket د منزل هویت ترلاسه کوي. setEndpointIdentificationAlgorithm("HTTPS") په روښانه ډول د کوربه نوم څېړنې غواړي. د خام SSLSocket د سندونو زنځیر باور په خپله نه ثابتوي چې د کوربه نوم تایید فعال دی. د پروکسي نوم یا loopback بدلول د ناسمونې د پټولو لپاره کېدای شي ناسمه پای نقطه تصدیق کړي.
باور او پاکوالی د هغوی په پړاوونو کې وساتئ
اصلي فابریکه د JVM تنظیم شوی باور ترتیب کاروي. هغه اپلیکیشن چې شخصي غوښتنې لري کېدای شي پرځای یې خپله سمه پیل شوې SSLContext فابریکه وکاروي. هغه انتخاب د SOCKS لارې څخه جلا دی؛ د باور مدیر چې هر سند مني ناسم همکار نوم نه سمونځي.
د SOCKS ردېدل د TLS څخه مخکې پېښېږي؛ بې باوره سند یا ناسم کوربه نوم د TLS په جریان کې ناکامېږي؛ وروسته کېدای شي HTTP تېروتنه راشي. پروکسي ته ننوتل د تونل غوښتنې اجازه ورکوي، نه د هغې دننه وېبپاڼه تصدیقوي.
د پرتې شوې ساکټ بندول د اتوماتیک بندولو سره فعال وي، د هغې لېږد بندوي. بهرنی سرچینه ساحه هم هغه لېږد بندوي که چې بسته کول یا لاس ورکول د عادي بشپړېدو مخکې ناکام شي.