Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.6
»
Не выводится окно за запросом пароля контейнера
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.09.2008(UTC) Сообщений: 4
|
При установке сертификата из контейнера не выводится окно с запросом пароля контейнера. При попытке подписи этим сертификатом пароль также не запрашивается и выдается ошибка "The card cannot be accessed because the wrong PIN was presented". При установке сертификата из контейнера с пустым паролем, ошибок при подписи не возникает. Я так понимаю, каждый раз подставляется пустой PIN и в первом случае он не совпадает с реальным, а во втором - совпадает. Пароли контейнеров в системе не были сохранены. Единственный, найденный нами способ обхода этой проблемы - попытаться скопировать контейнер. Только при попытке копирования контейнера, выводится окно с запросом его пароля. Сохранив во время этого запроса пароль контейнера можно дальше с ним работать.
Две недели назад окошко с запросом пароля выдавалось нормально. После этого никаких изменений не производилось, разве что обновления Windows были.
Хотелось бы получить нормальное решение этой проблемы, при котором необязательно сохранять пароль контейнера и проводить шаманские действия (которые могут и не сработать в следующих версиях).
Ошибка появляется на двух системах:
Версия ядра СКЗИ: 3.6.4071 КС1 Версия продукта: 3.6.5141 Контейнер хранится на флешке. Информация о системе, выводимая msinfo32: OS Name Microsoft(R) Windows(R) Server 2003 Enterprise x64 Edition Version 5.2.3790 Service Pack 2 Build 3790 Other OS Description R2 OS Manufacturer Microsoft Corporation System Name SDIIS System Manufacturer Intel Corporation System Model X38ML System Type x64-based PC BIOS Version/Date Intel Corporation S3200X38.86B.00.00.0049.061620090955, 16.06.2009 SMBIOS Version 2.5 Hardware Abstraction Layer Version = "5.2.3790.3959 (srv03_sp2_rtm.070216-1710)"
На второй машине пробовали несколько версий: Версии ядра СКЗИ - 3.6.5355 и 3.6.4071 (пробовали и КС1 и КС2) Версии продукта - 3.6.5141, 3.6.5371, 3.6.5402. Контейнер хранится на дискете. Информация о системе: Microsoft Windows Server 2003 Enterprise x64 Edition Service Pack 2
На следующей системе при работе с этими же сертификатами окно запроса пароля выводится нормально:
Версия Крипто-Про: 3.0.3300.2 КС1 Информация о системе, выводимая msinfo32: Имя ОС Microsoft Windows XP Professional Версия 5.1.2600 Service Pack 3 Сборка 2600 Изготовитель ОС Microsoft Corporation Имя системы HP_SDB084_SD148 Изготовитель Hewlett-Packard Модель HP Compaq dx2200 MT Тип Компьютер на базе X86 Версия BIOS Phoenix Technologies, LTD MS7254 1.06, 28.12.2006 Версия SMBIOS 2.5 Аппаратно-зависимый уровень (HAL) Версия = "5.1.2600.5512 (xpsp.080413-2111)"
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 29.12.2007(UTC) Сообщений: 348 Откуда: ООО "Крипто-Про"
|
Цитата:При попытке подписи этим сертификатом пароль также не запрашивается и выдается ошибка "The card cannot be accessed because the wrong PIN was presented". Какими средствами создается подпись?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 10.09.2008(UTC) Сообщений: 4
|
Писинин Алексей написал:Цитата:При попытке подписи этим сертификатом пароль также не запрашивается и выдается ошибка "The card cannot be accessed because the wrong PIN was presented". Какими средствами создается подпись? Подпись создаётся средствами .NET (с помощью класса SignedCms). На других машинах проблем при использовании этой программы не возникает. Проблема в том, что пароль не запрашивается даже при установке сертификата и при инициализации TLS IIS'ом, хотя раньше запрашивался. TLS также не работает, если предварительно не сохранить пароль шаманскими средствами.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.05.2009(UTC) Сообщений: 10 Откуда: Russia
|
Интересно, есть ли какие-то новости по этому поводу. Сейчас возникла такаяже проблема и непонятно как с ней бороться.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.04.2008(UTC) Сообщений: 519 Откуда: Крипто-Про
|
Если сборкой 3.6R2(КС1) проблема осталась - уточните конфигурацию: какая ОС(разрядность, сервис паки); какими средствами создается подпись; на каком носителе ключи.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.05.2009(UTC) Сообщений: 10 Откуда: Russia
|
IvanZzz написал:Если сборкой 3.6R2(КС1) проблема осталась - уточните конфигурацию: какая ОС(разрядность, сервис паки); какими средствами создается подпись; на каком носителе ключи. OS: Windows 7 Ultimate x64 + last updates CryptoPro v.3.6.6497 (3.6 R2 с сайта) Носитель: eToken PRO SmartCard (Token P0000 F0.0.0.0) через считыватель Athena ASEDrive IIIe USB 0 eToken Driver: eToken PKI Client 5.1 SP1 (5.1.66.0) - самый последний При работе с ключем на токене через CryptoPro (чтение сертификата, проверка и т.д.), а также при работе через CAPICOM, окошко для воода пароля выводится, и принимается нормально. При попытке же выполнить простую CMS подпись через .NET в момент выполнения подписи выдается ошибка: Код:System.Security.Cryptography.CryptographicException was unhandled
Message="The card cannot be accessed because the wrong PIN was presented.\r\n"
Source="System.Security"
StackTrace:
at System.Security.Cryptography.Pkcs.SignedCms.Sign(CmsSigner signer, Boolean silent)
at System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(CmsSigner signer, Boolean silent)
at Samples.CMS.EnvelopedSigned.SignMsg(Byte[] msg, X509Certificate2 signerCert) in D:\MyProjects\Tests\SharpeiSample3834\CMS\cs\EnvelopedSigned.cs:line 237
at Samples.CMS.EnvelopedSigned.Main(String[] args) in D:\MyProjects\Tests\SharpeiSample3834\CMS\cs\EnvelopedSigned.cs:line 84
at Samples.SCall.Program.Main(String[] args) in D:\MyProjects\Tests\SharpeiSample3834\SCall\cs\Program.cs:line 41
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
при этом окошко с запросом пароля не выводится и ошибка выдается сразу же. Следует отметить, что до определенной версии 3.6 CryptoPro, проблем замечено не было. Пример функции выполняющей подпись: Код:// Подписываем сообщение секретным ключем.
static byte[] SignMsg(Byte[] msg,X509Certificate2 signerCert)
{
// Создаем объект ContentInfo по сообщению.
// Это необходимо для создания объекта SignedCms.
ContentInfo contentInfo = new ContentInfo(msg);
// Создаем объект SignedCms по только что созданному
// объекту ContentInfo.
// SubjectIdentifierType установлен по умолчанию в
// IssuerAndSerialNumber.
// Свойство Detached установлено по умолчанию в false, таким
// образом сообщение будет включено в SignedCms.
SignedCms signedCms = new SignedCms(contentInfo);
// Определяем подписывающего, объектом CmsSigner.
CmsSigner cmsSigner = new CmsSigner(signerCert);
// Подписываем CMS/PKCS #7 сообение.
Console.Write("Вычисляем подпись сообщения для субъекта {0} ... ", signerCert.SubjectName.Name);
signedCms.ComputeSignature(cmsSigner); // ЗДЕСЬ ПРОИСХОДИТ ОШИБКА
Console.WriteLine("Успешно.");
// Кодируем CMS/PKCS #7 сообщение.
return signedCms.Encode();
}
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.12.2007(UTC) Сообщений: 390 Откуда: КриптоПро Поблагодарили: 2 раз в 2 постах
|
При таком способе подписи в .Net устанавливается (не нами, а microsoft) режим SILENT (без окошек) и пароль не предъявляется. При попытке обращения к секретному ключу без пароля выдается описанное Вами исключение. Подробно о использовании паролей в CMS описано в этой ветке форума в моем посте От: 29 октября 2009 г. 17:00:10 Цитата:Следует отметить, что до определенной версии 3.6 CryptoPro, проблем замечено не было. скорее всего до определенного момента не использовался пароль Отредактировано пользователем 30 августа 2010 г. 16:06:42(UTC)
| Причина: Не указана |
С уважением, Александр. |
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.05.2009(UTC) Сообщений: 10 Откуда: Russia
|
Челпанов А. написал:При таком способе подписи в .Net устанавливается (не нами, а microsoft) режим SILENT (без окошек) и пароль не предъявляется. При попытке обращения к секретному ключу без пароля выдается описанное Вами исключение. Подробно о использовании паролей в CMS описано в этой ветке форума в моем посте От: 29 октября 2009 г. 17:00:10 Вот же блин, из-за этого маленького параметра я себе всю голову сломал... Челпанов А. написал:Цитата:Следует отметить, что до определенной версии 3.6 CryptoPro, проблем замечено не было. скорее всего до определенного момента не использовался пароль Может в ранних примерах этот параметр был установлен, поэтому и не обратил внимания. В итоге: Спасибо, помогло.
|
|
|
|
Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.6
»
Не выводится окно за запросом пароля контейнера
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close