Рейтинг:0

Импорт сертификата cfssl в keytool: введите не сертификат X.509

флаг cn
Tom

Я создаю CA и сертификат с cfssl но я не могу импортировать сертификат в хранилище ключей JAVA с помощью ключевой инструмент.

Сгенерированный сертификат несовместим с реализацией keycert/Java x509? Или я что-то не так делаю?

Создать ЦС

# сгенерировать my-ca{,-key}.pem
cfssl печать по умолчанию csr \
  | cfssl gencert -initca-\
  | cfssljson -голая моя-ca
# импортировать ca
keytool -importcert -alias my-ca -file my-ca.pem -storepass changeit -noprompt

Примечание: в этом случае keytool -importcert работает нормально.

Сгенерировать сертификат

кот cfssl.json
#{
# "подписание": {
#    "По умолчанию": {
# "срок действия": "87600ч",
# "usages": ["подпись", "шифрование ключей", "аутентификация сервера", "аутентификация клиента"]
# }
# }
#}
# сгенерировать сертификат
эхо {} \
  | cfssl gencert -ca=my-ca.pem -ca-key=my-ca-key.pem -config=cfssl.json -hostname=my-host - \
  | cfssljson -голый мой хост
# сертификат импорта
keytool -importcert -file my-host.pem -alias my-host -storepass changeit -noprompt

Но теперь он отвечает:

ошибка keytool: java.lang.Exception: введите не сертификат X.509

Это меня смущает. Openssl, похоже, доволен сертификатом:

openssl x509 -текст -в my-host.pem
# вывод выглядит нормально, ecdsa-with-SHA256, см. суть
openssl x509 -in my-host.pem \
  | diff мой-host.pem -
# нет разницы между повторно сгенерированным x509 

-текстовый вывод

Дополнительные наблюдения: CURL и веб-браузеры прекрасно принимают сертификат. Жалуются только Java-приложения.

Информация:

версия cfssl
#Версия: 1.2.0
#Редакция: dev
#Время выполнения: go1.8.1

Java --версия
#openjdk 14.0.2 2020-07-14
Среда выполнения #OpenJDK (сборка 14.0.2+12-Ubuntu-120.04)
#OpenJDK 64-битная виртуальная машина сервера (сборка 14.0.2+12-Ubuntu-120.04, смешанный режим, совместное использование)

keytool -showinfo -tls
# см. суть для полного вывода

-showinfo -tls

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.