#! /usr/bin/env sh # This program is free software: you can redistribute it and/or modify it under # the terms of the GNU Affero General Public License as published by the Free # Software Foundation, either version 3 of the License, or (at your option) any # later version. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more # details. main() { # Handle opts opts "$@" shift "$OPTS" unset OPTS # Show help [ "$OPT_HELP_ONLY" ] && usage && exit 0 [ -z "$1" ] && usage && exit 1 # Generate fingerprint info for all certificates in question for crt in "$@" do printf "%s: \n" "$crt" for alg in md5 sha1 sha256 do printf " %-8s %s\n" "$alg" "$(fingerprint "$alg" "$crt")" done done } fingerprint() { openssl x509 -noout -fingerprint "-$1" -inform pem -in "$2" \ | awk -F= '{ print $NF }' } opts() { OPTS=0 while getopts ":h" opt do case "$opt" in h) OPT_HELP_ONLY=1 ;; *) printf "Invalid option passed: %s\n" "$OPTARG" >&2 ;; esac done unset opt } usage() { cat <