Add support for ГОСТ Р 34.10 digital signatures
- Implemented the GostKeyValue class for handling public key parameters in ГОСТ Р 34.10 digital signatures. - Created the GostSignedXml class to manage XML signatures using ГОСТ 34.10, including methods for computing and checking signatures. - Developed the GostSignedXmlImpl class to encapsulate the signature computation logic and public key retrieval. - Added specific key value classes for ГОСТ Р 34.10-2001, ГОСТ Р 34.10-2012/256, and ГОСТ Р 34.10-2012/512 to support different signature algorithms. - Ensured compatibility with existing XML signature standards while integrating ГОСТ cryptography.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Sprint 514 - Ops & Offline · 190.K) Sovereign Crypto Enablement
|
||||
|
||||
Active items only. Completed/historic work now resides in docs/implplan/archived_sprints_tasks.md (updated 2025-11-08).
|
||||
Active items only. Completed/historic work now resides in docs/implplan/archived/tasks.md (updated 2025-11-08).
|
||||
|
||||
[Ops & Offline] 190.K) Sovereign Crypto Enablement
|
||||
|
||||
@@ -8,8 +8,15 @@ Depends on: Sprint 100.A - Attestor, Sprint 110.A - AdvisoryAI, Sprint 120.A - A
|
||||
|
||||
Summary: Deliver RootPack_RU-ready sovereign crypto providers (CryptoPro + PKCS#11), configuration knobs, deterministic tests, and repo-wide crypto routing audit.
|
||||
|
||||
Fork status: `third_party/forks/AlexMAS.GostCryptography` tracks upstream commit `31413f6` (2024-07-01) so we can patch/build the CryptoPro plug-in without pulling the vulnerable `IT.GostCryptography` binary.
|
||||
|
||||
Task ID | State | Task description | Owners (Source)
|
||||
--- | --- | --- | ---
|
||||
SEC-CRYPTO-90-017 | TODO | Vendor `third_party/forks/AlexMAS.GostCryptography` into the solution build (solution filters, Directory.Build props, CI) so the library compiles with the rest of the repo and publishes artifacts for downstream consumers. | Security Guild (third_party/forks + src/__Libraries/StellaOps.Cryptography.Plugin.CryptoPro)
|
||||
SEC-CRYPTO-90-018 | TODO | Update developer/RootPack documentation to describe the new fork, sync steps, and licensing so operators know where the CryptoPro sources live and how to refresh them. | Security & Docs Guilds (docs/security/rootpack_ru_*.md, docs/dev/crypto.md)
|
||||
SEC-CRYPTO-90-019 | TODO | Patch the fork to drop vulnerable `System.Security.Cryptography.{Pkcs,Xml}` 6.0.0 dependencies (target .NET 8+, adopt fixed BCL packages, re-run tests). | Security Guild (third_party/forks/AlexMAS.GostCryptography)
|
||||
SEC-CRYPTO-90-020 | TODO | Re-point `StellaOps.Cryptography.Plugin.CryptoPro` to the forked sources (replace NuGet package references, adjust DI wiring) and prove the plugin works end-to-end. | Security Guild (src/__Libraries/StellaOps.Cryptography.Plugin.CryptoPro)
|
||||
SEC-CRYPTO-90-021 | TODO | Validate the forked library + plugin on both Windows (CryptoPro CSP) and Linux (OpenSSL GOST fallback) builds/tests; document any platform-specific prerequisites. | Security & QA Guilds (scripts/crypto/**, docs/security/rootpack_ru_validation.md)
|
||||
SEC-CRYPTO-90-001 | DONE (2025-11-07) | Produce the RootPack_RU implementation plan, provider strategy (CryptoPro + PKCS#11), and backlog split for sovereign crypto work. | Security Guild (src/__Libraries/StellaOps.Cryptography)
|
||||
SEC-CRYPTO-90-002 | DONE (2025-11-07) | Extend signature/catalog constants and configuration schema to recognize `GOST12-256/512`, regional crypto profiles, and provider preference ordering. | Security Guild (src/__Libraries/StellaOps.Cryptography)
|
||||
SEC-CRYPTO-90-003 | DONE (2025-11-07) | Implement `StellaOps.Cryptography.Plugin.CryptoPro` provider (sign/verify/JWK export) using CryptoPro CSP with deterministic logging/tests. | Security Guild (src/__Libraries/StellaOps.Cryptography)
|
||||
@@ -18,13 +25,14 @@ SEC-CRYPTO-90-005 | DONE (2025-11-08) | Add configuration-driven provider select
|
||||
SEC-CRYPTO-90-006 | DONE (2025-11-08) | Build deterministic Streebog/signature harnesses and RootPack audit metadata/runbooks. | Security Guild (src/__Libraries/StellaOps.Cryptography)
|
||||
SEC-CRYPTO-90-007 | DONE (2025-11-08) | Package RootPack_RU artifacts (plugins, trust anchors, configs) with deployment documentation. | Security Guild (src/__Libraries/StellaOps.Cryptography)
|
||||
SEC-CRYPTO-90-008 | DONE (2025-11-08) | Audit repository for direct crypto usage bypassing the new abstractions and file remediation tasks. | Security Guild (src/__Libraries/StellaOps.Cryptography)
|
||||
SEC-CRYPTO-90-009 | TODO | Replace the placeholder CryptoPro plug-in with a true CryptoPro CSP implementation (GostCryptography, certificate-store lookup, DER/raw normalization) so RootPack_RU exposes a qualified-signature path. | Security Guild (src/__Libraries/StellaOps.Cryptography.Plugin.CryptoPro)
|
||||
SEC-CRYPTO-90-010 | TODO | Introduce `StellaOpsCryptoOptions` / configuration binding for registry profiles/keys and ship an `AddStellaOpsCryptoRu(IConfiguration, …)` helper so hosts can enable `ru-offline` via YAML without custom code. | Security Guild (src/__Libraries/StellaOps.Cryptography + .DependencyInjection)
|
||||
SEC-CRYPTO-90-011 | TODO | Build the sovereign crypto CLI (`StellaOps.CryptoRu.Cli`) to list keys, perform test-sign operations, and emit determinism/audit snapshots referenced in the RootPack docs. | Security & Ops Guilds (src/Tools/StellaOps.CryptoRu.Cli)
|
||||
SEC-CRYPTO-90-009 | DONE (2025-11-09) | Replace the placeholder CryptoPro plug-in with a true CryptoPro CSP implementation (GostCryptography, certificate-store lookup, DER/raw normalization) so RootPack_RU exposes a qualified-signature path. | Security Guild (src/__Libraries/StellaOps.Cryptography.Plugin.CryptoPro)
|
||||
SEC-CRYPTO-90-010 | DONE (2025-11-09) | Introduce `StellaOpsCryptoOptions` / configuration binding for registry profiles/keys and ship an `AddStellaOpsCryptoRu(IConfiguration, …)` helper so hosts can enable `ru-offline` via YAML without custom code. | Security Guild (src/__Libraries/StellaOps.Cryptography + .DependencyInjection)
|
||||
SEC-CRYPTO-90-011 | DONE (2025-11-09) | Build the sovereign crypto CLI (`StellaOps.CryptoRu.Cli`) to list keys, perform test-sign operations, and emit determinism/audit snapshots referenced in the RootPack docs. | Security & Ops Guilds (src/Tools/StellaOps.CryptoRu.Cli)
|
||||
SEC-CRYPTO-90-012 | TODO | Add CryptoPro + PKCS#11 integration tests (env/pin gated) and wire them into `scripts/crypto/run-rootpack-ru-tests.sh`, covering Streebog vectors and DER/raw signatures. | Security Guild (src/__Libraries/__Tests/StellaOps.Cryptography.Tests)
|
||||
SEC-CRYPTO-90-013 | TODO | Extend the shared crypto stack with sovereign symmetric algorithms (Magma/Kuznyechik) so exports/data-at-rest can request Russian ciphers via the provider registry. | Security Guild (src/__Libraries/StellaOps.Cryptography)
|
||||
SEC-CRYPTO-90-014 | TODO | Update runtime hosts (Authority, Scanner WebService/Worker, Concelier, etc.) to register the RU providers, bind `StellaOps:Crypto` profiles, and expose configuration toggles per the new options model. | Security Guild + Service Guilds (multi-module)
|
||||
SEC-CRYPTO-90-015 | TODO | Refresh RootPack/validation documentation once the CLI/config/tests exist (remove TODO callouts, document final workflows). | Security Guild & Docs Guild (docs/security/rootpack_ru_*.md)
|
||||
SEC-CRYPTO-90-016 | DONE (2025-11-09) | Quarantine CryptoPro dependencies by default until IT.GostCryptography is patched; add MSBuild flag `StellaOpsEnableCryptoPro` and follow-up plan to re-enable the plug-in once a safe package exists. | Security Guild (src/__Libraries/StellaOps.Cryptography.DependencyInjection + .Plugin.CryptoPro)
|
||||
AUTH-CRYPTO-90-001 | DOING (2025-11-08) | Migrate Authority signing/key-loading paths (provider registry + crypto hash) so regional bundles can select sovereign providers per docs/security/crypto-routing-audit-2025-11-07.md. | Authority Core & Security Guild (src/Authority/StellaOps.Authority)
|
||||
|
||||
CONCELIER-WEB-AOC-19-005 | DOING (2025-11-08) | Fix `/advisories/{key}/chunks` seeded fixtures so AdvisoryChunksEndpoint tests stop returning 404/not-found when raw documents are pre-populated; ensure Mongo migrations no longer emit “Unable to locate advisory_raw documents” during test boot. | Concelier WebService Guild, QA Guild (src/Concelier/StellaOps.Concelier.WebService)
|
||||
@@ -32,4 +40,6 @@ CONCELIER-WEB-AOC-19-006 | DOING (2025-11-08) | Align WebService auth defaults w
|
||||
CONCELIER-WEB-AOC-19-007 | DOING (2025-11-08) | Update AOC verify logic/fixtures so guard failures produce the expected `ERR_AOC_001` payload while keeping mapper/guard parity covered by tests. | Concelier WebService Guild, QA Guild (src/Concelier/StellaOps.Concelier.WebService)
|
||||
SCANNER-CRYPTO-90-001 | TODO | Route hashing/signing flows (`ScanIdGenerator`, `ReportSigner`, Sbomer BuildX plugin) through `ICryptoProviderRegistry` so sovereign deployments can select RU providers per the crypto routing audit. | Scanner WebService Guild, Security Guild (src/Scanner/StellaOps.Scanner.WebService)
|
||||
SCANNER-WORKER-CRYPTO-90-001 | TODO | Wire Scanner Worker and BuildX analyzers to the crypto provider registry/hash abstractions, ensuring replay/report parity for sovereign bundles. | Scanner Worker Guild, Security Guild (src/Scanner/StellaOps.Scanner.Worker)
|
||||
SCANNER-CRYPTO-90-002 | TODO | Enable PQ-friendly DSSE (Dilithium/Falcon) for fragment signing + `_composition.json` attestations via crypto provider options; ship configuration docs and fixture coverage. | Scanner WebService Guild, Security Guild (src/Scanner/StellaOps.Scanner.WebService) |
|
||||
SCANNER-CRYPTO-90-003 | TODO | Add regression tests that rerun deterministic composition with RU/PQ profiles and validate Merkle roots + DSSE chains (hooked into `docs/replay/DETERMINISTIC_REPLAY.md`). Dependencies: SCANNER-CRYPTO-90-002. | Scanner Worker Guild, QA Guild (src/Scanner/__Tests) |
|
||||
ATTESTOR-CRYPTO-90-001 | TODO | Migrate attestation bundle hashing/witness flows to the registry + hash abstractions, enabling CryptoPro/PKCS#11 deployments. | Attestor Service Guild, Security Guild (src/Attestor/StellaOps.Attestor)
|
||||
|
||||
Reference in New Issue
Block a user