初始提交

This commit is contained in:
2025-05-13 22:00:58 +08:00
commit e4c030b0c0
564 changed files with 78858 additions and 0 deletions

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-alios-app/ws63-alios-app.bin
DstFile=../../../../../output/ws63/acore/ws63-alios-app/ws63-alios-app-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-alios-btc-only/ws63-alios-btc-only.bin
DstFile=../../../../../output/ws63/acore/ws63-alios-btc-only/ws63-alios-btc-only-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-alios-testsuite/ws63-alios-testsuite.bin
DstFile=../../../../../output/ws63/acore/ws63-alios-testsuite/ws63-alios-testsuite-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-btc-only/ws63-liteos-btc-only.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-btc-only/ws63-liteos-btc-only-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,8 @@
-----BEGIN EC PARAMETERS-----
BgkrJAMDAggBAQc=
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHgCAQEEIEZLmBZ0qbwn5zEM3O1/zg3BImx/eb7aadRf6F83P6IDoAsGCSskAwMC
CAEBB6FEA0IABHZPYK0lwxDdp0MYAFcV8hhInRxc2gZeFgWLSEQRGoJpNQHmtlrR
1qmJA4hXkJV6lR62rbtjkhHZQVFhLNsN1g8=
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,8 @@
-----BEGIN EC PARAMETERS-----
BgkrJAMDAggBAQc=
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHgCAQEEIIHHt3/wiXDw5WloesmI5KqiIybQKLa3nqsHLy6fTRKjoAsGCSskAwMC
CAEBB6FEA0IABARMYka4WWMVyWQ774RUA1DEhgUOszbPRvtB+BOuGrfZHF3dvapQ
JeYnc+kjF+mvHzloS93xe9sa1g+qL2ZuxT8=
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,6 @@
# Omrk1、OwnerId为派生flash秘钥所需参数需要写到efuse中
# OkpSalt值在签名加密前需要拷贝到镜像头的ProtectionKeyL1/2参数前28byte中
# flash秘钥生成命令./tool_security ./encry_config.cfg
Omrk1=0000000000000000000000000000000000000000000000000000000000000000
OwnerId=0
OkpSalt=00112233445566778899AABBCCDDEEFF00112233445566778899AABB

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-flashboot/flashboot.bin
DstFile=../../../../../output/ws63/acore/ws63-flashboot/flashboot_backup_sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_ssb_private_key.pem
SubKeyFile=./ec_bp256_flashboot_backup_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B69871E
CodeInfoImageId=0x4B69872D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=04040404040404040404040404040404
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-flashboot/flashboot.bin
DstFile=../../../../../output/ws63/acore/ws63-flashboot/flashboot_sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_ssb_private_key.pem
SubKeyFile=./ec_bp256_flash_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B1E3C1E
CodeInfoImageId=0x4B1E3C2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=04040404040404040404040404040404
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-ate-flash/ws63-ate-flash.bin
DstFile=../../../../../output/ws63/acore/ws63-ate-flash/ws63-ate-flash-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_oem_root_private_key.pem
SubKeyFile=./ec_bp256_flash_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B1E3C1E
CodeInfoImageId=0x4B1E3C2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=04040404040404040404040404040404
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-freertos-app/ws63-freertos-app.bin
DstFile=../../../../../output/ws63/acore/ws63-freertos-app/ws63-freertos-app-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-freertos-btc-only/ws63-freertos-btc-only.bin
DstFile=../../../../../output/ws63/acore/ws63-freertos-btc-only/ws63-freertos-btc-only-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-freertos-testsuite/ws63-freertos-testsuite.bin
DstFile=../../../../../output/ws63/acore/ws63-freertos-testsuite/ws63-freertos-testsuite-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-freertos-wifi-only/ws63-freertos-wifi-only.bin
DstFile=../../../../../output/ws63/acore/ws63-freertos-wifi-only/ws63-freertos-wifi-only-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,75 @@
#!/bin/bash
if [ $# -eq 0 ]; then
param="all"
else
param=$1
fi
if [ -f "ec_bp256_oem_root_private_key.pem" ]; then
echo "WARNING: The old keys will be overwritten, and new keys can not work on old devices. Continue? (Y/N)"
read confirm
if [[ $confirm != Y ]] && [[ $confirm != y ]]; then
exit
fi
fi
# =======================安全启动: 随机生成签名私钥 & 根公钥 ==============================================
if [[ $param == sec ]] || [[ $param == all ]]; then
# 生成根私钥/公钥
openssl ecparam -genkey -name brainpoolP256r1 -out ec_bp256_oem_root_private_key.pem
openssl ec -in ec_bp256_oem_root_private_key.pem -pubout -out ec_bp256_oem_root_public_key.pem
# 生成ssb私钥
openssl ecparam -genkey -name brainpoolP256r1 -out ec_bp256_ssb_private_key.pem
# 生成flashboot私钥
openssl ecparam -genkey -name brainpoolP256r1 -out ec_bp256_flash_private_key.pem
# 生成flashboot_backup私钥
openssl ecparam -genkey -name brainpoolP256r1 -out ec_bp256_flashboot_backup_private_key.pem
# 生成loaderboot私钥
openssl ecparam -genkey -name brainpoolP256r1 -out ec_bp256_loaderboot_private_key.pem
# 生成param私钥
openssl ecparam -genkey -name brainpoolP256r1 -out ec_bp256_param_private_key.pem
# 生成app私钥
openssl ecparam -genkey -name brainpoolP256r1 -out ec_bp256_app_private_key.pem
fi
# =======================Flash在线解密 随机生成派生参数, 派生flash秘钥 ======================================
if [[ $param == encry ]] || [[ $param == all ]]; then
ENCRY_CONF=liteos_app_bin_ecc.cfg
OTA_CONF=../fota/fota.cfg
MAKE_KEY_CONF=encry_config.cfg
MAKE_KEY_TOOL=./tool_security
random_num() { < /dev/urandom tr -dc A-F0-9 | head -c $1; echo;}
set_opt() { sed -r -i "s/$1=.*/$1=$2/g" $3; }
# # 1. 随机生成秘钥派生参数
PARAM_OMRK1=`random_num 32`
PARAM_OKPSALT=`random_num 64`
PARAM_OWNERID=0
echo "Omrk1 =$PARAM_OMRK1"
echo "OkpSalt=${PARAM_OKPSALT:0:56}"
echo "OwnerId=$PARAM_OWNERID"
# # 2.配置派生参数到配置文件encry_config.cfg, 该文件为flash加密秘钥派生参数配置文件
set_opt Omrk1 $PARAM_OMRK1 $MAKE_KEY_CONF
set_opt OkpSalt ${PARAM_OKPSALT:0:56} $MAKE_KEY_CONF
set_opt OwnerId $PARAM_OWNERID $MAKE_KEY_CONF
# # 3.使用配置文件派生flash秘钥odrk & 配置秘钥到配置文件liteos_app_bin_ecc.cfg
PARAM_ENCRY_IV=`random_num 32`
PARAM_ENCRY_KEY=`$MAKE_KEY_TOOL 0 $MAKE_KEY_CONF | tr -cd "[0-9A-Z]"`
set_opt PlainKey ${PARAM_ENCRY_KEY:5:32} $ENCRY_CONF
echo "odrk:${PARAM_ENCRY_KEY:5}"
set_opt Iv $PARAM_ENCRY_IV $ENCRY_CONF
set_opt ProtectionKeyL1 ${PARAM_OKPSALT:0:32} $ENCRY_CONF
set_opt ProtectionKeyL2 ${PARAM_OKPSALT:32:64} $ENCRY_CONF
# # 4.使用配置文件派生ota升级加密秘钥abrk & 配置秘钥到配置文件fota.cfg
PARAM_ENCRY_KEY=`$MAKE_KEY_TOOL 1 $MAKE_KEY_CONF | tr -cd "[0-9A-Z]"`
set_opt PlainKey ${PARAM_ENCRY_KEY:5:32} $OTA_CONF
echo "abrk:${PARAM_ENCRY_KEY:5}"
set_opt Iv $PARAM_ENCRY_IV $OTA_CONF
set_opt ProtectionKeyL1 ${PARAM_OKPSALT:0:32} $OTA_CONF
set_opt ProtectionKeyL2 ${PARAM_OKPSALT:32:64} $OTA_CONF
fi

View File

@ -0,0 +1,47 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-app/ws63-liteos-app.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-app/ws63-liteos-app-sign.bin
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABB00000000
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#8ABDA082DB74753577FF2D1E7D79DAC76D8116DF07F92FCBCCD1A3093A63462E
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=FF000000000000000000000000000000
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,47 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-app-iot/ws63-liteos-app-iot.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-app-iot/ws63-liteos-app-iot-sign.bin
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABB00000000
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#8ABDA082DB74753577FF2D1E7D79DAC76D8116DF07F92FCBCCD1A3093A63462E
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
#Iv=FF000000000000000000000000000000
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-bgle-all-asic/ws63-liteos-bgle-all-asic.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-bgle-all-asic/ws63-liteos-bgle-all-asic-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-bgle-all/ws63-liteos-bgle-all.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-bgle-all/ws63-liteos-bgle-all-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-btc-only-asic/ws63-liteos-btc-only-asic.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-btc-only-asic/ws63-liteos-btc-only-asic-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,47 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-hilink/ws63-liteos-hilink.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-hilink/ws63-liteos-hilink-sign.bin
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x5A87A51E
CodeInfoImageId=0x5A87A52D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABB00000000
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#8ABDA082DB74753577FF2D1E7D79DAC76D8116DF07F92FCBCCD1A3093A63462E
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=FF000000000000000000000000000000
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,47 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-mfg/ws63-liteos-mfg.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-mfg/ws63-liteos-mfg-sign.bin
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B7CF333
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABB00000000
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#8ABDA082DB74753577FF2D1E7D79DAC76D8116DF07F92FCBCCD1A3093A63462E
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=FF000000000000000000000000000000
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,47 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/boot_bin/ws63-liteos-mfg.bin
DstFile=../../../../../output/ws63/acore/boot_bin/ws63-liteos-mfg-sign.bin
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B7CF333
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABB00000000
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#8ABDA082DB74753577FF2D1E7D79DAC76D8116DF07F92FCBCCD1A3093A63462E
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=FF000000000000000000000000000000
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-perf/ws63-liteos-perf.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-perf/ws63-liteos-perf-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,47 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-testsuite-radar/ws63-liteos-testsuite-radar.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-testsuite-radar/ws63-liteos-testsuite-radar-sign.bin
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABB00000000
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#8ABDA082DB74753577FF2D1E7D79DAC76D8116DF07F92FCBCCD1A3093A63462E
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=FF000000000000000000000000000000
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,47 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-xts/ws63-liteos-xts.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-xts/ws63-liteos-xts-sign.bin
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABB00000000
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#8ABDA082DB74753577FF2D1E7D79DAC76D8116DF07F92FCBCCD1A3093A63462E
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=FF000000000000000000000000000000
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-loaderboot/loaderboot.bin
DstFile=./loaderboot_sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_oem_root_private_key.pem
SubKeyFile=./ec_bp256_loaderboot_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4BD2F01E
CodeInfoImageId=0x4BD2F02D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=04040404040404040404040404040404
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=./params.bin
DstFile=./params_sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_oem_root_private_key.pem
SubKeyFile=./ec_bp256_param_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B87A51E
CodeInfoImageId=0x4B87A52D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=04040404040404040404040404040404
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,294 @@
import subprocess
import os
import sys
import shutil
import platform
import tarfile
import subprocess
file_dir = os.path.dirname(os.path.realpath(__file__))
g_root = os.path.realpath(os.path.join(file_dir, "..", "..", "..", "..", ".."))
sys.path.append(os.path.join(g_root, 'build', 'script'))
sys.path.append(os.path.join(g_root, "build", "config"))
from enviroment import TargetEnvironment
import param_packet
current_path = os.getcwd()
cwd_path = os.path.split(os.path.realpath(__file__))[0]
os.chdir(cwd_path)
if "windows" in platform.platform().lower():
sign_tool = "../../../../../tools/bin/sign_tool/sign_tool_pltuni.exe"
else:
sign_tool = "../../../../../tools/bin/sign_tool/sign_tool_pltuni"
out_put = "../../../../../output/ws63/acore"
pktbin = "../../../../../output/ws63/pktbin"
inter_bin = "../../../../../interim_binary/ws63/bin/boot_bin"
efuse_csv = "../script/efuse.csv"
boot_bin = "../../../../../output/ws63/acore/boot_bin"
mfg_bin = "../../../../../application/ws63/ws63_liteos_mfg"
def merge(file_first, file_second, file_out):
if "windows" in platform.platform().lower():
out_path = os.path.normpath(os.path.realpath(file_out)).rsplit('\\' , 1)[0]
else:
out_path = os.path.normpath(os.path.realpath(file_out)).rsplit('/' , 1)[0]
print("merge out path: ", out_path)
if not os.path.exists(out_path):
os.makedirs(out_path)
ret = open(file_out, 'wb')
with open(file_first, 'rb') as file_1:
for i in file_1:
ret.write(i)
with open(file_second, 'rb') as file_2:
for i in file_2:
ret.write(i)
ret.close()
def move_file(src_path, dst_path, file_name):
src_file = os.path.join(src_path, file_name)
if not os.path.exists(dst_path):
os.mkdir(dst_path)
dst_file = os.path.join(dst_path, file_name)
shutil.move(src_file, dst_file)
def sign_app(file_path, type, cfg_name):
if os.path.isfile(file_path):
print("sign name: ", file_path)
dd64c(file_path)
ret = subprocess.run([sign_tool, type, cfg_name])
if ret.returncode == 0:
print(file_path, " generated successfully!!!")
else:
print(file_path, " generated failed!!!")
shutil.copy(file_path, pktbin)
else:
pass
def generate_fill_bin(file_path, size):
with open(file_path, 'wb') as f:
f.write(bytes([0xFF] * size))
def dd64c(input_file_path):
file_size = os.path.getsize(input_file_path)
print(input_file_path, "size: ", file_size)
if file_size % 64 != 0:
max_size = int((file_size / 64)+1) * 64
if file_size < max_size:
file_content = open(input_file_path, 'ab')
file_content.write(bytes([0] * int(max_size - file_size)))
if os.path.exists(pktbin):
shutil.rmtree(pktbin)
os.makedirs(pktbin)
# generate params.bin
params_cmd = ["../param_sector/param_sector.json", "params.bin"]
if sys.argv[1] == "ws63-liteos-app-iot" or sys.argv[1] == "ws63-liteos-hilink":
target_env = TargetEnvironment(sys.argv[1])
defines = target_env.get('defines')
if "CONFIG_SUPPORT_HILINK_INDIE_UPGRADE" in defines:
params_cmd = ["../param_sector/param_sector_hilink_indie_upgrade.json", "params.bin"]
if sys.argv[1] == "ws63-liteos-msmart" or sys.argv[1] == "ws63-liteos-msmart-xts":
params_cmd = ["../param_sector/param_sector_ms.json", "params.bin"]
print("generate params.bin...")
param_packet.gen_flash_part_bin(params_cmd[0], params_cmd[1])
if os.path.isfile("params.bin"):
dd64c("params.bin")
print("params.bin generate successfully!!!")
# generate params_sign.bin
param_bin_ecc_cmd = [sign_tool, "0", "param_bin_ecc.cfg"]
ret = subprocess.run(param_bin_ecc_cmd, cwd=cwd_path)
if ret.returncode == 0:
print("params_sign.bin generate successfully!!!")
else:
print("params_sign.bin generate failed!!!")
# generate root public key
root_pubk_cmd = [sign_tool, "1", "root_pubk.cfg"]
ret = subprocess.run(root_pubk_cmd, cwd=cwd_path)
if ret.returncode == 0:
print("root_pubk.bin generate successfully!!!")
else:
generate_fill_bin("root_pubk.bin", 0x80)
print("generate fill root_pubk.bin")
# packet root public key and param.bin
merge("root_pubk.bin", "params_sign.bin", "root_params_sign.bin")
print("root_params_sign.bin generate successfully!!!")
move_file(cwd_path, os.path.join(out_put, "param_bin"), "root_params_sign.bin")
if not os.path.isdir(boot_bin):
shutil.copytree(inter_bin, boot_bin)
if not os.path.isfile(os.path.join(boot_bin, "ws63-liteos-mfg.bin")):
shutil.copy(os.path.join(mfg_bin, "ws63-liteos-mfg.bin"), boot_bin)
#sign ssb
if os.path.isfile(os.path.join(out_put, "ws63-ssb/ssb.bin")):
dd64c(os.path.join(out_put, "ws63-ssb/ssb.bin"))
shutil.copy(os.path.join(out_put, "ws63-ssb/ssb.bin"), pktbin)
ret1 = subprocess.run([sign_tool, "0", "ssb_bin_ecc.cfg"])
if ret1.returncode == 0:
print("ssb_sign.bin generated successfully!!!")
shutil.copy(os.path.join(out_put, "ws63-ssb/ssb_sign.bin"), boot_bin)
else:
print("ssb_sign.bin generated failed!!!")
#sign interim ssb
if os.path.isfile(os.path.join(inter_bin, 'ssb.bin')):
jug_ssb = False
if not os.path.isfile(os.path.join(out_put, "ws63-ssb/ssb.bin")):
os.makedirs(os.path.join(out_put, 'ws63-ssb'))
shutil.copy(os.path.join(inter_bin, 'ssb.bin'), os.path.join(out_put, "ws63-ssb"))
sign_app(os.path.join(out_put, "ws63-ssb/ssb.bin"), "0", "ssb_bin_ecc.cfg")
jug_ssb = True
shutil.copy(os.path.join(out_put, "ws63-ssb/ssb_sign.bin"), boot_bin)
print("ssb_sign.bin generated successfully!!!")
if jug_ssb:
shutil.rmtree(os.path.join(out_put, 'ws63-ssb'))
#sign flash boot
if os.path.isfile(os.path.join(out_put, "ws63-flashboot/flashboot.bin")):
dd64c(os.path.join(out_put, "ws63-flashboot/flashboot.bin"))
shutil.copy(os.path.join(out_put, "ws63-flashboot/flashboot.bin"), pktbin)
ret1 = subprocess.run([sign_tool, "0", "flash_bin_ecc.cfg"])
ret2 = subprocess.run([sign_tool, "0", "flash_backup_bin_ecc.cfg"])
if ret1.returncode == 0 and ret2.returncode == 0:
print("flash_sign.bin generated successfully!!!")
else:
print("flash_sign.bin generated failed!!!")
if os.path.isfile(os.path.join(out_put, "ws63-flashboot/flashboot.bin")):
shutil.copy(os.path.join(out_put, "ws63-flashboot/flashboot.bin"), boot_bin)
shutil.copy(os.path.join(out_put, "ws63-flashboot/flashboot_sign.bin"), boot_bin)
shutil.copy(os.path.join(out_put, "ws63-flashboot/flashboot_backup_sign.bin"), boot_bin)
if os.path.isfile(os.path.join(out_put, "ws63-ate-flash", "ws63-ate-flash.bin")):
dd64c(os.path.join(out_put, "ws63-ate-flash", "ws63-ate-flash.bin"))
ret1 = subprocess.run([sign_tool, "0", "flash_htol_bin_ecc.cfg"])
if ret1.returncode == 0:
print("ws63_ate_flash.bin generated successfully!!!")
else:
print("ws63_ate_flash.bin generated failed!!!")
if os.path.isfile(os.path.join(out_put, "ws63-loaderboot", "loaderboot.bin")):
dd64c(os.path.join(out_put, "ws63-loaderboot", "loaderboot.bin"))
shutil.copy(os.path.join(out_put, "ws63-loaderboot", "loaderboot.bin"), pktbin)
ret1 = subprocess.run([sign_tool, "0", "loaderboot_bin_ecc.cfg"])
if ret1.returncode == 0:
print("loaderboot_sign.bin generated successfully!!!")
else:
print("loaderboot_sign.bin generated failed!!!")
merge("root_pubk.bin", "loaderboot_sign.bin", os.path.join(out_put, "ws63-loaderboot", "root_loaderboot_sign.bin"))
shutil.copy(os.path.join(out_put, "ws63-loaderboot/root_loaderboot_sign.bin"), boot_bin)
print("root_loaderboot_sign.bin generated successfully!!!")
os.remove("loaderboot_sign.bin")
#sign loaderboot.bin interim
if os.path.isfile(os.path.join(inter_bin, 'loaderboot.bin')):
jug_loaderboot = False
if not os.path.isfile(os.path.join(out_put, "ws63-loaderboot/loaderboot.bin")):
os.makedirs(os.path.join(out_put, 'ws63-loaderboot'))
jug_loaderboot = True
shutil.copy(os.path.join(inter_bin, 'loaderboot.bin'), os.path.join(out_put, "ws63-loaderboot"))
sign_app(os.path.join(out_put, "ws63-loaderboot/loaderboot.bin"), "0", "loaderboot_bin_ecc.cfg")
if(os.path.isfile("loaderboot_sign.bin")):
print("loaderboot_sign.bin generated successfully!!!")
merge("root_pubk.bin", 'loaderboot_sign.bin', os.path.join(boot_bin, 'root_loaderboot_sign.bin'))
print("root_loaderboot_sign.bin generated successfully!!!")
os.remove('loaderboot_sign.bin')
if jug_loaderboot:
shutil.rmtree(os.path.join(out_put, "ws63-loaderboot"))
# sign app
sign_app(os.path.join(out_put, "ws63-liteos-testsuite/ws63-liteos-testsuite.bin"), "0", "testsuit_app_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-app/ws63-liteos-app.bin"), "0", "liteos_app_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-hilink/ws63-liteos-hilink.bin"), "0", "liteos_hilink_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-app-gree/ws63-liteos-app-gree.bin"), "0", "liteos_app_gree_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-msmart/ws63-liteos-msmart.bin"), "0", "liteos_msmart_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-msmart-xts/ws63-liteos-msmart-xts.bin"), "0", "liteos_msmart_xts_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-xts/ws63-liteos-xts.bin"), "0", "liteos_xts_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-app-iot/ws63-liteos-app-iot.bin"), "0", "liteos_app_iot_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-btc-only/ws63-liteos-btc-only.bin"), "0", "btc_only_app_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-btc-only-asic/ws63-liteos-btc-only-asic.bin"), "0", "liteos_btc_only_asic_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-gle-sparklyzer/ws63-liteos-gle-sparklyzer.bin"), "0", "sparklyzer_btc_only_app_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-mfg/ws63-liteos-mfg.bin"), "0", "liteos_mfg_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-perf/ws63-liteos-perf.bin"), "0", "liteos_perf_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-app-asic/ws63-liteos-app-asic.bin"), "0", "liteos_app_asic_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-freertos-testsuite/ws63-freertos-testsuite.bin"), "0", "freertos_testsuit_app_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-freertos-app/ws63-freertos-app.bin"), "0", "freertos_app_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-freertos-wifi-only/ws63-freertos-wifi-only.bin"), "0", "freertos_wifi_only_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-freertos-btc-only/ws63-freertos-btc-only.bin"), "0", "freertos_btc_only_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-alios-app/ws63-alios-app.bin"), "0", "alios_app_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-alios-testsuite/ws63-alios-testsuite.bin"), "0", "alios_testsuit_app_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-alios-btc-only/ws63-alios-btc-only.bin"), "0", "alios_btc_only_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-bgle-all/ws63-liteos-bgle-all.bin"), "0", "liteos_bgle_all_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-bgle-all-asic/ws63-liteos-bgle-all-asic.bin"), "0", "liteos_bgle_all_asic_bin_ecc.cfg")
sign_app(os.path.join(out_put, "ws63-liteos-testsuite-radar/ws63-liteos-testsuite-radar.bin"), "0", "liteos_testsuite_radar_bin_ecc.cfg")
sign_app(os.path.join(boot_bin, "ws63-liteos-mfg.bin"), "0", "liteos_mfg_bin_factory_ecc.cfg")
move_file(cwd_path, os.path.join(out_put, "param_bin"), "params.bin")
# clean middle files
os.remove("params_sign.bin")
os.remove("root_pubk.bin")
if os.path.isfile(os.path.join(out_put, "ws63-liteos-app", "ws63-liteos-app.bin")):
shutil.copy(os.path.join(out_put, "ws63-liteos-app", "ws63-liteos-app.bin"), pktbin)
if os.path.isfile(os.path.join(out_put, "ws63-liteos-hilink", "ws63-liteos-hilink.bin")):
shutil.copy(os.path.join(out_put, "ws63-liteos-hilink", "ws63-liteos-hilink.bin"), pktbin)
if os.path.isfile(os.path.join(inter_bin, "ssb.bin")):
shutil.copy(os.path.join(inter_bin, "ssb.bin"), pktbin)
if os.path.isfile(os.path.join(inter_bin, "flashboot.bin")):
shutil.copy(os.path.join(inter_bin, "flashboot.bin"), pktbin)
if os.path.isfile(os.path.join(inter_bin, "loaderboot.bin")):
shutil.copy(os.path.join(inter_bin, "loaderboot.bin"), pktbin)
if os.path.isfile(efuse_csv):
shutil.copy(efuse_csv, pktbin)
if os.path.isfile(os.path.join(out_put, "param_bin", "params.bin")):
shutil.copy(os.path.join(out_put, "param_bin", "params.bin"), pktbin)
if os.path.isfile(os.path.join(out_put, "nv_bin", "ws63_all_nv.bin")):
shutil.copy(os.path.join(out_put, "nv_bin", "ws63_all_nv.bin"), pktbin)
if os.path.isfile(os.path.join(out_put, "nv_bin", "ws63_all_nv_factory.bin")):
shutil.copy(os.path.join(out_put, "nv_bin", "ws63_all_nv_factory.bin"), pktbin)
os.chdir(current_path)

