2009-10-14 5 views
1

Мои корневые сертификаты хранятся в виде нескольких файлов в формате ASN.1.Как определить корень сертификата?

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

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

+0

Я думаю, что ответ лежит на имени эмитента. – hendry

ответ

0

Чтобы найти эмитента сертификата, вы должны использовать «DN эмитента» и сопоставить его с «Subject DN» сертификатов в вашем хранилище CA. Это должно значительно сократить количество проверки подписи.

Возможно иметь разные сертификаты CA с тем же «Subject DN» (с различными открытыми ключами, датами действительности и т. Д.), Поэтому ваш алгоритм должен быть готов к этому. «Идентификатор ключевого ключа» и «Идентификатор ключа авторизации» также могут помочь уменьшить количество кандидатов.

Поиск органа, выдавшего документ, является лишь малой частью «правильного подхода» к проверке сертификатов. Я бы посоветовал вам взглянуть на часть 6 из http://www.ietf.org/rfc/rfc5280.txt «Проверка пути сертификации». Некоторые части, скорее всего, переполнены (т. Е. Большинство вещей связано с политикой).

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

  • Нет связанных вопросов^_^