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

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

Вопрос

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

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

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

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

Решение

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

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

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

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

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

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

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

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

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

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