Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.04.2012(UTC) Сообщений: 61
|
Уважаемые,
Возможно ли создать усовершенствованную ЭЦП и проверить её с помощью КриптоПро .NET, если да то как?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 14.10.2011(UTC) Сообщений: 144 Поблагодарили: 31 раз в 30 постах
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.04.2012(UTC) Сообщений: 61
|
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.04.2012(UTC) Сообщений: 61
|
Я так и делаю, но в таком случае нет возможности указать пин для доступа к контейнеру закрытого ключа
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.04.2012(UTC) Сообщений: 109
|
alexeyng написал:Я так и делаю, но в таком случае нет возможности указать пин для доступа к контейнеру закрытого ключа Есть такая возможность. Если перед обращением к CADESCOM задать пин-код через Gost3410CryptoServiceProvider, то все будет нормально. Как программно задать пин-код или пароль показано в примерах КриптоПро .NET SDK - Simple35\Pdf\Sign.cs Код:
//set password.
Gost3410CryptoServiceProvider cert_key = certificate.PrivateKey as Gost3410CryptoServiceProvider;
if (null != cert_key)
{
var cspParameters = new CspParameters();
//копируем параметры csp из исходного контекста сертификата
cspParameters.KeyContainerName = cert_key.CspKeyContainerInfo.KeyContainerName;
cspParameters.ProviderType = cert_key.CspKeyContainerInfo.ProviderType;
cspParameters.ProviderName = cert_key.CspKeyContainerInfo.ProviderName;
cspParameters.Flags = cert_key.CspKeyContainerInfo.MachineKeyStore
? (CspProviderFlags.UseExistingKey|CspProviderFlags.UseMachineKeyStore)
: (CspProviderFlags.UseExistingKey);
cspParameters.KeyPassword = new SecureString();
foreach (var c in args[2])
{
cspParameters.KeyPassword.AppendChar(c);
}
//создаем новый контекст сертификат, поскольку исходный открыт readonly
certificate = new X509Certificate2(certificate.RawData);
//задаем криптопровайдер с установленным паролем
certificate.PrivateKey = new Gost3410CryptoServiceProvider(cspParameters);
}
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.04.2012(UTC) Сообщений: 61
|
А как в таком случае после этого передать сертификат, чтобы сделать signer.Certificate = certificate;signedData.SignCades(signer, CAdESCOM.CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1);
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.04.2012(UTC) Сообщений: 61
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close