Как я могу проверить X509 (или DER-отформатированный) сертификат против хранилища сертификатов Java через командную строку?
Я изучил использование keytool
утилита, но похоже, что это только обрабатывает функциональность импорта/экспорта/дисплея (никакая проверка).
Править: Это смотрит как будто keytool
может использоваться для проверки, но только если импорт предпринят. Я предполагаю лучший способ задать это, вопросы то, действительно ли более пассивный подход (как в: не изменение keystore), доступно.Спасибо!
Эта страница могла упрощать:
http://java.sun.com/docs/books/tutorial/security/toolfilex/rstep1.html
Но не похоже, что даже импорт с keytool делает истинную проверку сертификата. Я не вижу описания проверки подписи входящего сертификата против подписи другого доверяемого сертификата.
jarsigner проверит подпись на банке со знаком, но не делает ничего, чтобы проверить, что подпись на сертификате раньше подписывала банку.
Я боюсь, что необходимо было бы или записать инструмент, чтобы сделать verfication или искать коммерческий инструмент, который делает это. Я думал бы, что некоторые инструментарии PKI будут иметь инструмент проверки сертификата, который сделал бы это.
Можно использовать keytool
кому: export
необходимые сертификаты (те, которые находятся в цепочке для той, которую необходимо проверить) от Java keystore в файлы X.509. Затем свяжите их вместе в один файл. Наконец, использовать openssl
сделать проверку.
openssl verify -CAfile concatenated-certs.crt cert-to-verify.crt
Не идеальное решение, так как это включает высовывание сертификатов из базы доверенных сертификатов, но это должно работать данное, с чего Вы запускаете.