#!/usr/bin/env bash
KEY="$1"
if [ -z ${KEY} ]; then
echo "usage: $0 <key>"
echo
exit 1
fi
MODE=""
openssl x509 -in "${KEY}" > /dev/null 2> /dev/null
if [ $? -eq 0 ]; then
MODE="CRT"
fi
openssl rsa -in "${KEY}" > /dev/null 2> /dev/null
if [ $? -eq 0 ]; then
MODE="KEY"
fi
if [ "$MODE" == "CRT" ]; then
SHA256=$(openssl x509 -in "${KEY}" -pubkey -noout | openssl rsa -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64)
fi
if [ "$MODE" == "KEY" ]; then
SHA256=$(openssl rsa -in "${KEY}" -outform der -pubout | openssl dgst -sha256 -binary | openssl enc -base64)
fi
echo "$SHA256"
Comments