我有一个简单的程序可以访问网址并抓取数据。它使用ssl。当我没有指定任何密钥库但我确实看到它使用默认密钥库时,我得到一个handshake_failure。我将其配置为明确使用默认存储的那一刻起作用。
System.setProperty("javax.net.ssl.keyStore","/Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home/jre/lib/security/cacerts");
System.setProperty("javax.net.ssl.keyStorePassword","changeit") ;
System.setProperty("javax.net.ssl.trustStore","/Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk/Contents/Home/jre/lib/security/cacerts") ;
System.setProperty("javax.net.ssl.trustStorePassword","changeit") ;
有人知道为什么它在上述情况下有效吗?