Может ли магазин ключа Java импортируйте парную пару, сгенерированную openssl?

StackOverflow https://stackoverflow.com/questions/2685512

  •  30-09-2019
  •  | 
  •  

Вопрос

Я генерирую ключ сертификации с OpenSSL. Вот моя команда:

openssl genrsa -des3 -out enc_key.pem 1024

Я экспортирую в файл CER, затем с Java keytool I импортирую в Java Keystore (JKS).

Кейстор звучит хорошо. Я могу загрузить кладометр из моего приложения Java.

Проблема в том, что клиент подключается к серверу (в этом случае является FTP-сервер, а не веб-сервер, а я использую Apache Mina), произошло исключение:

javax.net.ssl.sslhandshakeException: SSL рукопожатие не удалось. в org.apache.mina.filter.ssl.sslfilter.messageReated (sslfilter.java:433) в org.apache.mina.core.filterchain.defaultiofilterChain.callnextmessageReated (defaultiofilterchain.java:434) в org.apache.mina.core .filterchain.defaultioFilterChain.Access $ 5 (defiliofilterchain.java:429)

...

Вызванные: javax.net.ssl.sslhandshakeException: нешиферные апартаменты в Com.sun.net.ssl.internal.ssl.handshaker.Checktrown (неизвестный источник) на com.sun.net.ssl.internal.ssl.sslengine .CheckTaskstrown (неизвестный источник) на com.sun.net.ssl.internal.ssl.sslengineImpl.writeapprecord (неизвестный источник) на com.sun.net.ssl.internal.ssl.sslengineImpl.wrap (неизвестный источник) в javax.net .ssl.sslengine.wrap (неизвестный источник)

...

Вызванные: javax.net.ssl.sslhandshakeException: нешиферные сборы в Com.sun.net.ssl.internal.ssl.lerts.ssl.ssLexception (неизвестный источник) на com.sun.net.ssl.internal.ssl.sslengine .fatal (неизвестный источник)

Есть несколько вещей, которые я хочу спросить:

  1. Что такое шифр сертификации, который я генерирую с OpenSSL? Как мы можем знать? Возможно по командной строке OpenSSL XXX?
  2. я иду в http://java.sun.com/j2se/1.5.0/docs/guide/security/jsse/jsserefguide.html#appa. Отказ И я поставил SSL_RSA_XXX для включения шифров, но все равно не может работать (я поставлю SSL_RSA, потому что он использует SSL Implisit, а Genrsa, просто мое мнение Genrsa генерирует RSA). Это правильно?
  3. Кто-нибудь знает решение?
  4. Или любой, кто знает, как генерировать стандартный клад магазин из командной строки OpenSSL до тех пор, пока в приложении Java не может быть использован в java (выключение с шифром). Потому что сейчас я могу генерировать сертификацию от OpenSSL и экспортировать клавишную табличку Java, но я не знаю, каков шифр, который я использовал и как я использую в приложении Java. ПРИМЕЧАНИЕ. Я могу запустить, если ключевой знак генерируется непосредственно из Java. Сейчас проблема в том, что в том случае, если клавиш, сгенерированный Java keytool от сертификации, такого как OpenSSL (и другие, может быть, может быть).

Любая помощь будет оценена! Спасибо

Это было полезно?

Решение

Почему вы используете OpenSSL для создания клавиатуры? Почему бы просто не использовать keytool?

То genrsa Инструмент только что генерирует закрытый ключ. Как вы создаете соответствующий сертификат? Как вы импортируете закрытый ключ в ваш ключ Java? (Прошу, потому что keytool Можно только импортировать закрытый ключ из существующего ключа магазина и только от Java 6 End.)

Я подозреваю, что ваша проблема заключается в том, что ваш магазин ключей не содержит ключевой ввод (закрытый ключ а также Соответствующий сертификат). Когда вы перечислите содержимое клавишного стола с keytool, Сколько там записей? Они ключевые записи или доверенные записи?


Сервер требует доступа к закрытому ключу, чтобы аутентифицироваться. Чтобы импортировать закрытый ключ, используйте Java 6's. повышенная keytool.

После создания ключа и сертификата с OpenSSL используйте OpenSSL для создания магазина клавиш PKCS # 12:

openssl pkcs12 -export -in cert.pem -inkey key.pem > server.p12

Затем конвертировать этот магазин в магазин Kava Key:

keytool -importkeystore -srckeystore server.p12 -destkeystore server.jks -srcstoretype pkcs12

Теперь используйте server.jks В вашем сервере SSL-enable, который содержит сертификат а также закрытый ключ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top