Pagina 1 di 1

engine openssl & php

Inviato: mar 19 ott 2010, 20:03
da michelino
Domanda da niubbo:
è possibile fare caricare gli "engine" di openssl per utilizzarli nelle relative funzioni php?

Mi spiego:
ho uno script bash del genere, che uso per firmare i miei documenti con la smartcard di infocert

Codice: Seleziona tutto

#!/bin/sh

TMP=/tmp
PKCS11TMPFILE=${TMP}/pkcs11tmpfile.txt
PKCS15TMPFILE=${TMP}/pkcs15tmpfile.txt
TMPCERT=${TMP}/tempcert.txt
PATH_LIBRERIA=/usr/lib64/libbit4ipki.so
PATH_ENGINE=/usr/lib64/engines/engine_pkcs11.so
INPUTFILE=${1}

if [ -z ${2} ]; then
    OUTPUTFILE=$INPUTFILE
else
    OUTPUTFILE=${2}
fi

# Estraiamo il certificato della smartcard
pkcs15-tool -c --no-cache 2&> $PKCS15TMPFILE

PKCS15_ID=$(grep ID $PKCS15TMPFILE | tail -n 1 | cut -d ":" -f 2)

pkcs15-tool -r $PKCS15_ID 2&> $TMPCERT 

CERTIFICATO=$TMPCERT

#individuare "-inkey":
pkcs11-tool --module=$PATH_LIBRERIA -O 2&> $PKCS11TMPFILE

INKEY=$(grep ID $PKCS11TMPFILE | tail -n 1 | cut -d ":" -f 2)


#comandi openssl
echo -e   "engine -t dynamic -pre SO_PATH:${PATH_ENGINE} -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:${PATH_LIBRERIA} \n
          smime -nodetach -binary -outform DER -sign -signer ${CERTIFICATO}  -inkey ${INKEY} -keyform engine -engine pkcs11 -in ${INPUTFILE}  -out ${OUTPUTFILE}.p7m \
          q " | openssl
          
echo -e "\n"

# Eliminiamo tutti i files temporanei
rm -rf \
$PKCS11TMPFILE \
$PKCS15TMPFILE \
$TMPCERT
Tralasciando la prima parte, per firmare il documento uso il pipe

Codice: Seleziona tutto

echo -e   "engine -t dynamic -pre SO_PATH:${PATH_ENGINE} -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:${PATH_LIBRERIA} \n
          smime -nodetach -binary -outform DER -sign -signer ${CERTIFICATO}  -inkey ${INKEY} -keyform engine -engine pkcs11 -in ${INPUTFILE}  -out ${OUTPUTFILE}.p7m \
          q " | openssl
con cui carico l'engine "engine_pkcs11" utilizzando le librerie specifiche (proprietarie) per il mio token.

È possibile dire a php di utilizzare "openssl_pkcs7_sign()" con l'engine "engine_pkcs11" e le librerie specifiche, analogamente a quanto faccio da riga di comando?
Spero di essermi spiegato, e di non aver chiesto un'assurdità completa.

Re: engine openssl & php

Inviato: ven 5 nov 2010, 12:30
da sbabaro
su queste cose ci ho giocato un pò, e non sono mai riuscito a caricare engine in php

Re: engine openssl & php

Inviato: mar 9 nov 2010, 9:50
da michelino
....peccato :-(