hash.sh returns just the sha256sum of its input file checkhash.sh uses ha.sh to get the sha256sum of its first argument and then validates that the checksum matches the value provided in its second argument hash.sh isn't currently fully portable since sha256sum isn't present by default on macOS, but it provides a single point around which we can do hashing to validate checksums Signed-off-by: Ashley Davis <ashley.davis@jetstack.io>
28 lines
900 B
Bash
Executable File
28 lines
900 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Copyright 2021 The cert-manager Authors.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
set -eu -o pipefail
|
|
|
|
# This script takes the hash of its first argument and verifies it against the
|
|
# hex hash given in its second argument
|
|
|
|
SHASUM=$(./hack/util/hash.sh "$1")
|
|
|
|
if [ $SHASUM != "$2" ]; then
|
|
echo "invalid checksum for \"$1\": wanted \"$2\" but got \"$SHASUM\""
|
|
exit 1
|
|
fi
|