27 lines
1.1 KiB
C#
27 lines
1.1 KiB
C#
using EnvelopeGenerator.Application.Common.Configurations;
|
|
using EnvelopeGenerator.Application.Common.Interfaces.Services;
|
|
using EnvelopeGenerator.Infrastructure.Crypt.Services;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.Options;
|
|
|
|
namespace EnvelopeGenerator.Infrastructure.Crypt.DependencyInjection;
|
|
|
|
public static class ServiceCollectionExtensions
|
|
{
|
|
public static IServiceCollection AddCryptInfrastructure(this IServiceCollection services, IConfiguration configuration)
|
|
{
|
|
services
|
|
.AddOptions<Pkcs11Options>()
|
|
.Bind(configuration.GetSection(Pkcs11Options.SectionName))
|
|
.ValidateDataAnnotations()
|
|
.ValidateOnStart();
|
|
|
|
services.AddSingleton<IPdfDigitalSignatureService, PdfDigitalSignatureService>();
|
|
services.AddSingleton<Pkcs11SelfTestStatusStore>();
|
|
services.AddSingleton<IPkcs11SelfTestStatusProvider>(sp => sp.GetRequiredService<Pkcs11SelfTestStatusStore>());
|
|
services.AddHostedService<Pkcs11StartupSelfTestHostedService>();
|
|
return services;
|
|
}
|
|
}
|