Проверить сертификат по хранилищу сертификатов Java через интерфейс командной строки

Как я могу проверить сертификат X509 (или в формате DER) по хранилищу сертификатов Java через командную строку?

Я изучал использование утилиты keytool, но похоже, что она обрабатывает только функции импорта / экспорта / отображения (без проверки).

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
10
0
18 208
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Эта страница может быть слишком упрощенной:

http://java.sun.com/docs/books/tutorial/security/toolfilex/rstep1.html

Но не похоже, что даже импорт с помощью keytool действительно проверяет сертификат. Я не вижу никакого описания проверки подписи входящего сертификата по сравнению с подписью другого доверенного сертификата.

jarsigner проверит подпись на подписанном банке, но ничего не делает для проверки подписи на сертификате, используемом для подписи баночки.

Боюсь, вам придется либо написать инструмент для проверки, либо искать коммерческий инструмент, который сделает это. Я бы подумал, что в некоторых наборах инструментов PKI будет инструмент проверки сертификата, который сделает это.

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

Brian 09.11.2009 20:23

поделиться этой утилитой было бы супер круто!

Nicholas DiPiazza 03.03.2021 23:33

Вы можете использовать keytool для export необходимых сертификатов (тех, которые находятся в цепочке для сертификата, который вам нужно проверить) из хранилища ключей Java в файлы X.509. Затем объедините их в один файл. Наконец, используйте openssl для проверки.

openssl verify -CAfile concatenated-certs.crt cert-to-verify.crt

Не идеальное решение, так как оно включает извлечение сертификатов из хранилища доверенных сертификатов, но оно должно работать с учетом того, с чего вы начинаете.

Это сработало для меня, но обратите внимание, что openssl хочет отформатированных сертификатов PEM, а не DER (это то, что keytool, похоже, использует по умолчанию)

G__ 10.03.2012 21:20

Другие вопросы по теме