3.1 KiB
3.1 KiB
Audit - StellaOps.Cryptography.Plugin.Eidas
Project
- Path:
src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/StellaOps.Cryptography.Plugin.Eidas.csproj - Module:
Cryptography - Kind:
Plugin - SDK:
Microsoft.NET.Sdk - TargetFramework:
net10.0 - Audit date (UTC): 2026-01-30
Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 12
- Service locator usage (BuildServiceProvider/GetService): 3
- Analyzer enforcement: missing repo-wide (see summary).
Details
- 100-line files:
src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/EidasPlugin.cs(517 lines)src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/Timestamping/EuTrustListService.cs(405 lines)src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/Timestamping/QualifiedTimestampVerifier.cs(403 lines)src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/Timestamping/CadesSignatureBuilder.cs(318 lines)src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/Timestamping/QualifiedTsaConfiguration.cs(257 lines)src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/Timestamping/TimestampModeSelector.cs(216 lines)src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/Timestamping/IQualifiedTimestampVerifier.cs(214 lines)src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/Timestamping/ICadesSignatureBuilder.cs(210 lines)src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/Tests/EtsiConformanceTestVectors.cs(189 lines)src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/Timestamping/IEuTrustListService.cs(181 lines)src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/Timestamping/EidasTimestampingExtensions.cs(145 lines)src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/Timestamping/ITimestampModeSelector.cs(103 lines)
- Service locator matches:
src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/EidasPlugin.cs:76 _cadesBuilder = context.Services.GetService();src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/EidasPlugin.cs:77 _timestampModeSelector = context.Services.GetService();src/Cryptography/StellaOps.Cryptography.Plugin.Eidas/EidasPlugin.cs:78 _timestampVerifier = context.Services.GetService();
Fix Guidance
- Split files over 100 lines into smaller types or partials.
- Replace service locator usage with constructor injection.
Testing Fullness Findings
- Status: FAIL
- Expected layers: Unit, Integration, Security, Offline
- Detected test projects: src/__Libraries/StellaOps.Cryptography.Plugin.EIDAS.Tests/StellaOps.Cryptography.Plugin.EIDAS.Tests.csproj [Unit]
- Missing layers: Integration, Security, Offline
Manual checks required
- Observability contract tests for WebService/Worker.
- Offline execution (tests must run without network access).
Fix Guidance
- Add integration tests for cross-component flows.
- Add security tests for authn/authz or input validation.
- Add offline/airgap coverage with fixtures only.