Repository 32bit  Forum
Repository 64bit  Wiki

engine openssl & php

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
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 dell'ultima regola 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 20: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 12: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 13:30

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

Re: engine openssl & php

Messaggioda michelino » mar nov 09, 2010 10:50

....peccato :-(
Avatar utente
michelino
Staff
Staff
 
Messaggi: 865
Iscritto il: gio dic 21, 2006 12: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: Nessuno e 1 ospite