Defines which DSi authentication fields a build can honestly produce. Component HMACs use caller-selected key material, while an optional signing provider keeps private-key custody outside the image builder. The built-in ndstool policy remains explicitly a homebrew compatibility identity rather than a retail trust claim. More...
Static Public Member Functions | |
| static NdsDsiIntegrityOptions | CreateHmacSha1 (ReadOnlySpan< byte > key, NdsDsiSignatureMode signatureMode=NdsDsiSignatureMode.Cleared) |
| Copies an application-supplied HMAC-SHA1 key without assigning it any implicit provenance. The same key must be supplied to validation when callers want authentication fields checked rather than merely parsed. | |
| static NdsDsiIntegrityOptions | CreateSignedHmacSha1 (ReadOnlySpan< byte > hmacKey, INdsDsiSignatureProvider signatureProvider) |
| Combines component HMAC generation with a real header signature supplied by a caller-controlled authority. The provider is retained rather than owned and must remain usable until every build using this policy ends. | |
Properties | |
| static NdsDsiIntegrityOptions | Unauthenticated = new(null, NdsDsiSignatureMode.Cleared, null) [get] |
| Uses zeroed HMAC and signature fields for a clearly unauthenticated DSi image. | |
| static NdsDsiIntegrityOptions | NdstoolHomebrew [get] |
| Reproduces the public 64-byte HMAC-SHA1 key and no$gba development marker used by modern ndstool builds. This is a compatibility identity, not a claim that Nintendo hardware will trust the resulting image. | |
| bool | ComputesHmacSha1 [get] |
| Indicates whether component HMAC fields are recomputed instead of deliberately cleared. | |
| NdsDsiSignatureMode | SignatureMode [get] |
| Controls only the signature field and never upgrades a development marker into an authenticity claim. | |
Defines which DSi authentication fields a build can honestly produce. Component HMACs use caller-selected key material, while an optional signing provider keeps private-key custody outside the image builder. The built-in ndstool policy remains explicitly a homebrew compatibility identity rather than a retail trust claim.
Definition at line 8 of file NdsDsiIntegrityOptions.cs.
|
inlinestatic |
Copies an application-supplied HMAC-SHA1 key without assigning it any implicit provenance. The same key must be supplied to validation when callers want authentication fields checked rather than merely parsed.
| key | Non-empty HMAC key bytes owned by the calling application. |
| signatureMode | Whether the unrelated 128-byte signature field stays clear or carries a development marker. |
Definition at line 53 of file NdsDsiIntegrityOptions.cs.
|
inlinestatic |
Combines component HMAC generation with a real header signature supplied by a caller-controlled authority. The provider is retained rather than owned and must remain usable until every build using this policy ends.
| hmacKey | Non-empty key for DSi component and optional digest HMACs. |
| signatureProvider | RSA-1024 provider or application adapter for a hardware/remote signer. |
Definition at line 77 of file NdsDsiIntegrityOptions.cs.
|
get |
Indicates whether component HMAC fields are recomputed instead of deliberately cleared.
Definition at line 91 of file NdsDsiIntegrityOptions.cs.
|
staticget |
Reproduces the public 64-byte HMAC-SHA1 key and no$gba development marker used by modern ndstool builds. This is a compatibility identity, not a claim that Nintendo hardware will trust the resulting image.
Definition at line 22 of file NdsDsiIntegrityOptions.cs.
|
get |
Controls only the signature field and never upgrades a development marker into an authenticity claim.
Definition at line 94 of file NdsDsiIntegrityOptions.cs.
|
staticget |
Uses zeroed HMAC and signature fields for a clearly unauthenticated DSi image.
Definition at line 16 of file NdsDsiIntegrityOptions.cs.