如何从java验证SSL?
我需要从java调用soap web服务,所以我使用“.p12”文件进行身份验证。我在soap ui中使用相同的文件,它工作正常,但在java中,它给出了SSL错误。。如何使用来自java的ssl链接p12文件进行身份验证如何从java验证SSL?,java,ssl,openssl,ssl-certificate,keystore,Java,Ssl,Openssl,Ssl Certificate,Keystore,我需要从java调用soap web服务,所以我使用“.p12”文件进行身份验证。我在soap ui中使用相同的文件,它工作正常,但在java中,它给出了SSL错误。。如何使用来自java的ssl链接p12文件进行身份验证 public static void setUp() { System.setProperty("javax.net.ssl.keyStore", "ex.p12"); System.setProperty("javax.net.ssl.ke
public static void setUp() {
System.setProperty("javax.net.ssl.keyStore", "ex.p12");
System.setProperty("javax.net.ssl.keyStorePassword", "password");
}
private static void initSSLFactories() {
final String KEYSTOREPATH = "ex.p12";
final char[] KEYSTOREPASS = "ff".toCharArray();
final char[] KEYPASS = "ff".toCharArray();
//ssl config
try (InputStream storeStream = FirstTest.class.getResourceAsStream(KEYSTOREPATH)) {
setSSLFactories(storeStream, "PKCS12", KEYSTOREPASS, KEYPASS);
} catch (Exception e) {
e.printStackTrace();
}
}
private static void setSSLFactories(InputStream keyStream, String keystoreType, char[] keyStorePassword, char[] keyPassword) throws Exception
{
KeyStore keyStore = KeyStore.getInstance(keystoreType);
keyStore.load(keyStream, keyStorePassword);
KeyManagerFactory keyFactory =
KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
keyFactory.init(keyStore, keyPassword);
KeyManager[] keyManagers = keyFactory.getKeyManagers();
SSLContext sslContext = SSLContext.getInstance("SSL");
sslContext.init(keyManagers, null, null);
SSLContext.setDefault(sslContext);
}
您可以创建类似以下内容的客户端:
public Client getClient() {
SslConfigurator sslConfig = SslConfigurator
.newInstance()
.trustStoreFile(TRUST_STORE_FILE_PATH) //The key-store file where the certificate is saved.
.trustStorePassword(TRUST_STORE_PASSWORD_PATH);//password of the key-store file.
SSLContext sslContext = sslConfig.createSSLContext();
Client client = ClientBuilder.newBuilder().sslContext(sslContext).build();
return client;
}
请将准确的错误消息添加到您的问题java.security.invalidalgorithParameterException:trustAnchors参数必须是的非空可能重复项