Modify signed file structure
authorKichan Kwon <k_c.kwon@samsung.com>
Wed, 3 Jun 2020 06:29:33 +0000 (15:29 +0900)
committerKichan Kwon <k_c.kwon@samsung.com>
Wed, 3 Jun 2020 06:29:33 +0000 (15:29 +0900)
- Add delta size
- Magic number : TOTA_SIGNED -> TOTA_SIGNED_V1

Change-Id: Ide8067a7d7968d8493beacbd48f54294f6efb3b3
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
mk_delta/common/bin/sign_upg.sh

index f3b9677..0bf6411 100755 (executable)
@@ -34,6 +34,7 @@ CheckNull() {
 PKCS=$1
 PKCS_PASSWORD=$2
 FILE=$3
+FILE_SIZE=""
 SIGNED_FILE=$4
 CheckArgument() {
        ArgumentList=(
@@ -47,6 +48,9 @@ CheckArgument() {
                CheckFile ${ARGUMENT} ${ARGUMENT}" not exist"
        done
 
+       FILE_SIZE=$(${STAT} -c %s ${FILE})
+       CheckNull ${FILE_SIZE} "Failed to get the size of file"
+
        if [ -z ${SIGNED_FILE} ]; then
                SIGNED_FILE=${FILE}
        fi
@@ -116,22 +120,23 @@ ConvertCert() {
 }
 
 RESULT_FILE=""
-MAGIC_NUMBER="TOTA_SIGNED"
+MAGIC_NUMBER="TOTA_SIGNED_V1"
 AttachSignature() {
        echo "Attaching signature..."
 
        RESULT_FILE=${TMP_DIR}/result
 
-       echo -n ${MAGIC_NUMBER} > ${RESULT_FILE}
-       cat ${SIGNATURE} ${CERT_CONVERTED} >> ${RESULT_FILE}
+       cat ${SIGNATURE} ${CERT_CONVERTED} > ${RESULT_FILE}
+       ${PERL} -e "print pack('L', ${FILE_SIZE})" >> ${RESULT_FILE}
        ${PERL} -e "print pack('L', ${SIGNATURE_SIZE})" >> ${RESULT_FILE}
        ${PERL} -e "print pack('L', ${CERT_CONVERTED_SIZE})" >> ${RESULT_FILE}
+       echo -n ${MAGIC_NUMBER} >> ${RESULT_FILE}
 }
 
 VerifySignature() {
        echo "Verifying signature..."
 
-       EXPECTED_SIZE=$(expr ${#MAGIC_NUMBER} + ${SIGNATURE_SIZE} + ${CERT_CONVERTED_SIZE} + 8)
+       EXPECTED_SIZE=$(expr ${#MAGIC_NUMBER} + ${SIGNATURE_SIZE} + ${CERT_CONVERTED_SIZE} + 12)
        REAL_SIZE=$(${STAT} -c %s ${RESULT_FILE})
 
        if [ ${EXPECTED_SIZE} -ne ${REAL_SIZE} ]; then