Java.lang.IllegalArgumentException: файл не содержит допустимого закрытого ключа: /Users/x/application.keyJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java.lang.IllegalArgumentException: файл не содержит допустимого закрытого ключа: /Users/x/application.key

Сообщение Anonymous »

Небольшой вопрос относительно отправки http-запросов веб-клиентом.
Я запускаю веб-клиент для отправки http-запросов с этим SSL-контекстом следующим образом:

Код: Выделить всё

public SslContext getSslContext() {
try {
final TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
try (InputStream trustStoreFile = getFileFromClassPathOrFileSystem(trustStorePath)) {
final KeyStore trustStore = KeyStore.getInstance(trustStoreType);
trustStore.load(trustStoreFile, trustStorePassPhrase.toCharArray());
trustManagerFactory.init(trustStore);
}
return SslContextBuilder.forClient().keyManager(new File("/Users/x/application.crt"), new File("/Users/x/application.key"), "somepassword").trustManager(trustManagerFactory).build();
} catch (CertificateException | NoSuchAlgorithmException | IOException | KeyStoreException e) {
return null;
}
}
файл "/Users/x/application.key" выглядит так, когда я его проверяю:

Код: Выделить всё

-----BEGIN PRIVATE KEY-----
MIGH...
...
...FhMMXep
-----END PRIVATE KEY-----
(Это действительно похоже на ключ 😛)
Однако при выполнении http-вызова я сталкиваюсь с этой проблемой. >

Код: Выделить всё

Caused by: java.lang.IllegalArgumentException: File does not contain valid private key: /Users/x/application.key
at io.netty.handler.ssl.SslContextBuilder.keyManager(SslContextBuilder.java:350) ~[netty-handler-4.1.58.Final.jar:4.1.58.Final]

Caused by: java.io.IOException: overrun, bytes = 111
at java.base/javax.crypto.EncryptedPrivateKeyInfo.(EncryptedPrivateKeyInfo.java:95) ~[na:na]
at io.netty.handler.ssl.SslContext.generateKeySpec(SslContext.java:1072) ~[netty-handler-4.1.58.Final.jar:4.1.58.Final]
at io.netty.handler.ssl.SslContext.getPrivateKeyFromByteBuffer(SslContext.java:1133) ~[netty-handler-4.1.58.Final.jar:4.1.58.Final]
at io.netty.handler.ssl.SslContext.toPrivateKey(SslContext.java:1113) ~[netty-handler-4.1.58.Final.jar:4.1.58.Final]
at io.netty.handler.ssl.SslContextBuilder.keyManager(SslContextBuilder.java:348) ~[netty-handler-4.1.58.Final.jar:4.1.58.Final]
Не могли бы вы объяснить, почему я получаю сообщение «Файл не содержит действительный закрытый ключ»?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/657 ... ate-key-us
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»