Сторона сервера предоставила мне файл сертификата .p12
, который я щелкнул и установил на моем компьютере, а затем я могу получить доступ к ] HTTPS
сайт через браузер. Теперь они хотят, чтобы я сканировал их сайт с выданным сертификатом. Я застрял на самом первом этапе, пытаясь получить inputStream
из httpsURLConnection
. На сайте нет логина. Он только проверяет, есть ли у вас сертификат.
До сих пор я использовал Firefox для экспорта сертификата в файл формата .crt
. Затем я использовал команду keytool, чтобы импортировать его (файл .crt
, а не .p12
) в хранилище ключей java. Затем в коде:
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
File ksFile = new File(keystorePath);
in = new FileInputStream(ksFile);
ks.load(in, "changeit".toCharArray());
X509Certificate cert = (X509Certificate) ks.getCertificate(certificateAlias);
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
HttpsURLConnection con = (HttpsURLConnection) (new URL(urlString)).openConnection();
con.connect();
con.getInputStream();
con.disconnect();
getInputStream ()
выдаст мне запрет на доступ из-за ошибки 403. Я искал другие связанные темы и на самом деле запутался еще больше, чем до того, как их прочитал. Буду очень признателен за ответы.
Дополнительная информация: