У меня есть следующий код для экспорта сертификатов и ключей из хранилища ключей, которое я создал с помощью keytool
в Windows:
final KeyStore keystore = KeyUtil.loadKeystore("keystore.jks", "pass");
UserInfo userinfo = new UserInfo(WSusername, WSpassword);
X509Certificate clientcert = KeyUtil.getCertificate(CLIENT_KEY_ALIAS, keystore);
X509Certificate servercert = KeyUtil.getCertificate(SERVER_KEY_ALIAS, keystore);
PrivateKey clientprivate = KeyUtil.getPrivateKey(CLIENT_KEY_ALIAS, CLIENT_KEY_PASSWORD, keystore);
Тем не менее, в последней строке произойдет сбой, так как «невозможно получить закрытый ключ для подписи»
Он может получить clientcert, но когда он пытается установить clientprivate, он терпит неудачу.