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
console-runner-image / build-runner-image (push) Has been cancelled
wine-csp-build / Build Wine CSP Image (push) Has been cancelled
wine-csp-build / Integration Tests (push) Has been cancelled
wine-csp-build / Security Scan (push) Has been cancelled
wine-csp-build / Generate SBOM (push) Has been cancelled
wine-csp-build / Publish Image (push) Has been cancelled
wine-csp-build / Air-Gap Bundle (push) Has been cancelled
wine-csp-build / Test Summary (push) Has been cancelled
- Added BerkeleyDbReader class to read and extract RPM header blobs from BerkeleyDB hash databases. - Implemented methods to detect BerkeleyDB format and extract values, including handling of page sizes and magic numbers. - Added tests for BerkeleyDbReader to ensure correct functionality and header extraction. feat: Add Yarn PnP data tests - Created YarnPnpDataTests to validate package resolution and data loading from Yarn PnP cache. - Implemented tests for resolved keys, package presence, and loading from cache structure. test: Add egg-info package fixtures for Python tests - Created egg-info package fixtures for testing Python analyzers. - Included PKG-INFO, entry_points.txt, and installed-files.txt for comprehensive coverage. test: Enhance RPM database reader tests - Added tests for RpmDatabaseReader to validate fallback to legacy packages when SQLite is missing. - Implemented helper methods to create legacy package files and RPM headers for testing. test: Implement dual signing tests - Added DualSignTests to validate secondary signature addition when configured. - Created stub implementations for crypto providers and key resolvers to facilitate testing. chore: Update CI script for Playwright Chromium installation - Modified ci-console-exports.sh to ensure deterministic Chromium binary installation for console exports tests. - Added checks for Windows compatibility and environment variable setups for Playwright browsers.
145 lines
5.1 KiB
JSON
145 lines
5.1 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"description": "GOST cryptographic test vectors for Wine CSP validation",
|
|
"version": "1.0.0",
|
|
"generated": "2025-12-07T00:00:00Z",
|
|
"warning": "FOR TEST VECTOR VALIDATION ONLY - NOT FOR PRODUCTION USE",
|
|
|
|
"hashVectors": {
|
|
"streebog256": [
|
|
{
|
|
"id": "streebog256-empty",
|
|
"description": "GOST R 34.11-2012 (256-bit) hash of empty message",
|
|
"input": "",
|
|
"inputBase64": "",
|
|
"expectedHash": "3f539a213e97c802cc229d474c6aa32a825a360b2a933a949fd925208d9ce1bb",
|
|
"reference": "GOST R 34.11-2012 specification"
|
|
},
|
|
{
|
|
"id": "streebog256-m1",
|
|
"description": "GOST R 34.11-2012 (256-bit) test message M1",
|
|
"input": "012345678901234567890123456789012345678901234567890123456789012",
|
|
"inputBase64": "MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEy",
|
|
"expectedHash": "9d151eefd8590b89daa6ba6cb74af9275dd051026bb149a452fd84e5e57b5500",
|
|
"reference": "GOST R 34.11-2012 specification Appendix A.1"
|
|
},
|
|
{
|
|
"id": "streebog256-hello",
|
|
"description": "GOST R 34.11-2012 (256-bit) hash of 'Hello'",
|
|
"input": "Hello",
|
|
"inputBase64": "SGVsbG8=",
|
|
"note": "Common test case for implementation validation"
|
|
},
|
|
{
|
|
"id": "streebog256-abc",
|
|
"description": "GOST R 34.11-2012 (256-bit) hash of 'abc'",
|
|
"input": "abc",
|
|
"inputBase64": "YWJj",
|
|
"note": "Standard test vector"
|
|
}
|
|
],
|
|
"streebog512": [
|
|
{
|
|
"id": "streebog512-empty",
|
|
"description": "GOST R 34.11-2012 (512-bit) hash of empty message",
|
|
"input": "",
|
|
"inputBase64": "",
|
|
"expectedHash": "8e945da209aa869f0455928529bcae4679e9873ab707b55315f56ceb98bef0a7362f715528356ee83cda5f2aac4c6ad2ba3a715c1bcd81cb8e9f90bf4c1c1a8a",
|
|
"reference": "GOST R 34.11-2012 specification"
|
|
},
|
|
{
|
|
"id": "streebog512-m1",
|
|
"description": "GOST R 34.11-2012 (512-bit) test message M1",
|
|
"input": "012345678901234567890123456789012345678901234567890123456789012",
|
|
"inputBase64": "MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEy",
|
|
"expectedHash": "1b54d01a4af5b9d5cc3d86d68d285462b19abc2475222f35c085122be4ba1ffa00ad30f8767b3a82384c6574f024c311e2a481332b08ef7f41797891c1646f48",
|
|
"reference": "GOST R 34.11-2012 specification Appendix A.2"
|
|
},
|
|
{
|
|
"id": "streebog512-hello",
|
|
"description": "GOST R 34.11-2012 (512-bit) hash of 'Hello'",
|
|
"input": "Hello",
|
|
"inputBase64": "SGVsbG8=",
|
|
"note": "Common test case for implementation validation"
|
|
}
|
|
]
|
|
},
|
|
|
|
"signatureVectors": {
|
|
"gost2012_256": [
|
|
{
|
|
"id": "gost2012-256-test1",
|
|
"description": "GOST R 34.10-2012 (256-bit) signature test",
|
|
"algorithm": "GOST12-256",
|
|
"message": "Test message for signing",
|
|
"messageBase64": "VGVzdCBtZXNzYWdlIGZvciBzaWduaW5n",
|
|
"note": "Signature will vary due to random k parameter; verify deterministic hash first"
|
|
}
|
|
],
|
|
"gost2012_512": [
|
|
{
|
|
"id": "gost2012-512-test1",
|
|
"description": "GOST R 34.10-2012 (512-bit) signature test",
|
|
"algorithm": "GOST12-512",
|
|
"message": "Test message for signing",
|
|
"messageBase64": "VGVzdCBtZXNzYWdlIGZvciBzaWduaW5n",
|
|
"note": "Signature will vary due to random k parameter; verify deterministic hash first"
|
|
}
|
|
]
|
|
},
|
|
|
|
"determinismVectors": [
|
|
{
|
|
"id": "determinism-1",
|
|
"description": "Determinism test - same input should produce same hash",
|
|
"algorithm": "STREEBOG-256",
|
|
"input": "Determinism test data 12345",
|
|
"inputBase64": "RGV0ZXJtaW5pc20gdGVzdCBkYXRhIDEyMzQ1",
|
|
"iterations": 10,
|
|
"expectation": "All iterations should produce identical hash"
|
|
},
|
|
{
|
|
"id": "determinism-2",
|
|
"description": "Determinism test with binary data",
|
|
"algorithm": "STREEBOG-512",
|
|
"inputBase64": "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8=",
|
|
"iterations": 10,
|
|
"expectation": "All iterations should produce identical hash"
|
|
}
|
|
],
|
|
|
|
"errorVectors": [
|
|
{
|
|
"id": "error-invalid-algo",
|
|
"description": "Invalid algorithm should return 400",
|
|
"endpoint": "/hash",
|
|
"request": {"algorithm": "INVALID-ALGO", "data": "SGVsbG8="},
|
|
"expectedStatus": 400
|
|
},
|
|
{
|
|
"id": "error-missing-data",
|
|
"description": "Missing data field should return 400",
|
|
"endpoint": "/hash",
|
|
"request": {"algorithm": "STREEBOG-256"},
|
|
"expectedStatus": 400
|
|
},
|
|
{
|
|
"id": "error-invalid-base64",
|
|
"description": "Invalid base64 should return 400",
|
|
"endpoint": "/hash",
|
|
"request": {"algorithm": "STREEBOG-256", "data": "not-valid-base64!!!"},
|
|
"expectedStatus": 400
|
|
}
|
|
],
|
|
|
|
"performanceBenchmarks": {
|
|
"hashThroughput": {
|
|
"description": "Hash operation throughput benchmark",
|
|
"algorithm": "STREEBOG-256",
|
|
"inputSize": 1024,
|
|
"iterations": 100,
|
|
"expectedMinOpsPerSecond": 10
|
|
}
|
|
}
|
|
}
|