Статус: Новичок
Группы: Участники
Зарегистрирован: 09.03.2023(UTC) Сообщений: 2
Сказал(а) «Спасибо»: 3 раз
|
Здравствуйте.
Пытаюсь подписать строку на стороне сервера с помощью сертификата с закрытым ключом, который хранится в реестре (или этим же сертификатом, но выгруженным в формате .pfx вместе с закрытым ключом). Целевая платформа проекта <TargetFramework>net5.0</TargetFramework>. Решение используется и под Windows, и под Linux.
// Получение сертификата public static X509Certificate2 FindCertificate(string thumbprint, StoreLocation storeLocation) { var store = new X509Store(StoreName.My, storeLocation); store.Open(OpenFlags.ReadOnly); try { return store.Certificates .Find(X509FindType.FindByThumbprint, thumbprint, validOnly: false) .Cast<X509Certificate2>() .FirstOrDefault(c => c.HasPrivateKey); } finally { store.Close(); } }
Для подписания строки использую следующий код и получаю ошибку "Could not determine signature algorithm for the signer certificate."
ContentInfo contentInfo = new ContentInfo(dataToSign); SignedCms signedCms = new SignedCms(contentInfo, true); CmsSigner cmsSigner = new CmsSigner(certificateForReqXml); signedCms.ComputeSignature(cmsSigner); // Ошибка: Could not determine signature algorithm for the signer certificate. byte[] signatureResult = signedCms.Encode(); return signatureResult;
Пытался подключить dll из поста "https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=125242#post125242", но ошибка остаётся (вероятно, из за разницы целевой платформы).
Можно ли создать отдельную библиотеку, которая бы работала под Windows и Linux, на целевой платформе netstandard2.0 (или другой подходящей под Windows и Linux одновременно), в которую бы были включены все необходимые зависимости, чтобы можно было подключить dll в проекте и использовать её методы?
Или может быть есть другой способ получить откреплённую подпись к строке?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 218
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 63 раз в 59 постах
|
|
|
1 пользователь поблагодарил Артём Макаров за этот пост.
|
Minin оставлено 16.03.2023(UTC)
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close