certificate-pinning

Von admin , 15 Juli 2025

 

#!/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