Supplies optional trust material and policy for validation checks that cannot be inferred from image bytes. Structural, CRC, digest-table, and development-marker checks remain available without external keys.
More...
|
| NdsValidationOptions | SetDsiHmacKey (ReadOnlySpan< byte > key) |
| | Recomputes DSi component HMAC-SHA1 fields with caller-supplied trust material. Merely storing a matching digest proves key possession and byte integrity; it does not establish the provenance of that key.
|
| NdsValidationOptions | SetSecureAreaKeyTable (NdsKey1KeyTable keyTable) |
| | Enables secure-area identifier recovery and encrypted-form CRC validation. No default table is bundled; supplying one is an explicit trust and provenance decision separate from ordinary structural validation.
|
| NdsValidationOptions | SetDsiRsaPublicKey (NdsDsiRsaPublicKey publicKey) |
| | Enables DSi header authenticity verification against one explicitly trusted RSA-1024 key. A mismatch becomes a validation error; the library never substitutes a built-in publisher trust store.
|
|
| static NdsValidationOptions | Default [get] |
| | Returns a fresh keyless policy suitable for structural validation without shared mutable state.
|
| bool | ValidateDsiDevelopmentSignature = true [get] |
| | Verifies a recognizable no$gba development marker against the finalized 0xE00-byte header input. Unknown nonzero signatures remain unverified rather than being mislabeled invalid without a trusted RSA key.
|
| int | MaxDsiDigestTableBytes = 64 * 1024 * 1024 [get] |
| | Bounds each materialized DSi digest table while sector contents themselves remain streamed. The default 64 MiB permits very large legitimate images without accepting attacker-controlled unbounded allocation.
|
| int | MaxDsiDigestFailures = 64 [get] |
| | Caps individual sector/block mismatch diagnostics while retaining a final truncation warning.
|
Supplies optional trust material and policy for validation checks that cannot be inferred from image bytes. Structural, CRC, digest-table, and development-marker checks remain available without external keys.
Definition at line 7 of file NdsValidationOptions.cs.
◆ SetDsiHmacKey()
Recomputes DSi component HMAC-SHA1 fields with caller-supplied trust material. Merely storing a matching digest proves key possession and byte integrity; it does not establish the provenance of that key.
- Parameters
-
| key | Non-empty HMAC key expected to have produced the image's component fields. |
- Returns
- The same options object for fluent validation configuration.
Definition at line 25 of file NdsValidationOptions.cs.
◆ SetDsiRsaPublicKey()
Enables DSi header authenticity verification against one explicitly trusted RSA-1024 key. A mismatch becomes a validation error; the library never substitutes a built-in publisher trust store.
- Parameters
-
| publicKey | Immutable public key whose provenance the calling application has established. |
- Returns
- The same options object for fluent validation configuration.
Definition at line 54 of file NdsValidationOptions.cs.
◆ SetSecureAreaKeyTable()
Enables secure-area identifier recovery and encrypted-form CRC validation. No default table is bundled; supplying one is an explicit trust and provenance decision separate from ordinary structural validation.
- Parameters
-
| keyTable | Complete immutable KEY1 seed schedule. |
- Returns
- The same options object for fluent validation configuration.
Definition at line 42 of file NdsValidationOptions.cs.
◆ Default
Returns a fresh keyless policy suitable for structural validation without shared mutable state.
Definition at line 17 of file NdsValidationOptions.cs.
◆ MaxDsiDigestFailures
| int NdsForge.NdsValidationOptions.MaxDsiDigestFailures = 64 |
|
get |
Caps individual sector/block mismatch diagnostics while retaining a final truncation warning.
Definition at line 73 of file NdsValidationOptions.cs.
◆ MaxDsiDigestTableBytes
| int NdsForge.NdsValidationOptions.MaxDsiDigestTableBytes = 64 * 1024 * 1024 |
|
get |
Bounds each materialized DSi digest table while sector contents themselves remain streamed. The default 64 MiB permits very large legitimate images without accepting attacker-controlled unbounded allocation.
Definition at line 70 of file NdsValidationOptions.cs.
◆ ValidateDsiDevelopmentSignature
| bool NdsForge.NdsValidationOptions.ValidateDsiDevelopmentSignature = true |
|
get |
Verifies a recognizable no$gba development marker against the finalized 0xE00-byte header input. Unknown nonzero signatures remain unverified rather than being mislabeled invalid without a trusted RSA key.
Definition at line 64 of file NdsValidationOptions.cs.
The documentation for this class was generated from the following file: