Статус: Участник
Группы: Участники
Зарегистрирован: 22.07.2009(UTC) Сообщений: 18
|
Уважаемые, добрый день! Помогите, пожалуйста. Из под .Net вызываю следующий код проверки подписи сертификата: Код:
...
if (SspiProvider.CryptVerifyCertificateSignatureEx( IntPtr.Zero
, SecurityConstants.X509_ASN_ENCODING
, SecurityConstants.CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB
, ref db
, SecurityConstants.CRYPT_VERIFY_CERT_SIGN_ISSUER_CERT
, hCertIssuer
, 0
, IntPtr.Zero) == 0)
{
...
Функция CryptVerifyCertificateSignatureEx определена как: Код:
[DllImport(@"crypt32.dll", EntryPoint = "CryptVerifyCertificateSignatureEx", CharSet = CharSet.Ansi, SetLastError = true)]
internal static extern int CryptVerifyCertificateSignatureEx(IntPtr hCryptProv, int dwCertEncodingType, int dwSubjectType, ref DataBlob pvSubject, int dwIssuerType, IntPtr pvIssuer, int dwFlags, IntPtr pvReserved);
Указанный код корректно проверяет подпись на многих протестированных машинах, но у одного клиента сваливается с ошибкой: "Указан неправильный алгоритм". У него установлена версия 3.6, других криптопровайдеров в системе нет. ОС: WinServer 2003 r2, x64. Я подозреваю, что в первый параметр функции всё-таки необходимо передать контекст криптопровайдера, но почему же везде работает? Отредактировано пользователем 17 сентября 2009 г. 14:29:33(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close