Я должен написать реализацию Java для парсера сертификата openssl X.509, но у меня есть проблема: я не знаю, как получить sha1 для проверки сертификатов. Может ли кто-нибудь помочь мне понять, что я должен делать? Я знаю, что в Java есть метод getTBSCertificate()
, но я должен переписать его для своей цели.Извлечение sha1 из сертификата X.509 openssl в Java
ответ
Предполагая, что вы имеете в виду sha1, который обычно отображается как «отпечаток пальца» в браузерах и инструментах ОС - вам нужен 1) исходный сертификат как DER; а затем 2) sha1 it и 3) перевести это в обычную строку с двойной цифрой-шестнадцатеричным/двоеточием.
Что касается 1; getEncoded() из java.security.cert.Certificate получает это.
Что касается 2: MessageDigest имеет эту функцию.
Как 3: Я оставлю это для вас :)
... someFoo(X509Certificate cert) {
MessageDigest sha1 = MessageDigest.getInstance("SHA1");
System.out.println(" Subject " + cert.getSubjectDN());
System.out.println(" Issuer " + cert.getIssuerDN());
sha1.update(cert.getEncoded());
System.out.println(" sha1 " + toHexString(sha1.digest()));
System.out.println();
}
должен сделать трюк. Этот результат соответствует типу java keytool.
Dw.
Это действительно верно для отпечатка пальца. Я предполагаю, что вопрос может также касаться проверки подписи ... Вот несколько недавних связанных вопросов: [об отпечатках пальцев] (http://security.stackexchange.com/q/14330/2435) и [о подписях (и ЦС)] (http://stackoverflow.com/q/10411433/372643). – Bruno
- 1. x.509 Подпись Сертификата Extraction
- 2. Извлечение детали CA из сертификата x.509 в Android
- 3. Использование сертификата X.509 с OpenSSL в приложении для iPhone
- 4. Чтение сертификата X.509 с помощью Java
- 5. Перевод сертификата X.509 в SecCertificateRef
- 6. Процесс проверки сертификата X.509
- 7. Проверка сертификата X.509 на linux
- 8. Как создать хранилище ключей Java из сертификата X.509
- 9. удаление x.509 v3 расширений из выданного сертификата
- 10. Java 1.7 Тема Хэш X.509 Сертификат OpenSSL 1.0+ Совместимый
- 11. Как выбрать название сертификата компании X.509?
- 12. Хранение сертификата X.509 в хранилище ключей Java
- 13. KeyFactory.generatePublic от hardcoded сертификата X.509
- 14. Экспорт сертификата X.509 БЕЗ частного ключа
- 15. Использование сертификата X.509 с UserName clientCredentialType
- 16. Проверка подписи (запрос X.509 подписи сертификата) в CSR
- 17. X.509 серийный номер сертификата к шестнадцатеричному преобразованию
- 18. X.509 Проверка сертификата с помощью Java и Bouncycastle
- 19. Создать X.509 SubjectPublicKeyInfo/Открытый ключ OpenSSL PEM из самозаверяющего сертификата
- 20. Настройка Java MongoClient для использования сертификата X.509 для аутентификации
- 21. Получить данные REAL X.509 из отформатированного сертификата RFC1421
- 22. Как рассчитать отпечаток SHA-1 сертификата X.509?
- 23. Как проверить сертификат X.509 с Ruby OpenSSL?
- 24. Подписание SOAP-сообщений с использованием сертификата X.509 из службы WCF в Java webservice
- 25. Apache CXF - настроить WSS4J на извлечение сертификата сервера x.509 из заголовка SOAP
- 26. Извлечение части сертификата подписать файл с OpenSSL
- 27. «Не удается загрузить идентификатор сертификата X.509, указанный в конфигурации»
- 28. SHA1 OpenSSL Сегментация Диагностика
- 29. Как требовать аутентификацию сертификата X.509 в ASP.NET MVC?
- 30. Добавление сертификата x.509 в хранилище сертификатов Microsoft
Посмотрите здесь: http://stackoverflow.com/questions/143523/x509-certificate-parsing-libraries-for-java –