Signed-off-by: Denys Dmytriyenko <[email protected]>
---
 .../u-boot/u-boot-k3-r5/gen_x509_cert.sh           | 311 ---------------------
 1 file changed, 311 deletions(-)
 delete mode 100755 
meta-arago-distro/recipes-bsp/u-boot/u-boot-k3-r5/gen_x509_cert.sh

diff --git a/meta-arago-distro/recipes-bsp/u-boot/u-boot-k3-r5/gen_x509_cert.sh 
b/meta-arago-distro/recipes-bsp/u-boot/u-boot-k3-r5/gen_x509_cert.sh
deleted file mode 100755
index 82d6042..0000000
--- a/meta-arago-distro/recipes-bsp/u-boot/u-boot-k3-r5/gen_x509_cert.sh
+++ /dev/null
@@ -1,311 +0,0 @@
-#!/bin/bash
-#
-# Script to add x509 certificate to binary/ELF
-
-# Variables
-VALID_SHAS="sha256 sha384 sha512 sha224"
-OUTPUT=x509-firmware.bin
-TEMP_X509=x509-temp.cert
-CERT=certificate.bin
-RAND_KEY=eckey.pem
-VALID_ROM_CORES="r5 m3"
-VALID_DMSC_CORES="r5-00 r5-01 a53-00 a53-01 a53-10 a53-11"
-SHA=sha512
-CORE=m3
-LOADADDR=0x00040000
-VALID_MASTERS="rom dmsc"
-
-declare -A sha_oids
-sha_oids["sha256"]=2.16.840.1.101.3.4.2.1
-sha_oids["sha384"]=2.16.840.1.101.3.4.2.2
-sha_oids["sha512"]=2.16.840.1.101.3.4.2.3
-sha_oids["sha224"]=2.16.840.1.101.3.4.2.4
-
-declare -A core_ids
-core_ids["a53-00"]=0x20
-core_ids["a53-01"]=0x21
-core_ids["a53-10"]=0x22
-core_ids["a53-11"]=0x23
-core_ids["r5-00"]=0x01
-core_ids["r5-01"]=0x02
-
-gen_key() {
-       openssl ecparam -out $RAND_KEY -name prime256v1 -genkey
-       KEY=$RAND_KEY
-}
-
-declare -A options_help
-usage() {
-       if [ -n "$*" ]; then
-               echo "ERROR: $*"
-       fi
-       echo -n "Usage: $0 "
-       for option in "${!options_help[@]}"
-       do
-               arg=`echo ${options_help[$option]}|cut -d ':' -f1`
-               if [ -n "$arg" ]; then
-                       arg=" $arg"
-               fi
-               echo -n "[-$option$arg] "
-       done
-       echo
-       echo -e "\nWhere:"
-       for option in "${!options_help[@]}"
-       do
-               arg=`echo ${options_help[$option]}|cut -d ':' -f1`
-               txt=`echo ${options_help[$option]}|cut -d ':' -f2`
-               tb="\t\t\t"
-               if [ -n "$arg" ]; then
-                       arg=" $arg"
-                       tb="\t"
-               fi
-               echo -e "   -$option$arg:$tb$txt"
-       done
-       echo
-       echo "Examples of usage:-"
-       echo "# Generate x509 certificate with random key from elf"
-       echo "    CROSS_COMPILE=arm-linux-gnueabihf- $0 -b 
ti-sci-firmware-am6x.elf -o dmsc.bin -l 0x40000"
-       echo "# Generate x509 certificate with random key from bin"
-       echo "    $0 -b ti-sci-firmware-am6x.bin -o dmsc.bin -l 0x40000"
-       echo "# Example of signing the DMSC binary"
-       echo "    $0 -m rom -c m3 -b ti-sci-firmware-am6x.bin -o dmsc.bin -l 
0x40000"
-       echo "# Example of signing the SPL binary"
-       echo "    $0 -m rom -c r5 -b spl/u-boot-spl.bin -o tiboot3.bin -l 
0x41c00000"
-       echo "# Example of signing the ATF binary to run on A53"
-       echo "    $0 -m dmsc -c a53-00 -b bl31.bin -o atf.bin -l 0x70000000"
-}
-
-options_help[e]="elf_file:ELF file that needs to be signed"
-options_help[b]="bin_file:Bin file that needs to be signed"
-options_help[k]="key_file:file with key inside it. If not provided script 
generates a random key."
-options_help[o]="output_file:Name of the final output file. default 
x509-firmware.bin"
-options_help[c]="core:target core on which the image would be running. Default 
is m3. Valid option for rom are $VALID_ROM_CORES. Valid options for DMSC are 
$VALID_DMSC_CORES"
-options_help[d]=":Countersign DMSC firmware image. This signs a previously 
signed image for a second time."
-options_help[s]="sha_type:sha type to be used for certificate generation. 
Default is sha512. Valid option are $VALID_SHAS"
-options_help[l]="loadaddr: Target load address of the binary in hex. Default 
to $LOADADDR"
-options_help[m]="master: Master name for which the image is created. This 
master software parses the certificate and load the images accordingly. Default 
to rom. valid options are $VALID_MASTERS"
-
-while getopts "e:b:k:o:c:ds:l:m:h" opt
-do
-       case $opt in
-       e)
-               ELF=$OPTARG
-       ;;
-       b)
-               BIN=$OPTARG
-       ;;
-       k)
-               KEY=$OPTARG
-       ;;
-       o)
-               OUTPUT=$OPTARG
-       ;;
-       l)
-               LOADADDR=$OPTARG
-       ;;
-       s)
-               SHA=$OPTARG
-               sha_valid=0
-               for tsha in $VALID_SHAS
-               do
-                       if [ "$tsha" == "$SHA" ]; then
-                               sha_valid=1
-                       fi
-               done
-               if [ $sha_valid == 0 ]; then
-                       usage "Invalid sha input $SHA"
-                       exit 1
-               fi
-       ;;
-       c)
-               CORE=$OPTARG
-       ;;
-       d)
-               CERTTYPE=3      # CERT_TYPE_FIRMWARE_COUNTERSIGN
-       ;;
-       m)
-               MASTER=$OPTARG
-               master_valid=0
-               for vmaster in $VALID_MASTERS
-               do
-                       if [ "$vmaster" == "$MASTER" ]; then
-                               master_valid=1
-                       fi
-               done
-               if [ $master_valid == 0 ]; then
-                       usage "Invalid master input $MASTER"
-                       exit 1
-               fi
-       ;;
-       h)
-               usage
-               exit 0
-       ;;
-       \?)
-               usage "Invalid Option '-$OPTARG'"
-               exit 1
-       ;;
-       :)
-               usage "Option '-$OPTARG' Needs an argument."
-               exit 1
-       ;;
-       esac
-done
-
-if [ "$#" -eq 0 ]
-then
-       usage "Arguments missing"
-       exit 1
-fi
-
-if [ -z "$BIN" -a -z "$ELF" ]; then
-       usage "Either Input bin file or ELF file to sign"
-       exit 1
-fi
-
-if [ "$MASTER" == "dmsc" ]; then
-       VALID_CORES=$VALID_DMSC_CORES
-else
-       # Defaut to ROM image
-       VALID_CORES=$VALID_ROM_CORES
-       MASTER="rom"
-fi
-
-# Verify for valid core inputs
-core_valid=0
-for tcore in $VALID_CORES
-do
-       if [ "$tcore" == "$CORE" ]; then
-               core_valid=1
-       fi
-done
-if [ $core_valid == 0 ]; then
-       usage "Invalid target core $CORE"
-       exit 1
-fi
-
-# Generate random key if user doesn't provide a key
-if [ -z "$KEY" ]; then
-       gen_key
-fi
-
-if [ "$MASTER" == "dmsc" ]; then
-       BOOTCORE=${core_ids["$CORE"]}
-       BOOTCORE_OPTS_VER=$(printf "%01x" 1)
-       # Add input args option for SET and CLR flags.
-       BOOTCORE_OPTS_SETFLAG=$(printf "%08x" 0)
-       BOOTCORE_OPTS_CLRFLAG=$(printf "%08x" 0x100) # Clear FLAG_ARMV8_AARCH32
-       
BOOTCORE_OPTS="0x$BOOTCORE_OPTS_VER$BOOTCORE_OPTS_SETFLAG$BOOTCORE_OPTS_CLRFLAG"
-       # Set the cert type to zero.
-       # We are not using public/private key store now
-       CERTTYPE=$(printf "0x%08x" 0)
-else
-       if [ "$CORE" == "m3" ]; then
-               if [ -z "$CERTTYPE" ]; then
-                       CERTTYPE=2      # CERT_TYPE_FIRMWARE_IMAGE_BIN
-               fi
-               BOOTCORE=0              # DMSC Controller (M3)
-               BOOTCORE_OPTS=32
-       else
-               CERTTYPE=1              # CERT_TYPE_PRIMARY_IMAGE_BIN
-               BOOTCORE=16             # MCU (R5)
-               BOOTCORE_OPTS=32
-       fi
-fi
-
-if [ -z "$BIN" ]; then
-       echo "Generating bin from elf $ELF"
-       BIN=firmware.bin
-       ${CROSS_COMPILE}objcopy -g -S --gap-fill 0x0 -O binary $ELF $BIN
-       if [ "$?" != "0" ]; then
-               echo "ERROR: Generating bin from $ELF failed. CROSS_COMPILE?"
-               exit 1
-       fi
-fi
-
-SHA_OID=${sha_oids["$SHA"]}
-SHA_VAL=`openssl dgst -$SHA -hex $BIN | sed -e "s/^.*= //g"`
-BIN_SIZE=`cat $BIN | wc -c`
-ADDR=`printf "%08x" $LOADADDR`
-
-# Generate x509 Template
-gen_template() {
-cat << 'EOF' > x509-template.txt
- [ req ]
- distinguished_name     = req_distinguished_name
- x509_extensions        = v3_ca
- prompt                 = no
- dirstring_type         = nobmp
-
- [ req_distinguished_name ]
- C                      = US
- ST                     = SC
- L                      = New York
- O                      = Texas Instruments., Inc.
- OU                     = DSP
- CN                     = Albert
- emailAddress           = [email protected]
-
- [ v3_ca ]
- basicConstraints = CA:true
- 1.3.6.1.4.1.294.1.1 = ASN1:SEQUENCE:boot_seq
- 1.3.6.1.4.1.294.1.2 = ASN1:SEQUENCE:image_integrity
- 1.3.6.1.4.1.294.1.3 = ASN1:SEQUENCE:swrv
-# 1.3.6.1.4.1.294.1.4 = ASN1:SEQUENCE:encryption
- 1.3.6.1.4.1.294.1.8 = ASN1:SEQUENCE:debug
-
- [ boot_seq ]
- certType = INTEGER:TEST_CERT_TYPE
- bootCore = INTEGER:TEST_BOOT_CORE
- bootCoreOpts = INTEGER:TEST_BOOT_CORE_OPTS
- destAddr = FORMAT:HEX,OCT:TEST_BOOT_ADDR
- imageSize = INTEGER:TEST_IMAGE_LENGTH
-
- [ image_integrity ]
- shaType = OID:TEST_IMAGE_SHA_OID
- shaValue = FORMAT:HEX,OCT:TEST_IMAGE_SHA_VAL
-
- [ swrv ]
- swrv = INTEGER:0
-
-# [ encryption ]
-# initalVector = FORMAT:HEX,OCT:TEST_IMAGE_ENC_IV
-# randomString = FORMAT:HEX,OCT:TEST_IMAGE_ENC_RS
-# iterationCnt = INTEGER:TEST_IMAGE_KEY_DERIVE_INDEX
-# salt = FORMAT:HEX,OCT:TEST_IMAGE_KEY_DERIVE_SALT
-
- [ debug ]
- debugUID = 
FORMAT:HEX,OCT:0000000000000000000000000000000000000000000000000000000000000000
- debugType = INTEGER:4
- coreDbgEn = INTEGER:0
- coreDbgSecEn = INTEGER:0
-EOF
-}
-
-gen_cert() {
-       echo "Certificate being generated :"
-       echo "  LOADADDR = 0x$ADDR"
-       echo "  IMAGE_SIZE = $BIN_SIZE"
-       echo "  CERT_TYPE = $CERTTYPE"
-       sed -e "s/TEST_IMAGE_LENGTH/$BIN_SIZE/" \
-               -e "s/TEST_IMAGE_SHA_OID/$SHA_OID/" \
-               -e "s/TEST_IMAGE_SHA_VAL/$SHA_VAL/" \
-               -e "s/TEST_CERT_TYPE/$CERTTYPE/" \
-               -e "s/TEST_BOOT_CORE_OPTS/$BOOTCORE_OPTS/" \
-               -e "s/TEST_BOOT_CORE/$BOOTCORE/" \
-               -e "s/TEST_BOOT_ADDR/$ADDR/" x509-template.txt > $TEMP_X509
-       openssl req -new -x509 -key $KEY -nodes -outform DER -out $CERT -config 
$TEMP_X509 -$SHA
-}
-
-gen_template
-gen_cert
-cat $CERT $BIN > $OUTPUT
-
-echo "SUCCESS: Image $OUTPUT generated."
-
-# Remove all intermediate files
-rm $TEMP_X509 $CERT x509-template.txt
-if [ "$KEY" == "$RAND_KEY" ]; then
-       rm $RAND_KEY
-fi
-
-- 
2.7.4

_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to