From ae1edae6959f356cac1c9779c22270e078a423de Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@ff987cc8-cf2f-4642-8568-d52cce064691> Date: Tue, 5 Jan 2010 10:51:17 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=BB=E3=83=84=E3=83=AA=E3=83=BC=E3=81=AE?= =?UTF-8?q?=E6=95=B4=E7=90=86=E3=80=82=20=E3=80=80dummyCA,=20rsakey?= =?UTF-8?q?=E3=83=95=E3=82=A9=E3=83=AB=E3=83=80=E3=81=AE=E5=89=8A=E9=99=A4?= =?UTF-8?q?=E3=80=82=20=E3=80=80realKey=E3=83=95=E3=82=A9=E3=83=AB?= =?UTF-8?q?=E3=83=80=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=97=E3=80=81AES?= =?UTF-8?q?=E3=81=AEIV=E3=81=A8ECDSA=E3=81=AEpublicKey=E3=81=AF=E3=80=81US?= =?UTF-8?q?E=5FHSM=E6=99=82=E3=81=AB=E3=82=82=E7=B5=84=E3=81=BF=E8=BE=BC?= =?UTF-8?q?=E3=82=80=E3=82=88=E3=81=86=E3=81=AB=E3=81=99=E3=82=8B=E3=80=82?= =?UTF-8?q?=20=E3=80=80=E4=BD=86=E3=81=97=E3=80=81=E7=8F=BE=E6=99=82?= =?UTF-8?q?=E7=82=B9=E3=81=A7=E3=81=AF=E3=83=87=E3=83=90=E3=83=83=E3=82=B0?= =?UTF-8?q?=E3=81=AE=E9=83=BD=E5=90=88=E4=B8=8A=E3=80=81realKey=E3=83=95?= =?UTF-8?q?=E3=82=A9=E3=83=AB=E3=83=80=E5=86=85=E3=81=AE=E9=8D=B5=E3=81=AF?= =?UTF-8?q?=E3=80=81dummyKey=E3=83=95=E3=82=A9=E3=83=AB=E3=83=80=E3=81=A8?= =?UTF-8?q?=E5=90=8C=E3=81=98=E3=82=82=E3=81=AE=E3=81=AB=E3=81=97=E3=81=A6?= =?UTF-8?q?=E3=81=8A=E3=81=8F=E3=80=82=20=E3=83=BB=E3=83=84=E3=83=AA?= =?UTF-8?q?=E3=83=BC=E5=86=85=E3=81=8B=E3=82=89"Nintendo"=E3=81=AE?= =?UTF-8?q?=E8=A1=A8=E8=A8=98=E3=82=92=E5=87=BA=E6=9D=A5=E3=82=8B=E9=99=90?= =?UTF-8?q?=E3=82=8A=E5=89=8A=E9=99=A4=E3=80=82=20=E3=80=80issuerName?= =?UTF-8?q?=E3=81=AF=E3=80=810x5a=E3=81=A7XOR=E3=83=9E=E3=82=B9=E3=82=AF?= =?UTF-8?q?=E3=81=97=E3=81=9F=E3=82=82=E3=81=AE=E3=82=92=E3=82=BD=E3=83=BC?= =?UTF-8?q?=E3=82=B9=E4=B8=8A=E3=81=AB=E7=BD=AE=E3=81=84=E3=81=A6=E3=81=8A?= =?UTF-8?q?=E3=81=8F=E3=80=82=20=E3=83=BBUSE=5FHSM=E3=81=AE=E5=A0=B4?= =?UTF-8?q?=E5=90=88=E3=81=A7=E3=82=82=E3=80=81AES=E3=81=AEIV=E3=82=92?= =?UTF-8?q?=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E3=81=8B=E3=82=89=E8=AA=AD?= =?UTF-8?q?=E3=81=BF=E8=BE=BC=E3=82=93=E3=81=A7=E4=BD=BF=E7=94=A8=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=99=E3=82=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@134 ff987cc8-cf2f-4642-8568-d52cce064691 --- Makefile | 31 ++++--- cr_device_cert.c | 57 ++++++------ cr_enc_id.c | 10 ++- cr_generate_id.h | 2 +- cr_hsm_code.c | 11 ++- cr_hsm_code.h | 4 +- dummyCA/NintendoCA-G2_dummy.crt | 83 ------------------ dummyCA/NintendoCA-G2_dummy.csr | 18 ---- dummyCA/NintendoCA-G2_priv_dummy.der | Bin 1191 -> 0 bytes dummyCA/NintendoCA-G2_priv_dummy.pem | 27 ------ dummyCA/NintendoCA-G2_pub_dummy.der | Bin 294 -> 0 bytes dummyCA/NintendoCA-G2_pub_dummy.pem | 9 -- dummyCA/NintendoCTR2_dummy.crt | 66 -------------- dummyCA/NintendoCTR2_dummy.csr | 9 -- dummyCA/NintendoCTR2_priv_dummy.pem | 8 -- dummyCA/Test_CTR-Device_dummy.crt | 50 ----------- dummyCA/Test_CTR-Device_dummy.csr | 9 -- dummyCA/Test_CTR-Device_priv_dummy.der | Bin 111 -> 0 bytes dummyCA/Test_CTR-Device_priv_dummy.pem | 8 -- dummyCA/Test_CTR-Device_pub_dummy.der | Bin 84 -> 0 bytes dummyCA/Test_CTR-Device_pub_dummy.pem | 4 - .../dev/NCT2_priv.der | Bin .../dev/NCT2_pub.der | Bin .../dev/NCT2_pub.pem | 0 dummyKey/dev/NintendoCTR2_priv_dummy.der | Bin 111 -> 0 bytes dummyKey/dev/NintendoCTR2_pub_dummy.pem | 4 - ...tendoCTR2_priv_dummy.der => NCT2_priv.der} | Bin ...tendoCTR2_priv_dummy.pem => NCT2_priv.pem} | 0 ...intendoCTR2_pub_dummy.der => NCT2_pub.der} | Bin ...intendoCTR2_pub_dummy.pem => NCT2_pub.pem} | 0 .../dev/NCT2_pub.der | Bin realKey/dev/eFuse_iv.bin | 1 + realKey/prod/NCT2_pub.der | Bin 0 -> 84 bytes realKey/prod/eFuse_iv.bin | 1 + 34 files changed, 68 insertions(+), 344 deletions(-) delete mode 100644 dummyCA/NintendoCA-G2_dummy.crt delete mode 100644 dummyCA/NintendoCA-G2_dummy.csr delete mode 100644 dummyCA/NintendoCA-G2_priv_dummy.der delete mode 100644 dummyCA/NintendoCA-G2_priv_dummy.pem delete mode 100644 dummyCA/NintendoCA-G2_pub_dummy.der delete mode 100644 dummyCA/NintendoCA-G2_pub_dummy.pem delete mode 100644 dummyCA/NintendoCTR2_dummy.crt delete mode 100644 dummyCA/NintendoCTR2_dummy.csr delete mode 100644 dummyCA/NintendoCTR2_priv_dummy.pem delete mode 100644 dummyCA/Test_CTR-Device_dummy.crt delete mode 100644 dummyCA/Test_CTR-Device_dummy.csr delete mode 100644 dummyCA/Test_CTR-Device_priv_dummy.der delete mode 100644 dummyCA/Test_CTR-Device_priv_dummy.pem delete mode 100644 dummyCA/Test_CTR-Device_pub_dummy.der delete mode 100644 dummyCA/Test_CTR-Device_pub_dummy.pem rename dummyCA/NintendoCTR2_priv_dummy.der => dummyKey/dev/NCT2_priv.der (100%) rename dummyCA/NintendoCTR2_pub_dummy.der => dummyKey/dev/NCT2_pub.der (100%) rename dummyCA/NintendoCTR2_pub_dummy.pem => dummyKey/dev/NCT2_pub.pem (100%) delete mode 100644 dummyKey/dev/NintendoCTR2_priv_dummy.der delete mode 100644 dummyKey/dev/NintendoCTR2_pub_dummy.pem rename dummyKey/prod/{NintendoCTR2_priv_dummy.der => NCT2_priv.der} (100%) rename dummyKey/prod/{NintendoCTR2_priv_dummy.pem => NCT2_priv.pem} (100%) rename dummyKey/prod/{NintendoCTR2_pub_dummy.der => NCT2_pub.der} (100%) rename dummyKey/prod/{NintendoCTR2_pub_dummy.pem => NCT2_pub.pem} (100%) rename dummyKey/dev/NintendoCTR2_pub_dummy.der => realKey/dev/NCT2_pub.der (100%) create mode 100644 realKey/dev/eFuse_iv.bin create mode 100644 realKey/prod/NCT2_pub.der create mode 100644 realKey/prod/eFuse_iv.bin diff --git a/Makefile b/Makefile index fa75252..ba42816 100644 --- a/Makefile +++ b/Makefile @@ -66,8 +66,8 @@ ifeq ($(USE_DUMMY_KEY),TRUE) DEV_DER_KEY_DIR = ./dummyKey/dev PROD_DER_KEY_DIR = ./dummyKey/prod else # !USE_DUMMY_KEY -DEV_DER_KEY_DIR = /cygdrive/w/CTR/dev -PROD_DER_KEY_DIR = /cygdrive/w/CTR/prod +DEV_DER_KEY_DIR = ./realKey/dev +PROD_DER_KEY_DIR = ./realKey/prod endif # USE_DUMMY_KEY PACKAGE_DIR = ./package @@ -76,12 +76,19 @@ OPENSSL_DIR = ./openssl-0.9.8k TARGET = gen_id -KEYS_C = cr_eFuse_privKey_prod.c cr_eFuse_pubKey_prod.c \ - cr_eFuse_privKey_dev.c cr_eFuse_pubKey_dev.c \ - cr_eFuse_aesKey_prod.c cr_eFuse_iv_prod.c \ - cr_eFuse_aesKey_dev.c cr_eFuse_iv_dev.c \ - cr_NintendoCTR2_priv_dummy_prod.c cr_NintendoCTR2_pub_dummy_prod.c \ - cr_NintendoCTR2_priv_dummy_dev.c cr_NintendoCTR2_pub_dummy_dev.c +KEYS_C = cr_eFuse_iv_prod.c \ + cr_eFuse_iv_dev.c \ + cr_NCT2_pub_prod.c \ + cr_NCT2_pub_dev.c + +ifeq ($(USE_DUMMY_KEY),TRUE) +KEYS_C += cr_eFuse_privKey_prod.c cr_eFuse_pubKey_prod.c \ + cr_eFuse_privKey_dev.c cr_eFuse_pubKey_dev.c \ + cr_eFuse_aesKey_prod.c \ + cr_eFuse_aesKey_dev.c \ + cr_NCT2_priv_prod.c \ + cr_NCT2_priv_dev.c +endif # USE_DUMMY_KEY SRCS = main.c cr_generate_id.c cr_id_util.c cr_keyPair.c \ cr_device_cert.c cr_enc_id.c cr_alloc.c \ @@ -155,10 +162,10 @@ cr_eFuse_aesKey_prod.c : $(PROD_DER_KEY_DIR)/eFuse_aesKey.bin cr_eFuse_iv_prod.c : $(PROD_DER_KEY_DIR)/eFuse_iv.bin perl tools/bin2c.plx $< prod -cr_NintendoCTR2_priv_dummy_prod.c : $(PROD_DER_KEY_DIR)/NintendoCTR2_priv_dummy.der +cr_NCT2_priv_prod.c : $(PROD_DER_KEY_DIR)/NCT2_priv.der perl tools/bin2c.plx $< prod -cr_NintendoCTR2_pub_dummy_prod.c : $(PROD_DER_KEY_DIR)/NintendoCTR2_pub_dummy.der +cr_NCT2_pub_prod.c : $(PROD_DER_KEY_DIR)/NCT2_pub.der perl tools/bin2c.plx $< prod @@ -174,10 +181,10 @@ cr_eFuse_aesKey_dev.c : $(DEV_DER_KEY_DIR)/eFuse_aesKey.bin cr_eFuse_iv_dev.c : $(DEV_DER_KEY_DIR)/eFuse_iv.bin perl tools/bin2c.plx $< dev -cr_NintendoCTR2_priv_dummy_dev.c : $(DEV_DER_KEY_DIR)/NintendoCTR2_priv_dummy.der +cr_NCT2_priv_dev.c : $(DEV_DER_KEY_DIR)/NCT2_priv.der perl tools/bin2c.plx $< dev -cr_NintendoCTR2_pub_dummy_dev.c : $(DEV_DER_KEY_DIR)/NintendoCTR2_pub_dummy.der +cr_NCT2_pub_dev.c : $(DEV_DER_KEY_DIR)/NCT2_pub.der perl tools/bin2c.plx $< dev diff --git a/cr_device_cert.c b/cr_device_cert.c index db2c4a3..a6f6568 100644 --- a/cr_device_cert.c +++ b/cr_device_cert.c @@ -130,12 +130,12 @@ #include #include #include -#include "cr_NintendoCTR2_priv_dummy_dev.c" -#include "cr_NintendoCTR2_priv_dummy_prod.c" +#include "cr_NCT2_priv_dev.c" +#include "cr_NCT2_priv_prod.c" #endif // USE_HSM -#include "cr_NintendoCTR2_pub_dummy_dev.c" -#include "cr_NintendoCTR2_pub_dummy_prod.c" +#include "cr_NCT2_pub_dev.c" +#include "cr_NCT2_pub_prod.c" #include "cr_generate_id.h" #include "cr_generate_id_private.h" @@ -159,8 +159,11 @@ typedef struct CR_DeviceCert u8 padding1 [ 60 ]; // 0x144 - 0x17F : zero-filled } CR_DeviceCert; -const char *issuerNameDev = "NintendoCA - G2_NintendoCTR2dev"; -const char *issuerNameProd = "NintendoCA - G2_NintendoCTR2prod"; +const u8 issuerName[] = { + 0x14, 0x33, 0x34, 0x2E, 0x3F, 0x34, 0x3E, 0x35, + 0x19, 0x1B, 0x7A, 0x77, 0x7A, 0x1D, 0x68, 0x05, + 0x14, 0x33, 0x34, 0x2E, 0x3F, 0x34, 0x3E, 0x35, + 0x19, 0x0E, 0x08, 0x68 }; static void BN2BinWithPadding( BIGNUM *pBn, u8 *pDst, int dstLen ); @@ -170,7 +173,8 @@ int GenerateCTRDeviceCert( EC_KEY *pECkey, u32 device_id, u8 bonding_option, u8 { int ret_code = CR_GENID_SUCCESS; CR_DeviceCert deviceCert; - EC_KEY *NintendoCTR2 = NULL; + EC_KEY *NCT2 = NULL; + int i; #ifdef DEBUG_PRINT if ( sizeof( CR_DeviceCert ) > 384 ) @@ -188,9 +192,10 @@ int GenerateCTRDeviceCert( EC_KEY *pECkey, u32 device_id, u8 bonding_option, u8 deviceCert.sigType[3] = 0x05; // issuerName - memcpy( deviceCert.issuerName, - bonding_option ? issuerNameDev : issuerNameProd, - bonding_option ? strlen( issuerNameDev ) : strlen( issuerNameProd ) ); + for( i = 0; i < sizeof(issuerName); i++ ) { + deviceCert.issuerName[ i ] = issuerName[ i ] ^ 0x5a; + } + sprintf( &deviceCert.issuerName[ sizeof(issuerName) ], "%s", bonding_option ? "dev" : "prod" ); // keyType 0x00000002 ECC233 deviceCert.keyType[0] = 0x00; @@ -244,20 +249,20 @@ int GenerateCTRDeviceCert( EC_KEY *pECkey, u32 device_id, u8 bonding_option, u8 // DERフォーマットのECC鍵を読み込み { // bonding_option によって、鍵を差し替え - const unsigned char *der_priv = bonding_option ? cr_NintendoCTR2_priv_dummy_dev : cr_NintendoCTR2_priv_dummy_prod; + const unsigned char *der_priv = bonding_option ? cr_NCT2_priv_dev : cr_NCT2_priv_prod; int priv_len = der_priv[ 8 ] | der_priv[ 9 ] << 8; // KEY長を取り出し der_priv += 0x10; // ヘッダ部分を除外してKEY実体を指定 // ECCは、秘密鍵のみで公開鍵成分もセットされるようなので、公開鍵は読み込まない。 - NintendoCTR2 = d2i_ECPrivateKey( NULL, &der_priv, priv_len ); - if( NintendoCTR2 == NULL ) { + NCT2 = d2i_ECPrivateKey( NULL, &der_priv, priv_len ); + if( NCT2 == NULL ) { ret_code = CR_GENID_ERROR_ECC_READ_PRIVATE_KEY; goto end; } #if 0 - DEBUG_PRINT_ARRAY( "EC priv:", (const char *)NintendoCTR2->priv_key->d, NintendoCTR2->priv_key->dmax * 4); - DEBUG_PRINT_ARRAY( "EC pub.X:", (const char *)NintendoCTR2->pub_key->X.d, NintendoCTR2->pub_key->X.dmax * 4 ); - DEBUG_PRINT_ARRAY( "EC pub.Y:", (const char *)NintendoCTR2->pub_key->Y.d, NintendoCTR2->pub_key->Y.dmax * 4 ); + DEBUG_PRINT_ARRAY( "EC priv:", (const char *)NCT2->priv_key->d, NCT2->priv_key->dmax * 4); + DEBUG_PRINT_ARRAY( "EC pub.X:", (const char *)NCT2->pub_key->X.d, NCT2->pub_key->X.dmax * 4 ); + DEBUG_PRINT_ARRAY( "EC pub.Y:", (const char *)NCT2->pub_key->Y.d, NCT2->pub_key->Y.dmax * 4 ); #endif } // ECDSA署名付加 @@ -274,7 +279,7 @@ int GenerateCTRDeviceCert( EC_KEY *pECkey, u32 device_id, u8 bonding_option, u8 // 上位232bit分で署名 memset( ecdsasig, 0, sizeof(ecdsasig) ); - test_ret = ECDSA_sign( 0, sha256buf, 233/8, ecdsasig, &signLen, NintendoCTR2 ); + test_ret = ECDSA_sign( 0, sha256buf, 233/8, ecdsasig, &signLen, NCT2 ); if (test_ret == 0) { ret_code = CR_GENID_ERROR_ECDSA_SIGN; SetErrorInfo( __FUNCTION__, __LINE__ ); @@ -284,7 +289,7 @@ int GenerateCTRDeviceCert( EC_KEY *pECkey, u32 device_id, u8 bonding_option, u8 #if 0 // 署名ベリファイ - ret_code = ECDSA_verify( 0, sha1buf, 20, tempSign, 66, NintendoCTR2 ); + ret_code = ECDSA_verify( 0, sha1buf, 20, tempSign, 66, NCT2 ); if( ret_code != 1) { ret_code = CR_GENID_ERROR_ECDSA_VERIFY; SetErrorInfo( __FUNCTION__, __LINE__ ); @@ -308,8 +313,8 @@ int GenerateCTRDeviceCert( EC_KEY *pECkey, u32 device_id, u8 bonding_option, u8 BN2BinWithPadding( sig->s, &deviceCert.eccSignature[ 30 ], 30 ); memcpy( pDevCertSign, &deviceCert.eccSignature, 60 ); if( sig ) ECDSA_SIG_free( sig ); - if( NintendoCTR2 ) EC_KEY_free( NintendoCTR2 ); - NintendoCTR2 = NULL; + if( NCT2 ) EC_KEY_free( NCT2 ); + NCT2 = NULL; #ifdef DEBUG_DEVICE_CERT_OUTPUT_FILE DebugFileOutput( device_id, "dgst", sha256buf, 233/8 ); @@ -321,7 +326,7 @@ int GenerateCTRDeviceCert( EC_KEY *pECkey, u32 device_id, u8 bonding_option, u8 // ECDSA署名検証 { // bonding_option によって、鍵を差し替え - const unsigned char *der_pub = bonding_option ? cr_NintendoCTR2_pub_dummy_dev : cr_NintendoCTR2_pub_dummy_prod; + const unsigned char *der_pub = bonding_option ? cr_NCT2_pub_dev : cr_NCT2_pub_prod; int pub_len = der_pub[ 8 ] | der_pub[ 9 ] << 8; // KEY長を取り出し der_pub += 0x10; // ヘッダ部分を除外してKEY実体を指定 @@ -330,13 +335,13 @@ int GenerateCTRDeviceCert( EC_KEY *pECkey, u32 device_id, u8 bonding_option, u8 der_pub += 0x17; // ECC公開鍵の読み込み - NintendoCTR2 = EC_KEY_new_by_curve_name( NID_sect233r1 ); - if( NintendoCTR2 == NULL ) { + NCT2 = EC_KEY_new_by_curve_name( NID_sect233r1 ); + if( NCT2 == NULL ) { SetErrorInfo( __FUNCTION__, __LINE__ ); ret_code = CR_GENID_ERROR_ECC_KEY_NEW; goto end; } - if( o2i_ECPublicKey( &NintendoCTR2, &der_pub, pub_len ) == NULL ) { + if( o2i_ECPublicKey( &NCT2, &der_pub, pub_len ) == NULL ) { SetErrorInfo( __FUNCTION__, __LINE__ ); ret_code = CR_GENID_ERROR_ECC_READ_PUBLIC_KEY; goto end; @@ -345,7 +350,7 @@ int GenerateCTRDeviceCert( EC_KEY *pECkey, u32 device_id, u8 bonding_option, u8 // TODO: ハッシュ処理 // TODO: ECDSA署名(DER)を再構築 // 署名ベリファイ - ret_code = ECDSA_verify( 0, sha1Buf, 20, signBuf, signLen, NintendoCTR2 ); + ret_code = ECDSA_verify( 0, sha1Buf, 20, signBuf, signLen, NCT2 ); if( ret_code != 1) { ret_code = CR_GENID_ERROR_ECDSA_VERIFY; SetErrorInfo( __FUNCTION__, __LINE__ ); @@ -388,7 +393,7 @@ int GenerateCTRDeviceCert( EC_KEY *pECkey, u32 device_id, u8 bonding_option, u8 #endif // dump deviceCert end: - if( NintendoCTR2 ) EC_KEY_free( NintendoCTR2 ); + if( NCT2 ) EC_KEY_free( NCT2 ); return ret_code; } // generate_CTRCustom_deviceCert diff --git a/cr_enc_id.c b/cr_enc_id.c index 0e7de0c..10e8ccd 100644 --- a/cr_enc_id.c +++ b/cr_enc_id.c @@ -132,14 +132,15 @@ #include "cr_eFuse_pubKey_prod.c" #include "cr_eFuse_aesKey_dev.c" -#include "cr_eFuse_iv_dev.c" #include "cr_eFuse_aesKey_prod.c" -#include "cr_eFuse_iv_prod.c" extern RSA *d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length); #endif // USE_HSM +#include "cr_eFuse_iv_dev.c" +#include "cr_eFuse_iv_prod.c" + #ifdef ENCRYPT_AES static int crypto_aes_enc_dec( unsigned char *dst_buf,unsigned char *org_buf, u8 bonding_option ); #else // !ENCRYPT_AES @@ -171,9 +172,10 @@ int crypto_aes_enc_dec( unsigned char *dst_buf, unsigned char *org_buf, u8 bondi { int i; int ret_code = CR_GENID_SUCCESS; + char *pIV = (char *)( bonding_option ? cr_eFuse_iv_dev : cr_eFuse_iv_prod ) + 0x10; // encrypt - ret_code = hsm_aes_encrypt( local_buf_1, org_buf, CR_ID_BUF_SIZE, bonding_option ); + ret_code = hsm_aes_encrypt( local_buf_1, org_buf, CR_ID_BUF_SIZE, bonding_option, pIV ); if ( ret_code != CR_GENID_SUCCESS ) { SetErrorInfo( __FUNCTION__, __LINE__ ); @@ -181,7 +183,7 @@ int crypto_aes_enc_dec( unsigned char *dst_buf, unsigned char *org_buf, u8 bondi } // decyrpt - ret_code = hsm_aes_decrypt( local_buf_2, local_buf_1, CR_ID_BUF_SIZE, bonding_option ); + ret_code = hsm_aes_decrypt( local_buf_2, local_buf_1, CR_ID_BUF_SIZE, bonding_option, pIV ); if ( ret_code != CR_GENID_SUCCESS ) { SetErrorInfo( __FUNCTION__, __LINE__ ); diff --git a/cr_generate_id.h b/cr_generate_id.h index b296efe..59fd4fe 100644 --- a/cr_generate_id.h +++ b/cr_generate_id.h @@ -137,7 +137,7 @@ typedef unsigned long long u64; ID2 = device_id[ 3 ] | ( device_id[ 4 ] << 32 ) */ -// Nintendo ID dl +// eFuseID dl #define CR_ID0_BIT_NUM 32 #define CR_ID1_BIT_NUM 34 #define CR_ID2_BIT_NUM 64 diff --git a/cr_hsm_code.c b/cr_hsm_code.c index a0d3913..ad3dec4 100644 --- a/cr_hsm_code.c +++ b/cr_hsm_code.c @@ -137,12 +137,14 @@ NFKM_WorldInfo *hsmWorld = NULL; // allocate // TODO: ŏIɕύX #ifdef ENCRYPT_AES M_KeyID hsmAesKeyidDev, hsmAesKeyidProd; +// TODO : ŏIIȌ̖O߂ "efuse-aes-dev, efuse-aes-prod" const NFKM_KeyIdent hsmAesKeyidentDev = { (char*)"simple", (char*)"efuse-aes-key-dummy-dev" }; const NFKM_KeyIdent hsmAesKeyidentProd = { (char*)"simple", (char*)"efuse-aes-key-dummy-prod" }; static int hsm_aes_load_key( NFKM_KeyIdent keyident, M_KeyID *keyid ); #else // !ENCRYPT_AES M_KeyID hsmRsaPrivkeyidDev, hsmRsaPubkeyidDev, hsmRsaPrivkeyidProd, hsmRsaPubkeyidProd; +// TODO : ŏIIȌ̖O߂ "efuse-rsa-priv-dev, efuse-rsa-priv-prod" const NFKM_KeyIdent hsmRsaKeyidentDev = { (char*)"simple", (char*)"rsa-dummykeypair-dev" }; const NFKM_KeyIdent hsmRsaKeyidentProd = { (char*)"simple", (char*)"rsa-dummykeypair-prod" }; @@ -153,6 +155,7 @@ static int hsm_rsa_load_keypair( NFKM_KeyIdent keyident, M_KeyID *privKeyid, M_K M_KeyID hsmEcdsaPrivkeyidDev, hsmEcdsaPubkeyidDev; M_KeyID hsmEcdsaPrivkeyidProd, hsmEcdsaPubkeyidProd; +// TODO : ŏIIȌ̖O߂ "nct2-priv-dev, nct2-priv-prod", J͓Ȃ const NFKM_KeyIdent hsmEcdsaPrivkeyidentDev = { (char*)"simple", (char*)"nintendo-ctr2-priv-dummy-dev" }; const NFKM_KeyIdent hsmEcdsaPubkeyidentDev = { (char*)"simple", (char*)"nintendo-ctr2-pub-dummy-dev" }; const NFKM_KeyIdent hsmEcdsaPrivkeyidentProd = { (char*)"simple", (char*)"nintendo-ctr2-priv-dummy-prod" }; @@ -486,7 +489,7 @@ end: return ret_code; } // hsm_aes_load_key -int hsm_aes_encrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, u8 bonding_option ) +int hsm_aes_encrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, u8 bonding_option, u8 *pIV ) { int ret_code = CR_GENID_SUCCESS; @@ -503,7 +506,7 @@ int hsm_aes_encrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, u // iv set enc_iv.mech = Mech_RijndaelmCBCpNONE; - memset( enc_iv.iv.generic128.iv.bytes, 0, sizeof( enc_iv.iv.generic128.iv.bytes ) ); + memcpy( enc_iv.iv.generic128.iv.bytes, pIV, sizeof( enc_iv.iv.generic128.iv.bytes ) ); // encrypt command set cmd.cmd = Cmd_Encrypt; @@ -538,7 +541,7 @@ int hsm_aes_encrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, u return CR_GENID_SUCCESS; } // hsm_aes_encrypt -int hsm_aes_decrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, u8 bonding_option ) +int hsm_aes_decrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, u8 bonding_option, u8 *pIV ) { int ret_code = CR_GENID_SUCCESS; @@ -555,7 +558,7 @@ int hsm_aes_decrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, u // iv set dec_iv.mech = Mech_RijndaelmCBCpNONE; - memset( dec_iv.iv.generic128.iv.bytes, 0, sizeof( dec_iv.iv.generic128.iv.bytes ) ); + memcpy( dec_iv.iv.generic128.iv.bytes, pIV, sizeof( dec_iv.iv.generic128.iv.bytes ) ); // decyrpt cmd.cmd = Cmd_Decrypt; diff --git a/cr_hsm_code.h b/cr_hsm_code.h index 2b0c3ea..b43185c 100644 --- a/cr_hsm_code.h +++ b/cr_hsm_code.h @@ -128,8 +128,8 @@ int hsm_finalize( void ); int hsm_reset_module( void ); int hsm_generate_random( unsigned char *buf, int bytes ); int hsm_get_rtc( time_t *time ); -int hsm_aes_encrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, unsigned char bonding_option ); -int hsm_aes_decrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, unsigned char bonding_option ); +int hsm_aes_encrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, unsigned char bonding_option, unsigned char *pIV ); +int hsm_aes_decrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, unsigned char bonding_option, unsigned char *pIV ); int hsm_rsa_encrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, unsigned char bonding_option ); int hsm_rsa_decrypt( unsigned char *dst_buf, unsigned char *org_buf, int size, unsigned char bonding_option ); int hsm_ecdsa_sign( unsigned char *sign_buf, int *sign_size, unsigned char *data_buf, int data_size, unsigned char bonding_option ); diff --git a/dummyCA/NintendoCA-G2_dummy.crt b/dummyCA/NintendoCA-G2_dummy.crt deleted file mode 100644 index 363096c..0000000 --- a/dummyCA/NintendoCA-G2_dummy.crt +++ /dev/null @@ -1,83 +0,0 @@ -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 0 (0x0) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, ST=WA, O=NINTENDO_OF_AMERICA, OU=SYSTEM, CN=ALL-PLATFORM/emailAddress=admin@nintendo.co.jp - Validity - Not Before: Nov 19 08:58:03 2009 GMT - Not After : Nov 17 08:58:03 2019 GMT - Subject: C=US, ST=WA, O=NINTENDO_OF_AMERICA, OU=SYSTEM, CN=ALL-PLATFORM/emailAddress=admin@nintendo.co.jp - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - Public-Key: (2048 bit) - Modulus: - 00:b7:b9:5f:4b:d5:c8:d6:9c:04:05:0c:d3:64:b9: - 94:75:1e:08:6e:71:ee:86:9b:95:05:09:57:d4:2a: - 40:41:1c:ce:b3:5d:f9:2f:29:ef:13:1e:a2:d0:11: - 67:18:cc:a2:69:dd:eb:ce:90:d7:48:8b:60:0a:b9: - eb:32:ae:03:38:de:dc:4a:a6:83:1d:54:0c:73:50: - 32:97:cb:72:1d:7d:07:a8:a4:3d:ed:a7:6e:91:01: - bc:f4:97:d9:ae:22:33:30:2b:05:d7:f4:a7:11:0c: - be:f5:e5:fb:81:b3:7c:d3:87:22:cd:85:2b:0e:fb: - 7f:1e:7a:c4:65:0c:1e:6a:27:c5:24:e4:2a:da:c7: - 64:b0:b7:1d:72:0d:1c:cd:d7:85:f2:74:3a:c1:ba: - 03:49:06:43:95:f8:c9:48:e8:0f:7c:ca:1a:c5:d7: - a3:22:75:ff:7f:29:91:b8:aa:65:30:d1:19:18:7e: - 08:e1:a0:4a:54:f0:bc:42:89:f6:7a:81:c5:83:c5: - 78:28:b1:d7:9c:7e:69:78:09:14:12:75:13:62:ef: - 4b:d9:76:e3:29:9a:6b:35:e4:53:b8:14:4f:8b:93: - 9c:7b:21:8e:f0:5a:04:b3:04:3f:6a:f0:96:1a:e2: - 99:42:51:e0:e5:6f:13:d0:f9:86:5e:80:c6:31:21: - 47:6f - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE - Netscape Comment: - OpenSSL Generated Certificate - X509v3 Subject Key Identifier: - C7:3D:11:8F:6F:EB:10:5C:CE:C4:CE:04:79:BF:61:E9:70:E0:58:B2 - X509v3 Authority Key Identifier: - keyid:C7:3D:11:8F:6F:EB:10:5C:CE:C4:CE:04:79:BF:61:E9:70:E0:58:B2 - - Signature Algorithm: sha1WithRSAEncryption - 02:56:8e:4c:e2:bb:c7:2c:3a:16:ef:26:c7:11:fa:1c:a5:fc: - a8:a3:be:7a:0b:d7:e1:32:77:b9:c5:0a:1a:d8:74:6e:f6:42: - 3e:c2:ae:60:94:57:6a:d6:4d:56:cd:3e:82:21:4f:e1:53:95: - a0:83:e1:24:10:57:ac:89:53:6f:45:9e:85:04:a2:47:1f:e9: - 85:01:3b:8e:f5:77:ae:66:93:49:90:53:5f:12:10:c3:14:b9: - 9b:f3:b9:02:54:60:c6:da:48:db:a1:23:9b:ae:9d:42:30:96: - af:b5:b2:23:5a:e0:33:89:51:db:f1:6b:a8:10:57:d6:f9:5d: - fb:d9:ec:29:92:8a:3b:e8:6d:e2:ae:a6:8d:3c:a1:bd:09:92: - 3e:d2:05:e4:c0:54:b7:49:92:03:c8:4b:9b:d5:66:91:04:41: - dd:65:dd:32:b9:00:f7:54:0e:a0:71:74:33:30:76:4b:59:34: - 7d:58:59:c7:65:69:3b:72:91:8f:ba:1b:a2:8b:2e:d5:fe:b0: - 64:2d:f3:ae:ae:76:76:21:a1:c0:a3:53:a6:93:62:99:e2:22: - fc:80:aa:d2:a6:2f:6f:03:28:6d:01:66:40:7d:36:0e:05:ca: - 06:09:4b:6d:7a:42:a9:57:85:80:50:f1:21:cd:df:47:e2:49: - 73:9d:12:ca ------BEGIN CERTIFICATE----- -MIIEAjCCAuqgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMx -CzAJBgNVBAgMAldBMRwwGgYDVQQKDBNOSU5URU5ET19PRl9BTUVSSUNBMQ8wDQYD -VQQLDAZTWVNURU0xFTATBgNVBAMMDEFMTC1QTEFURk9STTEjMCEGCSqGSIb3DQEJ -ARYUYWRtaW5AbmludGVuZG8uY28uanAwHhcNMDkxMTE5MDg1ODAzWhcNMTkxMTE3 -MDg1ODAzWjCBhTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAldBMRwwGgYDVQQKDBNO -SU5URU5ET19PRl9BTUVSSUNBMQ8wDQYDVQQLDAZTWVNURU0xFTATBgNVBAMMDEFM -TC1QTEFURk9STTEjMCEGCSqGSIb3DQEJARYUYWRtaW5AbmludGVuZG8uY28uanAw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3uV9L1cjWnAQFDNNkuZR1 -Hghuce6Gm5UFCVfUKkBBHM6zXfkvKe8THqLQEWcYzKJp3evOkNdIi2AKuesyrgM4 -3txKpoMdVAxzUDKXy3IdfQeopD3tp26RAbz0l9muIjMwKwXX9KcRDL715fuBs3zT -hyLNhSsO+38eesRlDB5qJ8Uk5Crax2Swtx1yDRzN14XydDrBugNJBkOV+MlI6A98 -yhrF16Midf9/KZG4qmUw0RkYfgjhoEpU8LxCifZ6gcWDxXgosdecfml4CRQSdRNi -70vZduMpmms15FO4FE+Lk5x7IY7wWgSzBD9q8JYa4plCUeDlbxPQ+YZegMYxIUdv -AgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2Vu -ZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBTHPRGPb+sQXM7EzgR5v2HpcOBY -sjAfBgNVHSMEGDAWgBTHPRGPb+sQXM7EzgR5v2HpcOBYsjANBgkqhkiG9w0BAQUF -AAOCAQEAAlaOTOK7xyw6Fu8mxxH6HKX8qKO+egvX4TJ3ucUKGth0bvZCPsKuYJRX -atZNVs0+giFP4VOVoIPhJBBXrIlTb0WehQSiRx/phQE7jvV3rmaTSZBTXxIQwxS5 -m/O5AlRgxtpI26Ejm66dQjCWr7WyI1rgM4lR2/FrqBBX1vld+9nsKZKKO+ht4q6m -jTyhvQmSPtIF5MBUt0mSA8hLm9VmkQRB3WXdMrkA91QOoHF0MzB2S1k0fVhZx2Vp -O3KRj7oboosu1f6wZC3zrq52diGhwKNTppNimeIi/ICq0qYvbwMobQFmQH02DgXK -BglLbXpCqVeFgFDxIc3fR+JJc50Syg== ------END CERTIFICATE----- diff --git a/dummyCA/NintendoCA-G2_dummy.csr b/dummyCA/NintendoCA-G2_dummy.csr deleted file mode 100644 index 4690f02..0000000 --- a/dummyCA/NintendoCA-G2_dummy.csr +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIIC3TCCAcUCAQAwgZcxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJXQTEQMA4GA1UE -BwwHUkVETU9ORDEcMBoGA1UECgwTTklOVEVORE9fT0ZfQU1FUklDQTEPMA0GA1UE -CwwGU1lTVEVNMRUwEwYDVQQDDAxBTEwtUExBVEZPUk0xIzAhBgkqhkiG9w0BCQEW -FGFkbWluQG5pbnRlbmRvLmNvLmpwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEAt7lfS9XI1pwEBQzTZLmUdR4IbnHuhpuVBQlX1CpAQRzOs135LynvEx6i -0BFnGMyiad3rzpDXSItgCrnrMq4DON7cSqaDHVQMc1Ayl8tyHX0HqKQ97adukQG8 -9JfZriIzMCsF1/SnEQy+9eX7gbN804cizYUrDvt/HnrEZQweaifFJOQq2sdksLcd -cg0czdeF8nQ6wboDSQZDlfjJSOgPfMoaxdejInX/fymRuKplMNEZGH4I4aBKVPC8 -Qon2eoHFg8V4KLHXnH5peAkUEnUTYu9L2XbjKZprNeRTuBRPi5OceyGO8FoEswQ/ -avCWGuKZQlHg5W8T0PmGXoDGMSFHbwIDAQABoAAwDQYJKoZIhvcNAQEFBQADggEB -ACz+sEe0XyW4NkDJvTEJbtPaIyL8PYcz7Iz6sAdwyoj67sZh/H1evyKPDDF6AHtp -Q+TMzGFUWxrv3Rwp2xHNi35T8jpCpvZNNtAQ7+v0/IHn1TPyIjxWcSh8qShR6OqE -LhBhs+5jumbJVw0D7R1CGc9n/hhjJyfVt1l4PSIYbMWkdPcl/3rXJtc/PQUzcLoH -jQZC8OlvZKH77SiJ5avdfq5co7By0Pw4ANNuw8hZnG8BuRed1/xo7ZsR4F63P0g3 -Hi2G9bNWR1eeORo1ouGQDg8RhCgKk39BDLIQWEqto6GwHYpolydzUKtWkHV7zEU1 -Gt3UGMqCqltOj8RIZKsIIF8= ------END CERTIFICATE REQUEST----- diff --git a/dummyCA/NintendoCA-G2_priv_dummy.der b/dummyCA/NintendoCA-G2_priv_dummy.der deleted file mode 100644 index c3e8b4de50da6c90b280fc7dd4964caf3a194214..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1191 zcmV;Y1X%kpf&`-i0RRGm0RaHFxnE1w$kv<$1q{<4*P!|dc=ns6#8pYS6B6a_NDUrCUWiZhh7=8%hph{Hmyh4fg zdV$4*#ds*O*PMQ7cnK5|brWLmOWAhgDVl3FSbwaCC8Zi<4pOOux>5H;r zvSj$}Pvj~AAkXe<+Smr|qFSuW!TzP}=X@HJ*UMUIc%ptk*$#^i*%)lt?#@%Tg)-0A)3P=%b|({tE9YwFHSBR6PZjMJdtWEiT!G->kif5pE6VODmqp2RP2!W`U+b1UbW*Czd-&SZP=7?;0d6~OV}>D>0Q zBnr0J1f2{OTZ!spK|Gj4&5f?CGMjkDM&-eD5u01I^uZBQO^o2UIfna1UL!WCDIBjL z^f`+?FvK*&BAX;(%Tyn1i%|NuvbD0S0)c>2hsJ!wA3uY3x(u8Fn1u?MuicRBv#NpPZh&yiW_{Lu3I>IhkFfok-xdK~`mbmoBN*M?@hhMI FY2aL(LdO6A diff --git a/dummyCA/NintendoCA-G2_priv_dummy.pem b/dummyCA/NintendoCA-G2_priv_dummy.pem deleted file mode 100644 index 8400eb6..0000000 --- a/dummyCA/NintendoCA-G2_priv_dummy.pem +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAt7lfS9XI1pwEBQzTZLmUdR4IbnHuhpuVBQlX1CpAQRzOs135 -LynvEx6i0BFnGMyiad3rzpDXSItgCrnrMq4DON7cSqaDHVQMc1Ayl8tyHX0HqKQ9 -7adukQG89JfZriIzMCsF1/SnEQy+9eX7gbN804cizYUrDvt/HnrEZQweaifFJOQq -2sdksLcdcg0czdeF8nQ6wboDSQZDlfjJSOgPfMoaxdejInX/fymRuKplMNEZGH4I -4aBKVPC8Qon2eoHFg8V4KLHXnH5peAkUEnUTYu9L2XbjKZprNeRTuBRPi5OceyGO -8FoEswQ/avCWGuKZQlHg5W8T0PmGXoDGMSFHbwIDAQABAoIBAGgTLYWjDEtuQ+Ss -eE+1xQB3S+Vsyucb2VXqDgPVD2MTM5BuKotqINFe6HIfeZyVx2dbXIo+iIXC1lwd -J7wk0RR1QqtTGjER/J+SDabpi7JismT47U/kKgEgz+5q2tgG7aJarMvB/qXs53wa -lNfLWmnlQnTT/ClXlJIqj3iCXfRZrmzlwvO8U0kil0oe1jFAlgYAj/ktnsvQmK/t -Mli7zQdg2GYLouRSk1HexLkf9Hmf3pKJjmNL4Xx2WblaGGX+sGTOZP4d1Mwx1q3z -kEscTjxWiTh1YRjxY8gdf1W63w1H0+9eBxp7DfzwmEt6wBu/dsLaBwDDAmqdgyqY -nEc8yFkCgYEA7N8GJ1on2dYtDkVXrTHA9lOoj6es10F59FRydaRMm2FMY9m6lEg3 -jstSKf8AZTV+6KOlEf4K7ym1BIkdVD0FlkUp0d8tLtmF36y9qV8L0zUwaZAaR/Pi -xRZ6cP+Fr6KNYqB5O9iPb+z4cDQtwS9SYFLjP6ZU2Q0lUDoQZPyfnk0CgYEAxo+b -lRDLhADN0A+df8W/AWFWdrCexC9vwhzcinMr55nXJv2gzmR78BiXv2IVwPHg6dz2 -sSQKttgEnQwVW4nqY0E8mEPNja6sMpt4xkblwXQRm1u09MERUk2M4Lg5hvtFXiM2 -qSkcryD0OYs9MMQ0wyKbJGHLVB9si1D6trK1sqsCgYBTh8Z8xB8/g3a6DJwBmIUK -mK/dkOyzsARYtBr0/26AcMxmfdZ9CgaFlY+w/ZrfFgFd+q9wa9zhQBz0r4GnPiml -N1irCP+/ALhkC1+Kxdi+r4gWAdoyu3+hru6YwJMdP76KJDr8br8OYkuuDciA0rZC -/5fhzz8ml6sr4n37jtafFQKBgQCW7JUfivKGVW4a1aOreQ0j6W6lLL6g9EWIUBO6 -EKywj5igBGx0NKCX8Ll3OQC79Z41ZEUGhBS4wh1Pmd2qBHxqES4TtoXJSZmNper5 -Gu6MSsMPSXeUCiQ2YMfSD3V6igdB9JYZoiwxWWUJUDKknJ5WLDmsP8EjIfeJNXY7 -5D6DnQKBgDdiPyGUHRLQy7+hm5EYWVhc8L//ejtF73XHxeBao6V7QZvM6dLalqie -eY8bNy9nDUbk9dnL193VPbmH3ZcYkcKtkGuBRQsFcImCVkxcxtG110LMHbOcuVax -Bsh6Ia0hswVFY4mzKf6mpzo2oNHT7s8vaDtVCJkjGN3d8Suf/2ng ------END RSA PRIVATE KEY----- diff --git a/dummyCA/NintendoCA-G2_pub_dummy.der b/dummyCA/NintendoCA-G2_pub_dummy.der deleted file mode 100644 index 5367e1aa39bd3e9c16d65a80dab9dbe943e31fcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmV+>0ondAf&n5h4F(A+hDe6@4FLfG1potr0S^E$f&mHwf&l>lx4BaT@LB}31V3u zp+EyZ00aTEp_YqaDgL<_hKYhqlGvCH*z=ESXpZ%h@=sdS0a^lvAI;%6dmCOyviXno Rg`=+GN>L~xEgFJuk(L8TGbI23 diff --git a/dummyCA/Test_CTR-Device_priv_dummy.pem b/dummyCA/Test_CTR-Device_priv_dummy.pem deleted file mode 100644 index f8d67dd..0000000 --- a/dummyCA/Test_CTR-Device_priv_dummy.pem +++ /dev/null @@ -1,8 +0,0 @@ ------BEGIN EC PARAMETERS----- -BgUrgQQAGw== ------END EC PARAMETERS----- ------BEGIN EC PRIVATE KEY----- -MG0CAQEEHeionsNFKvOye5ZdTN7DgNma1Hecm5/085LBPsdVoAcGBSuBBAAboUAD -PgAEAbOhlotgKf65GIaJgkyS2JgN2POPamiO9ZPyT1rUAVoChh/N4Td7G15HsvmP -9YWjruJKUSgiLRqCbpGW ------END EC PRIVATE KEY----- diff --git a/dummyCA/Test_CTR-Device_pub_dummy.der b/dummyCA/Test_CTR-Device_pub_dummy.der deleted file mode 100644 index a00aad590d8c04c15f9f81d0a287af6dcd6965b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmV-a0IUBnQZNt(2P%e0&OHJF1_djD1OOWYJ^%y(v!RxYU@88&7>0?0Op@4`4cPOK qYG{u2lk!hm)B#!oh9Ax0H+vgiN3!{k^@XFZ;!05{A}tz%ZjqMB&mpJ) diff --git a/dummyCA/Test_CTR-Device_pub_dummy.pem b/dummyCA/Test_CTR-Device_pub_dummy.pem deleted file mode 100644 index 6ee4d3a..0000000 --- a/dummyCA/Test_CTR-Device_pub_dummy.pem +++ /dev/null @@ -1,4 +0,0 @@ ------BEGIN PUBLIC KEY----- -MFIwEAYHKoZIzj0CAQYFK4EEABsDPgAEAbOhlotgKf65GIaJgkyS2JgN2POPamiO -9ZPyT1rUAVoChh/N4Td7G15HsvmP9YWjruJKUSgiLRqCbpGW ------END PUBLIC KEY----- diff --git a/dummyCA/NintendoCTR2_priv_dummy.der b/dummyKey/dev/NCT2_priv.der similarity index 100% rename from dummyCA/NintendoCTR2_priv_dummy.der rename to dummyKey/dev/NCT2_priv.der diff --git a/dummyCA/NintendoCTR2_pub_dummy.der b/dummyKey/dev/NCT2_pub.der similarity index 100% rename from dummyCA/NintendoCTR2_pub_dummy.der rename to dummyKey/dev/NCT2_pub.der diff --git a/dummyCA/NintendoCTR2_pub_dummy.pem b/dummyKey/dev/NCT2_pub.pem similarity index 100% rename from dummyCA/NintendoCTR2_pub_dummy.pem rename to dummyKey/dev/NCT2_pub.pem diff --git a/dummyKey/dev/NintendoCTR2_priv_dummy.der b/dummyKey/dev/NintendoCTR2_priv_dummy.der deleted file mode 100644 index 15926f8977860bfd830583ae4e0459c913533c1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111 zcmV-#0FeJMZ2|!S1RW#k7ZRJZCc&RLVsOSlT9oW|P<6ZTn(X;kpVXP42L=Tzfdl{> zp+EyZ00aQp0sZAwVA(P=C6iMMx?`ghP?jxBa`Kwyp!;jT0lwD5jARj_Y}2f&F`D&f Rq=jeJlV=2r@SvV8B{lU3F&qE@ diff --git a/dummyKey/dev/NintendoCTR2_pub_dummy.pem b/dummyKey/dev/NintendoCTR2_pub_dummy.pem deleted file mode 100644 index 589f57f..0000000 --- a/dummyKey/dev/NintendoCTR2_pub_dummy.pem +++ /dev/null @@ -1,4 +0,0 @@ ------BEGIN PUBLIC KEY----- -MFIwEAYHKoZIzj0CAQYFK4EEABsDPgAEANkB/eVVYNkyMyWTUwq6Y6MUUJYtTHLy -muag+2u/Ab7Ww4xkEaJs06yqMZr1Z6SFZ9aTZwSL8KCeLSU1 ------END PUBLIC KEY----- diff --git a/dummyKey/prod/NintendoCTR2_priv_dummy.der b/dummyKey/prod/NCT2_priv.der similarity index 100% rename from dummyKey/prod/NintendoCTR2_priv_dummy.der rename to dummyKey/prod/NCT2_priv.der diff --git a/dummyKey/prod/NintendoCTR2_priv_dummy.pem b/dummyKey/prod/NCT2_priv.pem similarity index 100% rename from dummyKey/prod/NintendoCTR2_priv_dummy.pem rename to dummyKey/prod/NCT2_priv.pem diff --git a/dummyKey/prod/NintendoCTR2_pub_dummy.der b/dummyKey/prod/NCT2_pub.der similarity index 100% rename from dummyKey/prod/NintendoCTR2_pub_dummy.der rename to dummyKey/prod/NCT2_pub.der diff --git a/dummyKey/prod/NintendoCTR2_pub_dummy.pem b/dummyKey/prod/NCT2_pub.pem similarity index 100% rename from dummyKey/prod/NintendoCTR2_pub_dummy.pem rename to dummyKey/prod/NCT2_pub.pem diff --git a/dummyKey/dev/NintendoCTR2_pub_dummy.der b/realKey/dev/NCT2_pub.der similarity index 100% rename from dummyKey/dev/NintendoCTR2_pub_dummy.der rename to realKey/dev/NCT2_pub.der diff --git a/realKey/dev/eFuse_iv.bin b/realKey/dev/eFuse_iv.bin new file mode 100644 index 0000000..4428674 --- /dev/null +++ b/realKey/dev/eFuse_iv.bin @@ -0,0 +1 @@ +eMH{܁:D \ No newline at end of file diff --git a/realKey/prod/NCT2_pub.der b/realKey/prod/NCT2_pub.der new file mode 100644 index 0000000000000000000000000000000000000000..363d4edcba756a6b4ea8329dd67e6e3558adfbdd GIT binary patch literal 84 zcmV-a0IUBnQZNt(2P%e0&OHJF1_djD1OOWYJ^%y&Vst7xmB%PO9-cISCjJT|`Yt)D q1*hGrvKitWJ^*lY_x?&#)o6MaU&|xp+Yp$py3UsB?8KZ1^3@V literal 0 HcmV?d00001 diff --git a/realKey/prod/eFuse_iv.bin b/realKey/prod/eFuse_iv.bin new file mode 100644 index 0000000..c5a400d --- /dev/null +++ b/realKey/prod/eFuse_iv.bin @@ -0,0 +1 @@ +LCk4m \ No newline at end of file