Add post-quantum cryptography support with PqSoftCryptoProvider
Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Scanner Analyzers / Discover Analyzers (push) Has been cancelled
Scanner Analyzers / Build Analyzers (push) Has been cancelled
Scanner Analyzers / Test Language Analyzers (push) Has been cancelled
Scanner Analyzers / Validate Test Fixtures (push) Has been cancelled
Scanner Analyzers / Verify Deterministic Output (push) Has been cancelled
wine-csp-build / Build Wine CSP Image (push) Has been cancelled

- Implemented PqSoftCryptoProvider for software-only post-quantum algorithms (Dilithium3, Falcon512) using BouncyCastle.
- Added PqSoftProviderOptions and PqSoftKeyOptions for configuration.
- Created unit tests for Dilithium3 and Falcon512 signing and verification.
- Introduced EcdsaPolicyCryptoProvider for compliance profiles (FIPS/eIDAS) with explicit allow-lists.
- Added KcmvpHashOnlyProvider for KCMVP baseline compliance.
- Updated project files and dependencies for new libraries and testing frameworks.
This commit is contained in:
StellaOps Bot
2025-12-07 15:04:19 +02:00
parent 862bb6ed80
commit 98e6b76584
119 changed files with 11436 additions and 1732 deletions

View File

@@ -0,0 +1,21 @@
StellaOps:
Crypto:
Registry:
ActiveProfile: eu-eidas-soft
PreferredProviders:
- eu.eidas.soft
- pq.soft
- default
Profiles:
eu-eidas-soft:
PreferredProviders:
- eu.eidas.soft
- pq.soft
- default
Diagnostics:
Providers:
Enabled: true
Metrics:
LogLevel: Information
Notes:
Certification: "software-only; QSCD not enforced. Set EIDAS_SOFT_ALLOWED=1 to enable profile."

View File

@@ -0,0 +1,19 @@
StellaOps:
Crypto:
Registry:
ActiveProfile: kr-kcmvp-hash
PreferredProviders:
- kr.kcmvp.hash
- default
Profiles:
kr-kcmvp-hash:
PreferredProviders:
- kr.kcmvp.hash
- default
Diagnostics:
Providers:
Enabled: true
Metrics:
LogLevel: Information
Notes:
Certification: "hash-only baseline (SHA-256). Set KCMVP_HASH_ALLOWED=1 to enable."

View File

@@ -1,13 +1,21 @@
StellaOps:
Crypto:
Registry:
ActiveProfile: ru-offline
ActiveProfile: ru-linux-soft
PreferredProviders:
- default
- ru.openssl.gost
- ru.winecsp.http
- ru.pkcs11
Profiles:
ru-offline:
ru-linux-soft:
PreferredProviders:
- ru.openssl.gost
- ru.winecsp.http
- ru.pkcs11
ru-csp:
PreferredProviders:
- ru.cryptopro.csp
- ru.winecsp.http
- ru.openssl.gost
- ru.pkcs11
CryptoPro:
@@ -28,6 +36,13 @@ StellaOps:
Pin: "${PKCS11_PIN}"
PrivateKeyLabel: rootpack-signing
CertificateThumbprint: "<thumbprint>"
WineCsp:
ServiceUrl: http://localhost:5099
Keys:
- KeyId: ru-wine-default
Algorithm: GOST12-256
RemoteKeyId: ru-csp-default
Description: Wine CSP sidecar (CryptoPro via Wine)
OpenSsl:
Keys:
- KeyId: ru-openssl-default

View File

@@ -0,0 +1,21 @@
StellaOps:
Crypto:
Registry:
ActiveProfile: us-fips-soft
PreferredProviders:
- fips.ecdsa.soft
- pq.soft
- default
Profiles:
us-fips-soft:
PreferredProviders:
- fips.ecdsa.soft
- pq.soft
- default
Diagnostics:
Providers:
Enabled: true
Metrics:
LogLevel: Information
Notes:
Certification: "non-certified software baseline; enable FIPS_SOFT_ALLOWED=1 to activate"