Я пытаюсь отправить сертификат клиента на сервер. Я создаю SSLSocketFactory по соединению HttpURLC.
Я думаю, мне нужно сделать ключ доступным через KeyManager, о котором знает SSLSocketFactory. Проблема в том, что я получаю ключ в KeyManager.
Закрытый ключ и сертификат находятся в файле PEM (и они не могут быть в файле хранилища ключей). Я знаю, как читать / декодировать файл, и я успешно проверил сертификат клиента. Но когда я пытаюсь вставить ключ (как байт []) в KeyManager, он жалуется: java.security.KeyStoreException: key is not encoded as EncryptedPrivateKeyInfo
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(null); // init the keystore
// This Fails: it wants it encoded as EncryptedPrivateKeyInfo
ks.setKeyEntry("MyAlias", clientKeyAsBytes, new Certificate[]{clientCert});
Как правильно это сделать?