Files
git.stella-ops.org/docs/features/unchecked/evidencelocker/sovereign-crypto-routing-for-evidence-locker.md

1.9 KiB

Sovereign Crypto Routing for Evidence Locker

Module

EvidenceLocker

Status

IMPLEMENTED

Description

Regional crypto profile routing within the Evidence Locker, directing signing and verification operations to the appropriate crypto provider (FIPS, eIDAS, GOST, SM) based on tenant configuration.

Implementation Details

  • Modules: src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Infrastructure/Signing/, src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.WebService/
  • Key Classes:
    • EvidenceSignatureService (src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Infrastructure/Signing/EvidenceSignatureService.cs) - routes signing operations to regional crypto providers
    • TenantResolution (src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.WebService/Security/TenantResolution.cs) - resolves tenant context for crypto profile selection
    • EvidenceLockerOptions (src/EvidenceLocker/StellaOps.EvidenceLocker/StellaOps.EvidenceLocker.Core/Configuration/EvidenceLockerOptions.cs) - configuration including regional crypto profile settings
  • Interfaces: IEvidenceSignatureService
  • Source: SPRINT_0161_0001_0001_evidencelocker.md

E2E Test Plan

  • Configure a tenant with FIPS crypto profile and verify EvidenceSignatureService uses FIPS-compliant signing algorithms
  • Configure a tenant with eIDAS crypto profile and verify eIDAS-compliant signatures are produced
  • Verify TenantResolution correctly resolves the tenant's crypto profile from the request context
  • Verify signing and verification round-trip: sign with one crypto profile and verify with the same profile
  • Verify cross-profile verification: an evidence bundle signed with FIPS can be verified using the correct public key
  • Verify EvidenceLockerOptions rejects invalid crypto profile configurations at startup