#!/bin/sh

# Ce programme est sous licence GPL v2

# Il sert à simplifier la signature de PDF avec TBSSignaturePDF
# voir http://www.tbs-certificats.com/fom-serve/cache/313.html

# usage:
#	pdf-signe fichierpdfasigner.pdf ["raison de la signature"]


# Il vous FAUT adapter les 4 variables ci-dessous

# emplacement du binaire java
JAVABIN=/usr/java/jre1.5.0_08/bin/java
# emplacement du jar (le programme à executer)
MONJAR=/home/tag/bin/TBSSignaturePDF.jar
# emplacement de votre certificat au format PKCS12 avec la clef privée
MONPKCS12=/home/user/cert/tbsx509emailpro-2006.pfx
# valeur par defaut du champ LOCATION, le lieu d'où vous signez
LOCATION="TBS INTERNET - Caen - France"

# param2 avec la raison?
RAISON="${2:-Signé avec TBSSignaturePDF, http://www.tbs-certificats.com/fom-serve/cache/313.html }"

if [ -f "$1" ] ; then
	echo

	# sauvegarde du fichier si pas dejà existant
	if ! [ -f "$1.nosig" ] ; then 
		cp -a "$1" "$1.nosig"
	else
		echo "ATTENTION: backup existe déjà, on va re-signer l'original"
		echo
	fi

	echo $MONPKCS12
	echo -n "Mot de passe du certificat ci-dessus ? "
	read MONPKCSPASS

	if [ -n "$MONPKCSPASS" ] ; then

		if [ -f "$1.nosig" ] ; then
			pushd $(dirname $1.nosig) >/dev/null
			ficorig=$(basename $1.nosig)
			ficres=$(basename $1)

			if ! $JAVABIN -jar $MONJAR -in "$ficorig" -out "$ficres" -pkcs12 "$MONPKCS12" -passwd "$MONPKCSPASS" -location "$LOCATION" -reason "$RAISON"
			then
				echo ECHEC???
			fi
			popd >/dev/null
		else
			echo "ECHEC: impossible de créer le le fichier $1.nosig à signer"
		fi
	else
		echo "ECHEC: il manque le mot de passe"
	fi
else
	echo "ECHEC: pas de fichier"
	echo
	echo "Usage: param1 = fichier PDF à signer"
	echo "       param2 optionnel = raison de la signature, entre guillemets"
fi

