#!/bin/bash
#
# YACHT (Yet Another CA How To) Placed in public domain. RLamb 2019
#
read -p "NEW CKA_ID: " kid
lst=`./hcardshow 2>/dev/null | grep ID | cut -f2 -d':' | sort -u`
for i in $lst; do
    if [ "$i" = "$kid" ]; then
	echo "$kid CKA_ID in use. Choose another."
	exit 0
    fi
done
read -s -p "HSM PIN: " PKCS11_LIBRARY_PIN
echo ""
dt=`date -u +%Y%m%d%H%M%S`
#ckalabel="rsa2048.$dt"
#echo "Generating 2048 bit RSA CKA_ID=$kid CKA_LABEL=$ckalabel"
#keytype="rsa:2048"
#
ckalabel="ec256.$dt"
echo "Generating prime256v1 EC CKA_ID=$kid CKA_LABEL=$ckalabel"
keytype="EC:prime256v1"
#
pkcs11-tool -l --pin $PKCS11_LIBRARY_PIN --keypairgen --key-type $keytype --label "$ckalabel" --id $kid
#
