// SPDX-License-Identifier: BUSL-1.1 // Sprint: SPRINT_4100_0006_0002 - eIDAS Crypto Plugin using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using StellaOps.Cryptography; using StellaOps.Cryptography.Plugin.EIDAS.Configuration; namespace StellaOps.Cryptography.Plugin.EIDAS.DependencyInjection; /// /// Dependency injection extensions for eIDAS crypto plugin. /// public static class ServiceCollectionExtensions { /// /// Add eIDAS crypto providers to the service collection. /// public static IServiceCollection AddEidasCryptoProviders( this IServiceCollection services, IConfiguration configuration) { // Bind eIDAS configuration services.Configure(configuration.GetSection("StellaOps:Crypto:Profiles:eidas")); // Register eIDAS components services.AddSingleton(); services.AddHttpClient(); // Register crypto provider services.AddSingleton(); return services; } /// /// Add eIDAS crypto providers with explicit options. /// public static IServiceCollection AddEidasCryptoProviders( this IServiceCollection services, Action configureOptions) { services.Configure(configureOptions); services.AddSingleton(); services.AddHttpClient(); services.AddSingleton(); return services; } }