forked from pool/ca-certificates-mozilla
41 lines
947 B
Plaintext
41 lines
947 B
Plaintext
|
#!/bin/bash
|
||
|
# print fingerprints of new or changed certificates
|
||
|
set -e
|
||
|
cleanup()
|
||
|
{
|
||
|
rm -rf new{,.files} old{,.files}
|
||
|
}
|
||
|
showcert()
|
||
|
{
|
||
|
openssl x509 -in "$1" -noout -subject -fingerprint -nameopt multiline,utf8,-esc_msb \
|
||
|
| sed -ne 's/ *commonName *= / CN: /p; s/.*Fingerprint=/ sha1: /p'
|
||
|
}
|
||
|
cleanup
|
||
|
trap cleanup EXIT
|
||
|
mkdir old new
|
||
|
cd old
|
||
|
echo old...
|
||
|
VERBOSE=1 ../extractcerts.pl < ../.osc/certdata.txt | sort > ../old.files
|
||
|
cd ..
|
||
|
cd new
|
||
|
echo new...
|
||
|
VERBOSE=1 ../extractcerts.pl < ../certdata.txt | sort > ../new.files
|
||
|
cd ..
|
||
|
echo '----------------------------'
|
||
|
while read line; do
|
||
|
IFS='#' eval set -- \$line
|
||
|
old="$1"
|
||
|
new="$2"
|
||
|
common="$3"
|
||
|
if [ -n "$old" ]; then
|
||
|
echo "$old has been deleted"
|
||
|
elif [ -n "$new" ]; then
|
||
|
echo "new: $new"
|
||
|
showcert new/$new
|
||
|
elif ! cmp "old/$common" "new/$common"; then
|
||
|
echo "*** $common differs!"
|
||
|
showcert old/$common
|
||
|
showcert old/$common
|
||
|
fi
|
||
|
done < <(comm --output-delimiter='#' old.files new.files)
|