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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline NH  
#1 Оставлено : 20 апреля 2010 г. 0:25:58(UTC)
NH

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

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

Добрый вечер! Подскажите пож., как при подписании cms запросить у пользователя пин код от RuToken`a

byte[] msg = File.ReadAllBytes(@"C:\test.txt");

ContentInfo contentInfo = new ContentInfo(msg);
SignedCms signedCms = new SignedCms(contentInfo, true);


CmsSigner cmsSigner = new CmsSigner( this.GetCert());

// при выполнении этого метода падает эксепшен: The card cannot be accessed because the wrong PIN was presented.
signedCms.ComputeSignature(cmsSigner);


P.S. метод получения сертификата из RuTokena

public X509Certificate2 GetCert()
{
// Формуруем коллекцию отображаемых сертификатов.
X509Store store = new X509Store("MY", StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
X509Certificate2Collection collection =
(X509Certificate2Collection)store.Certificates;

// Отображаем окно выбора сертификата.
X509Certificate2Collection scollection =
X509Certificate2UI.SelectFromCollection(collection,
"Выбор секретного ключа по сертификату",
"Выберите сертификат соответствующий Вашему секретному ключу.",
X509SelectionFlag.SingleSelection);

// Проверяем, что выбран сертификат
if (scollection.Count == 0)
{
Console.WriteLine("Не выбран ни один сертификат.");
return null;
}

// Выбран может быть только один сертификат.
return scollection[0];
}
Offline Челпанов А.  
#2 Оставлено : 20 апреля 2010 г. 0:33:00(UTC)
Челпанов А.

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

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

Поблагодарили: 2 раз в 2 постах
О различных вариантах ввода пароля можно почитать в этой ветке форума
С уважением, Александр.
Offline NH  
#3 Оставлено : 20 апреля 2010 г. 0:56:40(UTC)
NH

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

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

> При подписи сообщения использовать метод CmsSigner.ComputeSignature(CmsSigner signer,bool silent) со вторым параметром установленным в false. В этом случае при каждой подписи будет появляться окно КриптоПро для ввода пароля.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.