swupdate-enc.bbclass 789 B

1234567891011121314151617181920212223
  1. #
  2. # The key must be generated as described in doc
  3. # with
  4. # openssl enc -aes-256-cbc -k <PASSPHRASE> -P -md sha1 -nosalt
  5. # The file is in the format
  6. # key=
  7. # iv=
  8. # parameters: $1 = input file, $2 = output file
  9. swu_encrypt_file() {
  10. input=$1
  11. output=$2
  12. key=`cat ${SWUPDATE_AES_FILE} | grep ^key | cut -d '=' -f 2`
  13. iv=`cat ${SWUPDATE_AES_FILE} | grep ^iv | cut -d '=' -f 2`
  14. if [ -z ${key} ] || [ -z ${iv} ];then
  15. bbfatal "SWUPDATE_AES_FILE=$SWUPDATE_AES_FILE does not contain valid keys"
  16. fi
  17. openssl enc -aes-256-cbc -in ${input} -out ${output} -K ${key} -iv ${iv} -nosalt
  18. }
  19. CONVERSIONTYPES += "enc"
  20. CONVERSION_DEPENDS_enc = "openssl-native coreutils-native"
  21. CONVERSION_CMD_enc="swu_encrypt_file ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.enc"