Newsgroup: it.comp.www.php
Titolo: php e smart card

ciao, avrei bisogni d'interagire con una smart card. Leggere e scrivere dei 
dati. Sulla base di questi, interagire con un database MySQL.
L'accesso alle smart card l'avete mai fatto con PHP?


dod configuration x firefox dai un occhiata li

 L'accesso alle smart card l'avete mai fatto con PHP?
Non � chiaro: la smartcard � collegata al server e la devi usare per 
firmare/cifrare o qualcosa del genere o sono gli utenti che devono usare 
  una smartcard per interagire con il servizio?
Nel primo caso, devi usare le funzioni del gruppo openssl configurando 
la libreria OpenSSL per accedere alla smartcard (personalmente, cos� non 
l'ho mai fatto). Di solito, hai bisogno del driver PKCS#11 del lettore.
Nel secondo, � il browser che si smazza l'accesso alla smartcard e al 
server non importa da che dispositivo arrivano i dati. Se il lettore � 
installato con i driver Windows, IE la vede automaticamente, Firefox e 
altri hanno comunque bisogno del driver PKCS#11.
Ciao.

 altri hanno comunque bisogno del driver PKCS#11.
il caso � il secondo. Ogni utente ha una smart card, sulla base degli 
accessi l'applicazione scrive qualcosa sul db.
Non ho capito in che senso il browser gestisce l'accesso.
hai qualche link?
grazie 

giovanni ha scritto:

I browser (e in generale le applicazioni con funzioni SSL) usano un 
archivio, chiamato keystore o simili, dove registrano i certificati e le 
chiavi private. In tutti i browser pi� completi, il keystore pu� essere 
software (un file o una directory) e hardware (una smartcard o un token 
USB). Per i dispositivi hardware � necessario disporre degli appositi 
driver, che sono quelli per Windows per IE (Windows fornisce un keystore 
unico a livello di sistema) o conformi allo standard PKCS#11 per Firefox 
e altri che usano le librerie NSS o OpenSSL.
Una volta che il browser � in grado di accedere alle chiavi, non importa 
dove siano registrate, gli attributi del relativo certificato vengono 
passati al server nella negoziazione HTTP. L'applicazione PHP usa poi 
questi valori per quel che gli occorre.
Da dove vengono presi i valori non ha importanza (a questo livello), 
sono i moduli SSL del browser e del server che si occupano della 
reciproca autenticazione.
L'elenco dei valori �:
 
http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#envvars
Quali ti servano, dipende dall'uso che ne devi fare.
Per poterli leggere, occorre che:
- che la connessione sia su HTTPS (e tutto sia configurato a modo)
- che sia richiesta l'autenticazione SSL del client, con
   SSLVerifyClient require
- di conseguenza, che ci siano i certificati root che autenticano gli utenti
- che Apache passi i dati a PHP con
   SSLOptions +StdEnvVars
A questo punto, i dati del certificato li leggi con normali accessi alla 
superglobal $_SERVER. Ad esempio, per avere il DN dell'intestatario del 
certificato, usi:
   $dn = $_SERVER['SSL_CLIENT_S_DN'];
Tra l'altro, questa situazione ti permette usare per i test dei 
certificati fai-da-te su file, senza bisogno di smartcard, mentre far 
funzionare le card pu� essere delegato ai sistemisti.
Ciao.

 ha scritto nel messaggio 
news:hgoqmh$8ag$1...@aioe.org...

grazie. Non riesco a scaricarlo, e il sito di riferimento non � 
raggiugibile. riprovo fra qualche giorno
grazie intanto

giovanni ha scritto:

Io temo che non abbia nulla a che fare con quel che ti serve...

 Ciao.
Ringrazio tantissimo per il tuo messaggio.
Pur non essendo interessato alla questione, � stata una piacevole 
lettura su di un argomento che non conoscevo molto bene.
Grazie ancora e buone feste

>
grazie a tutti per le informazioni. Pianpiano me le studio e poi vediamo.
grazie e ciao