Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Youkai  
#1 Оставлено : 18 февраля 2010 г. 16:09:58(UTC)
Youkai

Статус: Новичок

Группы: Участники
Зарегистрирован: 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)"
Offline Писинин Алексей  
#2 Оставлено : 18 февраля 2010 г. 16:43:59(UTC)
Писинин Алексей

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.12.2007(UTC)
Сообщений: 348
Мужчина
Откуда: ООО "Крипто-Про"

Цитата:
При попытке подписи этим сертификатом пароль также не запрашивается и выдается ошибка "The card cannot be accessed because the wrong PIN was presented".

Какими средствами создается подпись?
Offline Youkai  
#3 Оставлено : 19 февраля 2010 г. 14:50:15(UTC)
Youkai

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.09.2008(UTC)
Сообщений: 4

Писинин Алексей написал:
Цитата:
При попытке подписи этим сертификатом пароль также не запрашивается и выдается ошибка "The card cannot be accessed because the wrong PIN was presented".

Какими средствами создается подпись?


Подпись создаётся средствами .NET (с помощью класса SignedCms). На других машинах проблем при использовании этой программы не возникает.
Проблема в том, что пароль не запрашивается даже при установке сертификата и при инициализации TLS IIS'ом, хотя раньше запрашивался. TLS также не работает, если предварительно не сохранить пароль шаманскими средствами.
Offline tyger  
#4 Оставлено : 30 августа 2010 г. 13:10:10(UTC)
tyger

Статус: Участник

Группы: Участники
Зарегистрирован: 18.05.2009(UTC)
Сообщений: 10
Откуда: Russia

Интересно, есть ли какие-то новости по этому поводу. Сейчас возникла такаяже проблема и непонятно как с ней бороться.
Offline IvanZzz  
#5 Оставлено : 30 августа 2010 г. 14:31:48(UTC)
IvanZzz

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.04.2008(UTC)
Сообщений: 519
Мужчина
Откуда: Крипто-Про

Если сборкой 3.6R2(КС1) проблема осталась - уточните конфигурацию: какая ОС(разрядность, сервис паки); какими средствами создается подпись; на каком носителе ключи.
Offline tyger  
#6 Оставлено : 30 августа 2010 г. 15:42:59(UTC)
tyger

Статус: Участник

Группы: Участники
Зарегистрирован: 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();
        }
Offline Челпанов А.  
#7 Оставлено : 30 августа 2010 г. 16:05:03(UTC)
Челпанов А.

Статус: Активный участник

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
При таком способе подписи в .Net устанавливается (не нами, а microsoft) режим SILENT (без окошек) и пароль не предъявляется. При попытке обращения к секретному ключу без пароля выдается описанное Вами исключение.
Подробно о использовании паролей в CMS описано в этой ветке форума в моем посте От: 29 октября 2009 г. 17:00:10
Цитата:
Следует отметить, что до определенной версии 3.6 CryptoPro, проблем замечено не было.

скорее всего до определенного момента не использовался пароль Angel

Отредактировано пользователем 30 августа 2010 г. 16:06:42(UTC)  | Причина: Не указана

С уважением, Александр.
Offline tyger  
#8 Оставлено : 30 августа 2010 г. 16:25:03(UTC)
tyger

Статус: Участник

Группы: Участники
Зарегистрирован: 18.05.2009(UTC)
Сообщений: 10
Откуда: Russia

Челпанов А. написал:
При таком способе подписи в .Net устанавливается (не нами, а microsoft) режим SILENT (без окошек) и пароль не предъявляется. При попытке обращения к секретному ключу без пароля выдается описанное Вами исключение.
Подробно о использовании паролей в CMS описано в этой ветке форума в моем посте От: 29 октября 2009 г. 17:00:10

Вот же блин, из-за этого маленького параметра я себе всю голову сломал...

Челпанов А. написал:

Цитата:
Следует отметить, что до определенной версии 3.6 CryptoPro, проблем замечено не было.

скорее всего до определенного момента не использовался пароль Angel


Может в ранних примерах этот параметр был установлен, поэтому и не обратил внимания.

В итоге: Спасибо, помогло.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (4)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.