using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using System; namespace StellaOps.Cryptography.Plugin.CryptoPro; public static class CryptoProCryptoServiceCollectionExtensions { public static IServiceCollection AddCryptoProGostProvider( this IServiceCollection services, Action? configure = null) { ArgumentNullException.ThrowIfNull(services); if (configure is not null) { services.Configure(configure); } if (!OperatingSystem.IsWindows()) { return services; } services.TryAddEnumerable( ServiceDescriptor.Singleton()); return services; } }