2014-11-18 3 views
2

Есть ли способ получить отпечатки пальцев в файле сертификации? Например, у меня есть свой certRSA.cert, и если я открою его с помощью окон 7, мы увидим всю информацию о сертификате (алгоритм, эмитент, субъект, действительность, открытый ключ, использование ключа, FINGERPRINT ...). В Java у меня есть сертификат как объект Java (X509Certificate):Получить информацию об отпечатке пальца файла сертификации

X509Certificate certRSA = X509Certificate.getInstance(CertRSA_data); 

И затем, например, мы можем получить открытый ключ:

PublicKey pubKeyUser = certRSA.getPublicKey(); 

Код разоблачить выше по ZZ Coder (How to retrieve/compute an X509 certificate's thumbprint in Java?) является действительно хорошо, но он вычисляет отпечаток пальца, и я хочу получить эту информацию (так же, как мы можем получить информацию открытого ключа или эмитента или другие элементы) сертификата, а не рассчитать его. Есть ли способ сделать это? Любые комментарии приветствуются. Спасибо.

ответ

4

Я хочу получить эту информацию (так же, как мы можем получить информацию открытого ключа или эмитента или другие элементы) сертификата, а не рассчитать его.

Причина, почему вы не можете получить отпечатки пальцев, как вы можете получить открытый ключ или эмитента, является то, что отпечатки пальцев не как те ценности, это notpart сертификата. Публичный ключ и эмитент являются его частью и, следовательно, просто должны быть прочитаны из сертификата, но отпечаток пальца не является его частью и, следовательно, должен быть рассчитан.

Презентация сертификатов Microsoft немного вводит в заблуждение, поскольку она представляет собой отпечаток пальца, как если бы он содержался в сертификате, но на самом деле Microsoft также должна рассчитать отпечаток пальца. Это особенно вводит в заблуждение, поскольку на самом деле у сертификата есть много отпечатков пальцев, и Microsoft отображает только отпечаток пальца, который, по-видимому, используется внутри, т. Е. Отпечаток SHA-1.

Смежные вопросы