From b6062b588e455bbf32e1db811208f68c3077042f Mon Sep 17 00:00:00 2001 From: jakcron Date: Sun, 17 Apr 2022 09:55:50 +0800 Subject: [PATCH] [makerom] Tolerate CCI signing errors as a warning. --- makerom/src/ncsd.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/makerom/src/ncsd.c b/makerom/src/ncsd.c index b57d8f9..697f52e 100644 --- a/makerom/src/ncsd.c +++ b/makerom/src/ncsd.c @@ -586,7 +586,15 @@ int GenCciHdr(cci_settings *set) return 0; } - return RsaSignVerify(&hdr->magic, sizeof(cci_hdr) - RSA_2048_KEY_SIZE, hdr->signature, set->keys->rsa.cciCfa.pub, set->keys->rsa.cciCfa.pvt, RSA_2048_SHA256, CTR_RSA_SIGN); + int rsa_ret = RsaSignVerify(&hdr->magic, sizeof(cci_hdr) - RSA_2048_KEY_SIZE, hdr->signature, set->keys->rsa.cciCfa.pub, set->keys->rsa.cciCfa.pvt, RSA_2048_SHA256, CTR_RSA_SIGN); + if (rsa_ret != 0) + { + printf("[NCSD WARNING] Failed to sign header (mbedtls error = -0x%x)\n", -rsa_ret); + memset(hdr->signature, 0xFF, 0x100); + return 0; + } + + return 0; } char* GetMediaSizeStr(u64 mediaSize)