236 lines
5.7 KiB
Plaintext
Executable File
236 lines
5.7 KiB
Plaintext
Executable File
EUTRON
|
|
|
|
Internet : http://www.smartkey.eutron.it
|
|
Helpdesk email : helpdesk@eutron.it
|
|
Commercial email : info@eutron.it
|
|
Commercial phone : 035697080
|
|
Fax : 035697092
|
|
|
|
|
|
SmartKey Parallel and USB driver for Linux
|
|
------------------------------------------
|
|
|
|
Questo driver funziona per kernel dal 2.4.21-144 (Suse 9) compilato con gcc-3.2.3
|
|
|
|
Il pacchetto fornisce un'interfaccia tra i programmi scritti in
|
|
linguaggio C e il driver della chiave SMARTKEY. L'interfaccia e`
|
|
completamete compatibile con quella disponibile in ambiente MS-DOS.
|
|
Questo permette un facile trasporto in ambiente Unix dei programmi
|
|
sviluppati per il sistema operativo MS-DOS.
|
|
|
|
|
|
CONTENUTO
|
|
---------
|
|
|
|
Il pacchetto e` costituito dai seguenti file:
|
|
|
|
clink.o
|
|
Costituisce l'interfaccia tra le applicazioni in linguaggio C e
|
|
il driver della chiave SMARTKEY.
|
|
|
|
clink.h
|
|
Definisce la struttura dell'interfaccia di clink.o. Deve essere
|
|
incluso nei file C che utilizzano la chiave SMARTKEY.
|
|
|
|
smartdem.c
|
|
Esempio di utilizzo della chiave SMARTKEY scritto in linguaggio C.
|
|
|
|
smartdem
|
|
Forma eseguibile del programma esempio.
|
|
|
|
skey*.o
|
|
Driver della chiave
|
|
|
|
skinstall
|
|
Script per l'installazione automatica
|
|
|
|
skuninstall
|
|
Script per la disinstallazione automatica
|
|
|
|
skeyver
|
|
Utility per impostare la versione del kernel nel modulo skey.o
|
|
|
|
|
|
SUPPORTO USB
|
|
------------
|
|
|
|
Il driver SmartKey, come ogni altro driver USB, richiede che i moduli
|
|
USB del kernel siano caricati ed attivi. Generalmente questo si puo'
|
|
ottenere con i comandi :
|
|
|
|
insmod usbcore
|
|
insmod usb-uhci
|
|
|
|
per PC con con USB controller UHCI di Intel, VIA, ...
|
|
|
|
insmod usbcore
|
|
insmod usb-ohci
|
|
|
|
per PC con un USB controller OHCI di Compaq, iMacs, OPTi, SiS, ALi...
|
|
|
|
|
|
AGGIORNAMENTO
|
|
-------------
|
|
|
|
Per aggiornare i precedenti driver SmartKey e' necessario rilinkare la
|
|
propria applicazione con il nuovo oggetto clink.o.
|
|
|
|
Se questo non viene effettuato, l'applicazione sara' in grado di funzionare
|
|
solo con la prima chiave USB inserita e solo con le chiavi parallele
|
|
agli indirizzi 0x3BC e 0x378. Si perderebbe l'uso della porta parallela
|
|
all'indirizzo 0x278 sostituito con la prima chiave USB.
|
|
|
|
|
|
INSTALLAZIONE AUTOMATICA
|
|
------------------------
|
|
|
|
Avviare lo script skinstall con i permessi di root con i comandi:
|
|
|
|
chmod a+x skinstall
|
|
./skinstall
|
|
|
|
L'installazione prevede la configurazione del sistema per il caricamento
|
|
automatico del modulo SmartKey al primo utilizzo.
|
|
|
|
Per disinstallare il driver utilizzare invece i comandi:
|
|
|
|
chmod a+x skuninstall
|
|
./skuninstall
|
|
|
|
Ad ogni cambiamento di versione del kernel e' necessaria una reinstallazione.
|
|
|
|
Per avviare il l'applicazione di demo utilizzare i comandi :
|
|
|
|
chmod a+x smartdem
|
|
./smartdem
|
|
|
|
|
|
|
|
INSTALLAZIONE MANUALE
|
|
---------------------
|
|
|
|
Per installare il driver si segua la procedura seguente:
|
|
|
|
1) Entrare nel sistema come super-user.
|
|
|
|
2) Posizionarsi nel direttorio /dev con il comando:
|
|
|
|
cd /dev
|
|
|
|
creare i file di accesso alla chiave mediante i comandi:
|
|
|
|
mknod skey0 c 59 0
|
|
mknod skey1 c 59 1
|
|
mknod skey2 c 59 2
|
|
mknod skey3 c 59 3
|
|
mknod skey4 c 59 4
|
|
mknod skey5 c 59 5
|
|
|
|
e cambiare le proprieta` e il gruppo dei file mediante i comandi:
|
|
|
|
chmod 666 skey?
|
|
chgrp daemon skey?
|
|
|
|
3) Identificare il driver per la propria configurazione. Ci sono varie
|
|
possibilita':
|
|
|
|
skey_R.o Kernel monoprocessore con le informazioni
|
|
di versione
|
|
skey_Rsmp_.o Kernel multiprocessore con le informazioni
|
|
di versione
|
|
skey_Rsmp.o Kernel multiprocessore con le informazioni
|
|
di versione specifico per RedHat
|
|
skey.o Kernel monoprocessore senza le informazioni
|
|
di versione
|
|
|
|
Un semplice test e' il comando :
|
|
|
|
grep printk /proc/ksyms
|
|
|
|
e dato l'output :
|
|
|
|
... printk_R1b7d4074 driver skey_R.o
|
|
... printk_Rsmp_1b7d4074 driver skey_Rsmp_.o
|
|
... printk_Rsmp1b7d4074 driver skey_Rsmp.o
|
|
altro driver skey.o
|
|
|
|
Rinominare quindi il driver identificato con il nome skey.o
|
|
|
|
4) Configurare il modulo skey.o con la versione di kernel corrente:
|
|
|
|
chmod a+x skeyver
|
|
./skeyver skey.o
|
|
|
|
5) Il driver skey.o e` sotto forma di modulo caricabile dinamicamente.
|
|
Quindi, prima di essere utilizzato, deve essere caricato con il comando:
|
|
|
|
insmod skey
|
|
|
|
6) Per configurare il driver per il caricamento automatico al primo
|
|
utilizzo effettuare le seguenti operazioni:
|
|
|
|
6.1) Aggiungere la riga:
|
|
|
|
alias char-major-59 skey
|
|
|
|
in fondo al file /etc/conf.modules
|
|
|
|
6.2) Copiare il file skey.o nella directory /lib/modules/KERNELVERSION/misc,
|
|
dove KERNELVERSION e' la versione del kernel.
|
|
La versione del kernel viene mostrata con il comando :
|
|
|
|
uname -r
|
|
|
|
6.3) Aggiornare le dipendenze dei moduli con il comando:
|
|
|
|
depmod -a
|
|
|
|
6.4) Scaricare dalla memoria una eventuale copia del driver con il comando:
|
|
|
|
rmmod skey
|
|
|
|
e verificare il caricamento automatico del modulo con il comando:
|
|
|
|
modprobe skey
|
|
|
|
L'assenza di messaggi di errore indica che il caricamento
|
|
e' avvenuto.
|
|
|
|
|
|
UTILIZZO
|
|
--------
|
|
|
|
Per utilizzare l'interfaccia clink.o e` necessario copiare il file nel
|
|
direttorio di lavoro e collegarlo agli altri file oggetto costituenti il
|
|
programma da proteggere. Nei file del programma applicativo che
|
|
utilizzano il modulo clink.o e` necessario includere il file clink.h.
|
|
|
|
|
|
CONFIGURAZIONE
|
|
--------------
|
|
|
|
Se si sta utilizzando una porta Parallela PCI che usa un indirizzo di IO
|
|
non standard, e' necessario specificare l'indirizzo effettivo di IO
|
|
della porta con l'argomento "port" del modulo.
|
|
|
|
L'argomento accetta fino a tre valori separati da virgole. I valori di
|
|
default sono 0x378, 0x278, 0x3bc.
|
|
|
|
Per esempio :
|
|
|
|
insmod skey port=0x800
|
|
|
|
o
|
|
|
|
insmod skey port=0x800,0x810,0x820
|
|
|
|
|
|
Su sistemi con bus usb OHCI (Open Host Controller Interface),
|
|
generalmenti presenti su tutte le schede aggiuntive PCI USB, e'
|
|
necessario aggiungere l'argomento "fastusb=0"
|
|
|
|
Per esempio :
|
|
|
|
insmod skey fastusb=0
|
|
|