Reo.Core.CryptoApiClient
10.0.22
dotnet add package Reo.Core.CryptoApiClient --version 10.0.22
NuGet\Install-Package Reo.Core.CryptoApiClient -Version 10.0.22
<PackageReference Include="Reo.Core.CryptoApiClient" Version="10.0.22" />
<PackageVersion Include="Reo.Core.CryptoApiClient" Version="10.0.22" />
<PackageReference Include="Reo.Core.CryptoApiClient" />
paket add Reo.Core.CryptoApiClient --version 10.0.22
#r "nuget: Reo.Core.CryptoApiClient, 10.0.22"
#:package Reo.Core.CryptoApiClient@10.0.22
#addin nuget:?package=Reo.Core.CryptoApiClient&version=10.0.22
#tool nuget:?package=Reo.Core.CryptoApiClient&version=10.0.22
Reo.Core.CryptoApiClient
Описание пакета
Reo.Core.CryptoApiClient — это библиотека для работы с криптографическими подписями в формате CMS (Cryptographic
Message Syntax). Пакет решает задачу безопасного создания и проверки электронных подписей для документов, обеспечивая
поддержку как отсоединённых (detached), так и присоединённых (embedded) подписей. Он предоставляет удобные инструменты
для взаимодействия с внешними сервисами, обработки потоков данных и сериализации результатов.
Основные компоненты
- ReusableStreamWrapper: Обёртка для потоков данных, которая позволяет избежать преждевременного закрытия потоков при работе с файлами. Используется для безопасной передачи данных между компонентами.
- ICryptoApiClient: Интерфейс для взаимодействия с внешним криптографическим сервисом. Реализации этого интерфейса позволяют создавать и проверять подписи.
- VerifySignatureResponse: Модель данных, представляющая результат проверки подписи. Содержит информацию о валидности подписи, возможных ошибках и данных о сертификате.
- SignatureData: Модель данных, описывающая информацию о сертификате, связанном с подписью (владелец, издатель, срок действия и т.д.).
Требования
- .NET: Совместим с .NET 6.0 и выше.
- Зависимости:
System.Text.Json(для сериализации/десериализации данных).System.IO.Pipelines(для работы с потоками данных).
Установка
Установите пакет через NuGet Package Manager:
Install-Package Reo.Core.CryptoApiClient
Или через .NET CLI:
dotnet add package Reo.Core.CryptoApiClient
Настройка
Регистрация в DI-контейнере (ASP.NET Core)
services.AddHttpClient<ICryptoApiClient, CryptoApiClient>(client =>
{
client.BaseAddress = new Uri("https://api.crypto-service.com/");
});
Конфигурационные параметры
- BaseAddress: URL внешнего криптографического сервиса (указывается в
CryptoApiClientOptions). - Timeout: Время ожидания ответа от сервиса (по умолчанию 30 секунд).
Использование
Пример 1: Проверка подписи файла
using var fileStream = File.OpenRead("document.pdf");
var response = await cryptoApiClient.VerifySignatureAsync(fileStream, new CryptoApiOptions
{
Timeout = TimeSpan.FromSeconds(10)
});
if (response.Valid)
{
Console.WriteLine("Подпись действительна.");
foreach (var data in response.SignaturesData)
{
Console.WriteLine($"Сертификат: {data.CertificateSubject} (действителен с {data.CertificateNotBefore} по {data.CertificateNotAfter})");
}
}
else
{
Console.WriteLine($"Ошибка проверки: {response.Error}");
}
Пример 2: Создание отсоединённой подписи
using var fileStream = File.OpenRead("document.pdf");
var signatureStream = await cryptoApiClient.CreateDetachedSignatureAsync(fileStream, new CryptoApiOptions
{
Timeout = TimeSpan.FromSeconds(10)
});
using var signatureFile = File.Create("signature.cms");
await signatureStream.CopyToAsync(signatureFile);
Лицензия
Данный пакет распространяется под лицензией MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Flurl (>= 4.0.0)
- Flurl.Http (>= 4.0.2)
- JetBrains.Annotations (>= 2025.2.4)
- Microsoft.Extensions.Configuration (>= 10.0.2)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Http.Polly (>= 10.0.2)
- Microsoft.Extensions.Logging (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Options (>= 10.0.2)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.2)
- Polly (>= 8.5.0)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.22 | 948 | 2/9/2026 |
| 10.0.21 | 151 | 2/9/2026 |
| 10.0.20 | 155 | 2/9/2026 |
| 10.0.15 | 143 | 2/6/2026 |
| 10.0.14 | 145 | 2/6/2026 |
| 10.0.13 | 143 | 2/4/2026 |
| 10.0.12 | 141 | 2/3/2026 |
| 10.0.11 | 145 | 2/2/2026 |
| 10.0.10 | 149 | 1/29/2026 |
| 10.0.9 | 157 | 1/29/2026 |
| 10.0.8 | 155 | 1/27/2026 |
| 10.0.6 | 142 | 1/26/2026 |
| 10.0.5 | 164 | 1/23/2026 |
| 10.0.3 | 161 | 1/23/2026 |
| 10.0.2 | 145 | 1/23/2026 |
| 10.0.1 | 139 | 1/22/2026 |
| 8.0.829 | 156 | 1/22/2026 |
| 8.0.828 | 156 | 1/22/2026 |
| 8.0.827 | 168 | 1/22/2026 |
| 8.0.826 | 155 | 1/22/2026 |