Статус: Новичок
Группы: Участники
Зарегистрирован: 13.08.2024(UTC) Сообщений: 1
Сказал(а) «Спасибо»: 1 раз
|
Всем доброго дня! Подскажите пожалуйста, использую библиотеку КриптоПро .Net Libcore и следующий код .net core webapi для подписи документов: Код:public string Get()
{
try
{
byte[] signature;
using (var gostCert = GetGost2012_256Certificate()[0])
{
var key = gostCert.GetGost3410_2012_256PrivateKey();
var bytesToHash = Encoding.ASCII.GetBytes("123456789"); //File.ReadAllBytes("D:\\document.txt");
var contentInfo = new ContentInfo(bytesToHash);
var signedCms = new CpSignedCms(contentInfo, false);
CpCmsSigner cmsSigner = new CpCmsSigner(gostCert);
// Опционально добавляем подписанные атрибуты.
cmsSigner.SignedAttributes.Add(new Pkcs9SigningTime(DateTime.Now));
cmsSigner.SignedAttributes.Add(new PkcsSigningCertificateV2(gostCert));
// Вычисляем и кодируем подпись в массив байт.
signedCms.ComputeSignature(cmsSigner);
signature = signedCms.Encode();
//Console.WriteLine($"CMS Sign: {Convert.ToBase64String(signature)}");
return Convert.ToBase64String(signature);
}
}
catch (Exception ex) {
return ex.StackTrace;
}
}
Код: private CpX509Certificate2Collection GetGost2012_256Certificate()
{
using (var store = new CpX509Store(StoreName.My, StoreLocation.CurrentUser))
{
store.Open(OpenFlags.ReadOnly);
return store.Certificates.Find(X509FindType.FindByThumbprint, "test_gost_256_client_2022", false);
}
}
Когда запускаю приложение web api локально через F5, то сертификат с рутокена считывается корректно и все подписывается, а если я публикую приложение у себя на IIS, то сертификат уже не находит. С чем это связано и почему IIS не может получить доступ? Отредактировано пользователем 13 августа 2024 г. 12:20:44(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 14.10.2011(UTC) Сообщений: 144 Поблагодарили: 31 раз в 30 постах
|
Добрый день!
Вероятнее всего, причина в том, что Ваше приложение работает под системной учётной записью. УЗ, под которой работает приложение, можно посмотреть/указать в настройках соответствующего пула приложений в оснастке IIS. Если приложение работает под учётной записью типа Application Pool Identity, то удобнее установить сертификат в хранилище локального компьютера с привязкой к ЗК. |
|
1 пользователь поблагодарил Георгий Садофьев за этот пост.
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close