#!/bin/sh # # redo the hashes for the certificates in your cert path or the ones passed # on the command line. # if [ "$SSLEAY"x = "x" -o ! -x $SSLEAY ]; then SSLEAY='ssleay' export SSLEAY fi DIR=/usr/local/ssl PATH=$DIR/bin:$PATH SSL_DIR=$DIR/certs if [ "$*" = "" ]; then CERTS=${*:-${SSL_CERT_DIR:-$SSL_DIR}} else CERTS=$* fi IFS=': ' for i in $CERTS do ( IFS=' ' if [ -d $i -a -w $i ]; then cd $i echo "Doing $i" for i in *.pem do if [ $i != '*.pem' ]; then h=`$SSLEAY x509 -hash -noout -in $i` if [ "x$h" = "x" ]; then echo $i does not contain a certificate else if [ -f $h.0 ]; then /bin/rm -f $h.0 fi echo "$i => $h.0" ln -s $i $h.0 fi fi done fi ) done