Статус: Участник
Группы: Участники
Зарегистрирован: 05.12.2011(UTC) Сообщений: 18
|
Помогите понять разницу между 2 способами проверки сертификатов. 1. Метод CheckSignature со вторым параметром False Dim signedCms As New SignedCms() signedCms.Decode(Data) signedCms.CheckSignature(False)
2. Класс X509Chain. Dim ch As X509Chain = New X509Chain() For Each cert In signedCms.Certificates Dim res As Boolean = ch.Build(cert) If res = False Then
End If Next И нужен ли тут цикл?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,331 Сказал «Спасибо»: 550 раз Поблагодарили: 2210 раз в 1725 постах
|
Alex407 написал:Помогите понять разницу между 2 способами проверки сертификатов. 1. Метод CheckSignature со вторым параметром False Dim signedCms As New SignedCms() signedCms.Decode(Data) signedCms.CheckSignature(False)
2. Класс X509Chain. Dim ch As X509Chain = New X509Chain() For Each cert In signedCms.Certificates Dim res As Boolean = ch.Build(cert) If res = False Then
End If Next И нужен ли тут цикл? signedCms.CheckSignature(False) verifySignatureOnly = false => т.е. проверять и ЭЦП и сертификат 2 = строится цепочка для проверки, для каждого сертификата цикл - нужен ;) Отредактировано пользователем 12 декабря 2011 г. 20:21:59(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 05.12.2011(UTC) Сообщений: 18
|
Т.е. если мне нужно проверить и подпись и сертификаты, мне хватит CheckSignature(False) и проверять цепочку классом X509Chain мне нет смысла, т.к. CheckSignature это делает и так? Единственная разница в том, что CheckSignature генерирует исключение? В обоих случаях будет использован Revocation Provider для проверки сертификатов в online?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,331 Сказал «Спасибо»: 550 раз Поблагодарили: 2210 раз в 1725 постах
|
Alex407 написал:Т.е. если мне нужно проверить и подпись и сертификаты, мне хватит CheckSignature(False) и проверять цепочку классом X509Chain мне нет смысла, т.к. CheckSignature это делает и так? Единственная разница в том, что CheckSignature генерирует исключение? В обоих случаях будет использован Revocation Provider для проверки сертификатов в online? так.. а что по этому поводу написано в документации? ;) |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 05.12.2011(UTC) Сообщений: 18
|
Ну, очевидно, что Microsoft ничего не знает про Revocation Provider, поэтому там ничего нет. Ну, а документация по Шарпею ... Там, конечно, могли что-то написать, если бы захотели.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,331 Сказал «Спасибо»: 550 раз Поблагодарили: 2210 раз в 1725 постах
|
Alex407 написал:Ну, очевидно, что Microsoft ничего не знает про Revocation Provider, поэтому там ничего нет. Ну, а документация по Шарпею ... Там, конечно, могли что-то написать, если бы захотели. Цитата:Microsoft ничего не знает про Revocation Provider |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,331 Сказал «Спасибо»: 550 раз Поблагодарили: 2210 раз в 1725 постах
|
Alex407 написал:Ну, очевидно, что Microsoft ничего не знает про Revocation Provider, поэтому там ничего нет.
т.е. ссылку не давать? Отредактировано пользователем 12 декабря 2011 г. 21:36:58(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,331 Сказал «Спасибо»: 550 раз Поблагодарили: 2210 раз в 1725 постах
|
Alex407 написал:Помогите понять разницу между 2 способами проверки сертификатов. 1. Метод CheckSignature со вторым параметром False Dim signedCms As New SignedCms() signedCms.Decode(Data) signedCms.CheckSignature(False)
2. Класс X509Chain. Dim ch As X509Chain = New X509Chain() For Each cert In signedCms.Certificates Dim res As Boolean = ch.Build(cert) If res = False Then
End If Next И нужен ли тут цикл? этот "кусок" из Sharpei SDK\Examples\simple\Certificate\vb\BuildChain.vb ? Но там же с комментариями... |
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
Alex407 написал:Помогите понять разницу между 2 способами проверки сертификатов. 1. Метод CheckSignature со вторым параметром False Dim signedCms As New SignedCms() signedCms.Decode(Data) signedCms.CheckSignature(False)
2. Класс X509Chain. Dim ch As X509Chain = New X509Chain() For Each cert In signedCms.Certificates Dim res As Boolean = ch.Build(cert) If res = False Then
End If Next И нужен ли тут цикл? Шарпей тут ни при чём. signedCms.CheckSignature(False) сделает всё что нужно, второй способ проверки излишен. Проверка далется стандартными средствами CryptoAPI, поэтому Revocation Provider будет использован, если установлен. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close