Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mempercayai Sijil Ditandatangani Sendiri untuk Sambungan Java Tertentu?
Apabila cuba mewujudkan sambungan ke tapak web menggunakan sijil yang ditandatangani, aplikasi Java mungkin menghadapi ralat disebabkan kegagalan pengesahan sijil. Artikel ini membentangkan penyelesaian untuk menangani isu ini sambil mematuhi keperluan khusus.
Pendekatan yang disyorkan adalah untuk mencipta SSLSocketFactory tersuai yang termasuk sijil ditandatangani sendiri yang dipercayai. Ini membolehkan aplikasi mempercayai sijil secara terpilih untuk sambungan tertentu. Begini cara untuk melaksanakannya:
Muatkan KeyStore yang mengandungi sijil yang ditandatangani sendiri:
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); keyStore.load(trustStore, trustStorePassword); trustStore.close();
Buat TrustManagerFactory untuk memulakan TrustManagers:
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); tmf.init(keyStore);
Mulakan SSLContext dan dapatkan SSLSocketFactory:
SSLContext ctx = SSLContext.getInstance("TLS"); ctx.init(null, tmf.getTrustManagers(), null); sslFactory = ctx.getSocketFactory();
Konfigurasikan HttpsURLConnection dengan SSLSocketFactory:
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection(); conn.setSSLSocketFactory(sslFactory);
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mempercayai Sijil Ditandatangani Sendiri untuk Sambungan Java Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!