feat(eidas): Implement eIDAS Crypto Plugin with dependency injection and signing capabilities

- Added ServiceCollectionExtensions for eIDAS crypto providers.
- Implemented EidasCryptoProvider for handling eIDAS-compliant signatures.
- Created LocalEidasProvider for local signing using PKCS#12 keystores.
- Defined SignatureLevel and SignatureFormat enums for eIDAS compliance.
- Developed TrustServiceProviderClient for remote signing via TSP.
- Added configuration support for eIDAS options in the project file.
- Implemented unit tests for SM2 compliance and crypto operations.
- Introduced dependency injection extensions for SM software and remote plugins.
This commit is contained in:
master
2025-12-23 14:06:48 +02:00
parent ef933db0d8
commit 84d97fd22c
51 changed files with 4353 additions and 747 deletions

View File

@@ -9,7 +9,7 @@ using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.Scanner.Core.Configuration;
using StellaOps.Scanner.Core.Contracts;
using StellaOps.Scanner.Reachability.Models;
using StellaOps.Attestor;
using StellaOps.Scanner.Worker.Orchestration;
namespace StellaOps.Scanner.Worker.Processing.PoE;
@@ -138,7 +138,7 @@ public sealed class PoEGenerationStageExecutor : IScanStageExecutor
}
}
private ScanContext BuildScanContext(ScanJobContext context)
private PoEScanContext BuildScanContext(ScanJobContext context)
{
// Extract scan metadata from job context
var scanId = context.ScanId;
@@ -169,7 +169,7 @@ public sealed class PoEGenerationStageExecutor : IScanStageExecutor
// Get configuration path
var configPath = "etc/scanner.yaml"; // Default
return new ScanContext(
return new PoEScanContext(
ScanId: scanId,
GraphHash: graphHash ?? "blake3:unknown",
BuildId: buildId ?? "gnu-build-id:unknown",