Мне нужно вызвать wsdl через https.
От провайдера я получил файл 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 (включительно)