나는 getServerCertificates가 해결 될 수 없다는 예외 .. 이상하다
를 얻을. 적절한 수업을 사용하고 있습니까? 나는이 코드를 실행하면 :
import java.io.IOException;
import java.net.URL;
import java.security.cert.Certificate;
import javax.net.ssl.HttpsURLConnection;
public class Test {
public static void main(String[] args) throws IOException {
URL httpsURL = new URL("https://www.google.com.br/");
HttpsURLConnection connection = (HttpsURLConnection) httpsURL.openConnection();
connection.connect();
Certificate[] certs = connection.getServerCertificates();
for (Certificate cer : certs) {
System.out.println(cer.getPublicKey());
}
}
}
을 나는 같은 결과를 얻을 :
Sun RSA public key, 1024 bits
modulus: 13069990984429476578...
public exponent: 65537
Sun RSA public key, 1024 bits
modulus: 14179907349200548596...
public exponent: 65537
무엇 SSL 소켓을 사용하는 공장, 어쩌면 뭔가 문제가 확인합니다. 당신의 코드에 이것을 추가하고 (나 com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl
때문이다, 예를 들어) 그것에서 어떤 결과를 참조하십시오
System.out.println(connection.getSSLSocketFactory().getClass());
System.out.println(connection.getDefaultSSLSocketFactory().getClass());
항상 당신이 사용하는 언어 질문에서 분명히 확인하는 것이 좋습니다. 숙련 된 Java 프로그래머가 이것을 Java 코드로 즉시 인식 할 수도 있지만, 다른 사람들 (나 같은)은 여러분이 사용하는 언어를 아는 데 어려움을 겪습니다. – rlandster
오, 죄송합니다. 나는 다음 질문에서 그 사실을 기억할 것입니다. 감사합니다 –