View File

@ -0,0 +1,247 @@
#!/bin/bash
set -e
script_dir=$(cd $(dirname $0); pwd)
pushd $script_dir
sign_tool=../../../../../tools/bin/sign_tool/sign_tool_pltuni
pack_tool=../../../../script/param_packet.py
out_put=../../../../../output/ws63/acore
pktbin=../../../../../output/ws63/pktbin
inter_bin=../../../../../interim_binary/ws63/bin/boot_bin
efuse_csv=../script/efuse.csv
padd_align_64byte()
{
input_file=$1
tmp_file=$input_file.tmp
size=`wc -c < $input_file`
block_cnt=`expr $size / 64 + 1`
dd if=$input_file of=$tmp_file bs=64c seek=0 count=$block_cnt conv=sync
mv $tmp_file $input_file
}
rm -rf $pktbin
mkdir $pktbin
#Generate param.bin
python3 $pack_tool ../param_sector/param_sector.json params.bin
if [ -f params.bin ]; then
padd_align_64byte params.bin
echo "params.bin generate succed!!!"
#sign params.bin
$sign_tool 0 param_bin_ecc.cfg
echo "params_sign.bin generate succed!!!"
#Generate root public key
$sign_tool 1 root_pubk.cfg
echo "root_pubk.bin generate succed!!!"
#packet root public key and param.bin
cat root_pubk.bin params_sign.bin > root_params_sign.bin
echo "root_params_sign.bin generate succed!!!"
fi
#sign ssb
if [ -f $out_put"/ws63-ssb/ssb.bin" ]; then
padd_align_64byte $out_put"/ws63-ssb/ssb.bin"
cp $out_put"/ws63-ssb/ssb.bin" $pktbin
$sign_tool 0 ssb_bin_ecc.cfg
echo "ssb_sign.bin generate succed!!!"
fi
#sign flash boot
if [ -f $out_put"/ws63-flashboot/flashboot.bin" ]; then
padd_align_64byte $out_put"/ws63-flashboot/flashboot.bin"
cp $out_put"/ws63-flashboot/flashboot.bin" $pktbin
$sign_tool 0 flash_bin_ecc.cfg
$sign_tool 0 flash_backup_bin_ecc.cfg
echo "flash_sign.bin generate succed!!!"
fi
if [ -f $out_put"/ws63-ate-flash/ws63-ate-flash.bin" ]; then
padd_align_64byte $out_put"/ws63-ate-flash/ws63-ate-flash.bin"
$sign_tool 0 flash_htol_bin_ecc.cfg
echo "ws63-ate-flash.bin generate succed!!!"
fi
#sign loaderboot
if [ -f $out_put"/ws63-loaderboot/loaderboot.bin" ]; then
padd_align_64byte $out_put"/ws63-loaderboot/loaderboot.bin"
cp $out_put"/ws63-loaderboot/loaderboot.bin" $pktbin
$sign_tool 0 loaderboot_bin_ecc.cfg
echo "loaderboot_sign.bin generate succed!!!"
#pack root public bin and loaderboot
cat root_pubk.bin loaderboot_sign.bin > $out_put"/ws63-loaderboot/root_loaderboot_sign.bin"
echo "root_loaderboot_sign.bin generate succed!!!"
rm -rf loaderboot_sign.bin
fi
#sign app
if [ -f $out_put"/ws63-liteos-testsuite/ws63-liteos-testsuite.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-testsuite/ws63-liteos-testsuite.bin"
$sign_tool 0 testsuit_app_bin_ecc.cfg
echo "testsuit_app_bin_ecc generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-app/ws63-liteos-app.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-app/ws63-liteos-app.bin"
cp $out_put"/ws63-liteos-app/ws63-liteos-app.bin" $pktbin
$sign_tool 0 liteos_app_bin_ecc.cfg
echo "ws63-liteos-app generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-hilink/ws63-liteos-hilink.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-hilink/ws63-liteos-hilink.bin"
cp $out_put"/ws63-liteos-hilink/ws63-liteos-hilink.bin" $pktbin
$sign_tool 0 liteos_hilink_bin_ecc.cfg
echo "ws63-liteos-hilink generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-app-gree/ws63-liteos-app-gree.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-app-gree/ws63-liteos-app-gree.bin"
cp $out_put"/ws63-liteos-app-gree/ws63-liteos-app-gree.bin" $pktbin
$sign_tool 0 liteos_app_gree_bin_ecc.cfg
echo "ws63-liteos-app-gree generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-msmart/ws63-liteos-msmart.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-msmart/ws63-liteos-msmart.bin"
cp $out_put"/ws63-liteos-msmart/ws63-liteos-msmart.bin" $pktbin
$sign_tool 0 liteos_msmart_bin_ecc.cfg
echo "ws63-liteos-msmart generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-msmart-xts/ws63-liteos-msmart-xts.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-msmart-xts/ws63-liteos-msmart-xts.bin"
cp $out_put"/ws63-liteos-msmart-xts/ws63-liteos-msmart-xts.bin" $pktbin
$sign_tool 0 liteos_msmart_xts_bin_ecc.cfg
echo "ws63-liteos-msmart-xts generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-xts/ws63-liteos-xts.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-xts/ws63-liteos-xts.bin"
cp $out_put"/ws63-liteos-xts/ws63-liteos-xts.bin" $pktbin
$sign_tool 0 liteos_xts_bin_ecc.cfg
echo "ws63-liteos-xts generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-app-iot/ws63-liteos-app-iot.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-app-iot/ws63-liteos-app-iot.bin"
cp $out_put"/ws63-liteos-app-iot/ws63-liteos-app-iot.bin" $pktbin
$sign_tool 0 liteos_app_iot_bin_ecc.cfg
echo "ws63-liteos-app-iot generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-mfg/ws63-liteos-mfg.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-mfg/ws63-liteos-mfg.bin"
cp $out_put"/ws63-liteos-mfg/ws63-liteos-mfg.bin" $pktbin
$sign_tool 0 liteos_mfg_bin_ecc.cfg
echo "ws63-liteos-mfg generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-perf/ws63-liteos-perf.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-perf/ws63-liteos-perf.bin"
$sign_tool 0 liteos_perf_bin_ecc.cfg
echo "ws63-liteos-perf generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-testsuite-radar/ws63-liteos-testsuite-radar.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-testsuite-radar/ws63-liteos-testsuite-radar.bin"
$sign_tool 0 liteos_testsuite_radar_bin_ecc.cfg
echo "liteos_testsuite_radar_bin_ecc generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-btc-only/ws63-liteos-btc-only.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-btc-only/ws63-liteos-btc-only.bin"
$sign_tool 0 btc_only_app_bin_ecc.cfg
echo "btc_only_app_bin_ecc generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-btc-only-asic/ws63-liteos-btc-only-asic.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-btc-only-asic/ws63-liteos-btc-only-asic.bin"
$sign_tool 0 liteos_btc_only_asic_bin_ecc.cfg
echo "liteos_btc_only_asic_bin_ecc generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-gle-sparklyzer/ws63-liteos-gle-sparklyzer.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-gle-sparklyzer/ws63-liteos-gle-sparklyzer.bin"
$sign_tool 0 sparklyzer_btc_only_app_bin_ecc.cfg
echo "sparklyzer_btc_only_app_bin_ecc generate succed!!!"
fi
if [ -f $out_put"/ws63-freertos-testsuite/ws63-freertos-testsuite.bin" ]; then
padd_align_64byte $out_put"/ws63-freertos-testsuite/ws63-freertos-testsuite.bin"
$sign_tool 0 freertos_testsuit_app_bin_ecc.cfg
echo "freertos_testsuit_app_bin_ecc generate succed!!!"
fi
if [ -f $out_put"/ws63-freertos-app/ws63-freertos-app.bin" ]; then
padd_align_64byte $out_put"/ws63-freertos-app/ws63-freertos-app.bin"
$sign_tool 0 freertos_app_bin_ecc.cfg
echo "freertos_app_bin_ecc generate succed!!!"
fi
if [ -f $out_put"/ws63-freertos-wifi-only/ws63-freertos-wifi-only.bin" ]; then
padd_align_64byte $out_put"/ws63-freertos-wifi-only/ws63-freertos-wifi-only.bin"
$sign_tool 0 freertos_wifi_only_bin_ecc.cfg
echo "freertos_wifi_only_bin_ecc copy generate succed!!!"
fi
if [ -f $out_put"/ws63-freertos-btc-only/ws63-freertos-btc-only.bin" ]; then
padd_align_64byte $out_put"/ws63-freertos-btc-only/ws63-freertos-btc-only.bin"
$sign_tool 0 freertos_btc_only_bin_ecc.cfg
echo "freertos_btc_only_bin_ecc copy generate succed!!!"
fi
if [ -f $out_put"/ws63-alios-app/ws63-alios-app.bin" ]; then
padd_align_64byte $out_put"/ws63-alios-app/ws63-alios-app.bin"
$sign_tool 0 alios_app_bin_ecc.cfg
echo "alios_app_bin_ecc copy generate succed!!!"
fi
if [ -f $out_put"/ws63-alios-testsuite/ws63-alios-testsuite.bin" ]; then
padd_align_64byte $out_put"/ws63-alios-testsuite/ws63-alios-testsuite.bin"
$sign_tool 0 alios_testsuit_app_bin_ecc.cfg
echo "alios_testsuit_app_bin_ecc copy generate succed!!!"
fi
if [ -f $out_put"/ws63-alios-btc-only/ws63-alios-btc-only.bin" ]; then
padd_align_64byte $out_put"/ws63-alios-btc-only/ws63-alios-btc-only.bin"
$sign_tool 0 alios_btc_only_bin_ecc.cfg
echo "alios_testsuit_app_bin_ecc copy generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-bgle-all/ws63-liteos-bgle-all.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-bgle-all/ws63-liteos-bgle-all.bin"
$sign_tool 0 liteos_bgle_all_bin_ecc.cfg
echo "liteos_bgle_all_bin_ecc copy generate succed!!!"
fi
if [ -f $out_put"/ws63-liteos-bgle-all-asic/ws63-liteos-bgle-all-asic.bin" ]; then
padd_align_64byte $out_put"/ws63-liteos-bgle-all-asic/ws63-liteos-bgle-all-asic.bin"
$sign_tool 0 liteos_bgle_all_asic_bin_ecc.cfg
echo "liteos_bgle_all_bin_ecc copy generate succed!!!"
fi
#deal tmp param file
rm -rf params_sign.bin
rm -rf root_pubk.bin
rm -rf $out_put"/param_bin/"
mkdir $out_put"/param_bin/"
mv root_params_sign.bin $out_put"/param_bin/"
mv params.bin $out_put"/param_bin/"
#pack all unsgin bin
cp $inter_bin"/ssb.bin" $pktbin || :
cp $inter_bin"/flashboot.bin" $pktbin || :
cp $inter_bin"/loaderboot.bin" $pktbin || :
cp $efuse_csv $pktbin || :
cp $out_put"/param_bin/params.bin" $pktbin || :
cp $out_put"/nv_bin/ws63_all_nv.bin" $pktbin || :
pushd $pktbin"/../"
rm -rf pktbin.zip
tar -cf pktbin.zip ./pktbin
popd
popd
exit 0

View File

@ -0,0 +1 @@
8B270508704978AB4E4090CAA94FAA3278E99B366F7AFFAEFBC12FBB2DC868A7

View File

@ -0,0 +1,17 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=0
SrcFile=./ec_bp256_oem_root_private_key.pem
DstFile=./root_pubk.bin
ImageId=0x4BA5C31E
KeyOwnerId=1
KeyId=1

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-gle-sparklyzer/ws63-liteos-gle-sparklyzer.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-gle-sparklyzer/ws63-liteos-gle-sparklyzer-sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,55 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-ssb/ssb.bin
DstFile=../../../../../output/ws63/acore/ws63-ssb/ssb_sign.bin
#RootKeyFile=./sample/acpu_rootk_ecc.pem
RootKeyFile=./ec_bp256_oem_root_private_key.pem
SubKeyFile=./ec_bp256_ssb_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B1E3C1E
CodeInfoImageId=0x4B1E3C2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABBCCDDEEFF
PlainKey=04040404040404040404040404040404
#03030303030303030303030303030303
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
Iv=101112131415161718191A1B1C1D1E1F
#01010101010101010101010101010101
#04040404040404040404040404040404
#101112131415161718191A1B1C1D1E1F
# ProtectionKeyL1Auth=
# ProtectionKeyL2Auth=
# PlainKeyAuth=
TextSegmentSize=0x00010000
RamSize=0x00010000

View File

@ -0,0 +1,48 @@
# 0: ECDSA_SHA256
# 1: ECDSA_SHA256_LEA_CTR
# 2: ECDSA_SHA256_LEA_CBC_MAC
# 3: ECDSA_SHA256_AES_CBC
# 10: SM2_SM3
# 11: SM2_SM3_LEA_CTR
# 12: SM2_SM3_LEA_CBC_MAC
# 13: SM2_SM3_SM4_CBC
SignSuite=4
SrcFile=../../../../../output/ws63/acore/ws63-liteos-testsuite/ws63-liteos-testsuite.bin
DstFile=../../../../../output/ws63/acore/ws63-liteos-testsuite/ws63-liteos-testsuite-sign.bin
RootKeyFile=./ec_bp256_flash_private_key.pem
SubKeyFile=./ec_bp256_app_private_key.pem
# Default Single sign mode. If there are 'RootKeyFileExt' & 'SubKeyFileExt' then means Double Sign mode.
# RootKeyFileExt=
# SubKeyFileExt=
ImageId=0x4B0F2D1E
CodeInfoImageId=0x4B0F2D2D
KeyOwnerId=1
KeyId=1
KeyAlg=0x2A13C812
KeyVersion=0x00000000
KeyVersionMask=0x00000000
Msid=0x00000000
MsidMask=0x00000000
CompressFlag=0
Version=0x00000000
VersionMask=0x00000000
ProtectionKeyL1=00112233445566778899AABBCCDDEEFF
ProtectionKeyL2=00112233445566778899AABB00000000
PlainKey=8ABDA082DB74753577FF2D1E7D79DAC7
#6712E3ACC547DEEF9375159058521FEB03965ECCA0BD47E255A1C56D9F44B815 ABRK ota加密 全零派生
#89DB8A9045FA968393E5464460A1F17DCE59429674C1326D8008255766FEA824 ODRK flash加密 全零派生
PlainKeyAuth=04040404040404040404040404040404
#0F1E2D3C4B5A69788796A5B4C3D2E1F0
# Iv=0000000000000000000000000000AAFF
TextSegmentSize=0x00010000
RamSize=0x00010000

Binary file not shown.