Java ile geliştirme yaparken https üzerinden sertifika alıp kullanmaya ihtiyaç duyabiliriz. Aşağıda bulacağınız örnek kod üzerinden aşağıda belirtilen maddeler açıklanma çalışılmıştır;
İlk adım olarak Keystore nesnesi ile sertifika deposunu değişkene atıyoruz(X.509 tipinde). Daha sonra güvenli url adresimize connection açıyoruz. Açılan connection nesnesi üzerinden sertifika listesini alıp döngü kuruyoruz. Kurulan döngüde doğrulamadan geçen sertifikayı alıp C: sürücüsüne file olarak atıyoruz. Daha sonrasında sertifikayı keystore a ekleyip methodumuzu tamamlamış oluyoruz.
İyi kodlamalar 🙂
private static void getCert(String HTTPS_URL) { try { KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType()); trustStore.load(null); CertificateFactory cf = CertificateFactory.getInstance("X.509"); URL destinationURL = new URL(HTTPS_URL); HttpsURLConnection conn = (HttpsURLConnection) destinationURL.openConnection(); conn.connect(); Certificate[] certs = conn.getServerCertificates(); int j = 0; String certPath = ""; for (Certificate certx : certs) { if (certx instanceof X509Certificate) { try { j++; ((X509Certificate) certx).checkValidity(); certPath = "C:/sertifika" + j + ".cer"; FileOutputStream os = new FileOutputStream(certPath); os.write(certx.getEncoded()); os.close(); //add keystore InputStream fis = new FileInputStream(certPath); BufferedInputStream bis = new BufferedInputStream(fis); while (bis.available() > 0) { Certificate cert = cf.generateCertificate(bis); trustStore.setCertificateEntry("sertifika" + j, cert); } } catch (CertificateExpiredException cee) { throw new Exception("Sertifika Süresi Dolmuş!"); } } else { throw new Exception("Wsdl Sertifikası Sorunlu!"); } } } catch (Exception ex) { ex.printStackTrace(); } }
Netbeans kullanım sırasında search ederken karşılaşılan dil bazlı eşleşme sorununu gidermek , setter getter sırasında…
Mevcutta kullandığımız vscode eklentileri bir başka cihaza taşımak ve kullanmak için kaynak bilgisayardan extension listesi…
Port bulmak için : netstat -npano TCP | find "80"Gelen listeden PID değeri öğrenilir.taskkill /PID…
Ambilight Yapımı-DIY Herkese merhabalar. Philips'in hayranlık uyandıran Ambilight teknolojisi film izlerken ya da müzik dinlerken…
Git , yazdığımız projeleri ve uygulamaları, bilgisayarımızda ya da harici disklerde değilde internet üzerinde tutmamızı…
Merhabalar Pardus kullanmaya başlayan biri olarak, kurulum sırasında ve sonrasında Pardus başlarken karşılaştığım bir açılış…