36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
using StellaOps.AirGap.Bundle.Models;
|
|
|
|
namespace StellaOps.AirGap.Bundle.Services;
|
|
|
|
public sealed partial class BundleBuilder : IBundleBuilder
|
|
{
|
|
private readonly TimeProvider _timeProvider;
|
|
private readonly IGuidProvider _guidProvider;
|
|
private readonly ITsaChainBundler _tsaChainBundler;
|
|
private readonly IOcspResponseFetcher _ocspFetcher;
|
|
private readonly ICrlFetcher _crlFetcher;
|
|
|
|
public BundleBuilder() : this(
|
|
TimeProvider.System,
|
|
SystemGuidProvider.Instance,
|
|
null,
|
|
null,
|
|
null)
|
|
{
|
|
}
|
|
|
|
public BundleBuilder(
|
|
TimeProvider timeProvider,
|
|
IGuidProvider guidProvider,
|
|
ITsaChainBundler? tsaChainBundler,
|
|
IOcspResponseFetcher? ocspFetcher,
|
|
ICrlFetcher? crlFetcher)
|
|
{
|
|
_timeProvider = timeProvider ?? throw new ArgumentNullException(nameof(timeProvider));
|
|
_guidProvider = guidProvider ?? throw new ArgumentNullException(nameof(guidProvider));
|
|
_tsaChainBundler = tsaChainBundler ?? new TsaChainBundler();
|
|
_ocspFetcher = ocspFetcher ?? new OcspResponseFetcher();
|
|
_crlFetcher = crlFetcher ?? new CrlFetcher();
|
|
}
|
|
}
|