如何为肥皂https调用配置Java密钥库和Trustore

时间:2019-02-22 06:01:28

标签: java soap https keystore truststore

我需要通过https致电wsdl。

从提供者那里我得到了x.p12文件和x.crt文件。 如何配置Java密钥库和Trustore?

我正在使用Java 1.6(32位)。 我设置了keystore = x.p12并将x.crt导入了x.jks,但这对我不起作用。

这是代码:

    System.setProperty("javax.net.ssl.trustStore", "C:\\java\\java6u45\\jre\\lib\\security\\x");
    System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
    System.setProperty("javax.net.ssl.trustStoreType", "JKS");

    System.setProperty("javax.net.ssl.keyStore", "C:\\Users\\user\\Desktop\\SoapUI (1)\\SoapUI\\x.p12");
    System.setProperty("javax.net.ssl.keyStorePassword", "passX!");
    System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");

    URL u = null;
    try {
        u = new URL("https://x1/x2WS/x3?wsdl");
    } catch(Exception ex) {
        ex.printStackTrace();
    }


    JobInput2Service service = new JobInput2Service(u);
    JobInput2 job = service.getJobInput2Port();
    try {
        HelloRequestParm parm = new HelloRequestParm();
        parm.setMessage("value");
        HelloResponseData res = job.sayHello(parm);
        System.out.print("\n res: "+res.getMessage());
    } catch (Exception ex) {
        ex.printStackTrace();
    }

我得到: 引起原因:java.lang.RuntimeException:无法生成DH密钥对 java.security.InvalidAlgorithmParameterException:素数必须是64的倍数,并且只能在512到1024(含)范围内

0 个答案:

没有答案