Repository 32bit  Forum
Repository 64bit  Wiki

engine openssl & php

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

engine openssl & php

Messaggioda michelino » mar ott 19, 2010 19:03

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.
Avatar utente
michelino
Staff
Staff
 
Messaggi: 865
Iscritto il: gio dic 21, 2006 11:59
Località: Foggia
Nome Cognome: Michelino Chionchio
Slackware: -current
Kernel: 2.6.29.6
Desktop: kde (current)

Re: engine openssl & php

Messaggioda sbabaro » ven nov 05, 2010 12:30

su queste cose ci ho giocato un pò, e non sono mai riuscito a caricare engine in php
sbabaro
Packager
Packager
 
Messaggi: 388
Iscritto il: gio set 08, 2005 23:00
Slackware: slack 12.1
Kernel: 2.6.26 ricompilato
Desktop: gslacky

Re: engine openssl & php

Messaggioda michelino » mar nov 09, 2010 9:50

....peccato :-(
Avatar utente
michelino
Staff
Staff
 
Messaggi: 865
Iscritto il: gio dic 21, 2006 11:59
Località: Foggia
Nome Cognome: Michelino Chionchio
Slackware: -current
Kernel: 2.6.29.6
Desktop: kde (current)


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Google [Bot] e 1 ospite