summaryrefslogtreecommitdiff
path: root/meta-quanta/meta-gbs/recipes-gbs/gbs-bmc-update/files/bmc-verify.sh
blob: d45105dbece83eaa387c6c19a6a43269c1177ab6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh

sigfile="/tmp/bmc.sig"
imagebmc="/run/initramfs/image-bmc"
bmcimage="/run/initramfs/bmc-image"
publickey="/etc/activationdata/OpenBMC/publickey"
bmclog="/tmp/update-bmc.log"

if [ -f $publickey ];then
    r="$(openssl dgst -verify $publickey -sha256 -signature $sigfile $bmcimage)"
    echo "$r" > $bmclog
    if [ "Verified OK" = "$r" ]; then
        mv $bmcimage $imagebmc
        rm -f $sigfile
        exit 0
    else
        exit 1
    fi
else
    echo "No $publickey file" > $bmclog
    exit 1
fi