Linux Mind Italia

  • Venerdì 18 Ottobre 2019, 03:00:07
  • Benvenuto, Visitatore
Effettua l'accesso o una nuova registrazione.

Inserisci il nome utente, la password e la durata della sessione.
Ricerca avanzata

News:

Rilasciata Debian 10 "buster" < clicca qui >

collapse

* Canale Telegram

Canale informativo di riserva:
Linuxminditalia
https://t.me/linuxmind

* Mind-chat

Refresh History
  • bobol: :ciao:  orsù dunque
    Mercoledì 16 Ottobre 2019, 17:15:13
  • Cavaleri Omar: Ehilà!!!
    Mercoledì 16 Ottobre 2019, 07:54:54
  • bobol: :mago:
    Lunedì 14 Ottobre 2019, 22:24:01
  • bobol: :ciao:
    Lunedì 14 Ottobre 2019, 06:53:31
  • bobol: Ciao Dani bentrovato  :ciao:
    Sabato 12 Ottobre 2019, 08:40:07
  • bobol: Qualche respiro lo tiriamo ancora...... :) Quando al login avrai il messaggio 404 allora puoi andare a prendere un mazzetto di fiori  ;D
    Sabato 12 Ottobre 2019, 08:38:48
  • danialbi: un saluto a tutti. sono di passaggio, c'e' ancora vita qui?
    Sabato 12 Ottobre 2019, 01:05:49
  • cuzzo: bau
    Venerdì 11 Ottobre 2019, 11:14:12
  • cuzzo: noche
    Giovedì 10 Ottobre 2019, 22:38:42
  • cuzzo: aloa
    Giovedì 10 Ottobre 2019, 20:11:56
  • JonnyBarbun87: Ciao a tutti, ragazzi :D
    Giovedì 10 Ottobre 2019, 15:20:47
  • bobol: :ciao:
    Giovedì 10 Ottobre 2019, 11:35:24
  • bobol: :coffee:
    Martedì 08 Ottobre 2019, 06:07:59
  • TheBaron: :ciao:
    Domenica 06 Ottobre 2019, 01:23:07
  • cuzzo: aloa
    Venerdì 04 Ottobre 2019, 11:42:36
  • bobol: :ciao: ciao Roby puoi passare nella sezione presentazioni per un saluto generale a tutti gli utenti  ;)
    Venerdì 04 Ottobre 2019, 11:18:19
  • Roby: ciao a tutti
    Martedì 01 Ottobre 2019, 21:58:02
  • bobol: :ciao: buondì
    Martedì 01 Ottobre 2019, 06:59:22
  • bobol: :ciao:
    Domenica 29 Settembre 2019, 15:03:46
  • Tony: :ciao:
    Domenica 29 Settembre 2019, 13:35:26
  • mortaretto: buona domeniica pinguini  :ciao:
    Domenica 29 Settembre 2019, 12:41:51
  • bobol: buona domenica  :ciao:
    Domenica 29 Settembre 2019, 09:19:22
  • Tony: :coffee:
    Domenica 29 Settembre 2019, 07:26:02
  • bobol: :coffee:
    Sabato 28 Settembre 2019, 08:57:05
  • bobol: :ciao:
    Giovedì 26 Settembre 2019, 18:25:12
  • bobol: ;)
    Mercoledì 25 Settembre 2019, 11:47:23
  • Cavaleri Omar: Buondì...
    Mercoledì 25 Settembre 2019, 10:14:41
  • bobol: Come ieri ma...nebbioso.... :coffee:
    Martedì 24 Settembre 2019, 06:47:46
  • bobol: Buonanotte  :)
    Lunedì 23 Settembre 2019, 22:03:09
  • bobol: ...e buonasera  :ciao:
    Lunedì 23 Settembre 2019, 17:12:39

* Utenti On Line

  • Dot Visitatori: 28
  • Dot Nascosti: 0
  • Dot Utenti: 0

There aren't any users online.

Autore Topic: Modificare il file crslinux.sh per usare il lettore di carte per firma digitale  (Letto 138 volte)

massimostringhi

  • New Mind
  • *
  • Offline Offline
  • Post: 3
  • Distro: Linux Mint 19.2

Buongiorno a tutti,
uso linux mint da diversi anni, almeno otto (ora ho la Mint 19.2 a 64bit), ma non sono esperto e vi chiedo un aiuto perchè ho bisogno di usare un lettore di carte per la firma digitale.
Ho seguito le istruzioni sul sito della regione lombardia, sono ad un empasse, credo che dopo funzionerà tutto.
Praticamente devo modificare il file "crslinux.sh" con le istruzioni date ma non sono capace, vi scrivo qui sotto le istruzioni, la schermata del terminale che mi hanno richiesto e il file da modificare.

se siete così gentili da rispondermi con il file modificato ve ne sarei molto grato!!!

Codice: [Seleziona]
***istruzioni***
Rev. 04 – Manuale d’uso CRS Manager
Pagina 21 di 68LOMBARDIA INFORMATICA S.p.A.
Classificazione:pubblico

Alcune nuove distribuzioni Linux hanno modificato il percorso dove la java virtual machine si aspetta di trovare
la shared object che consente di accedere al lettore e questo fa sì che ad ogni tentativo di firma, cambio o
sblocco pin si ottenga l'errore "Nessun lettore trovato".
Per ovviare a questo è necessario modificare il file crsLinux.sh nel folder /opt/CRSManager/bin/ inserendo la property:
-Dsun.security.smartcardio.library=/lib/i386-linux-gnu/libpcsclite.so.1
Esempio:
java -Dsun.security.smartcardio.library=/lib/libpcsclite.so.1 -classpath.....
Per reperire il path corretto della s.o. libpcsclite, eseguire il comando:
sudo locate libpcsclite.so.1
Ed eventualmente far ripartire il servizio pscd. Il percorso ed i comandi indicati sono riferiti alla versione Ubuntu 13.04 a
32 bit.


     
Codice: [Seleziona]
***da terminale scrivo: sudo locate libpcsclite.so.1***
massimo@massimo-Aspire-5742G:~$ sudo locate libpcsclite.so.1
[sudo] password di massimo:     
/home/timeshift/snapshots/2019-09-26_21-00-01/localhost/usr/lib/x86_64-linux-gnu/libpcsclite.so.1
/home/timeshift/snapshots/2019-09-26_21-00-01/localhost/usr/lib/x86_64-linux-gnu/libpcsclite.so.1.0.0
/usr/lib/x86_64-linux-gnu/libpcsclite.so.1
/usr/lib/x86_64-linux-gnu/libpcsclite.so.1.0.0
massimo@massimo-Aspire-5742G:~$




   
Codice: [Seleziona]
  ***file crsLinux.sh***

#!/bin/bash

# Creazione e modifica di crsManager.properties
if [ ! -f $HOME/.crsmanager/crsManager.properties ]
  then
mkdir $HOME/.crsmanager
        cp /opt/CRSManager/prop/crsManager.properties $HOME/.crsmanager/
echo file.chooser.directory=$HOME >> $HOME/.crsmanager/crsManager.properties
fi

VERSION=`cat $HOME/.crsmanager/crsManager.properties | grep product.version`
if [ "$VERSION" == "" ]
  then
    echo "log.enabled=true
proxy.username=
product.version=4.8.00
auto.update=true
proxy.enabled=false
sign.cades=true
proxy.password=
proxy.host=
data.xml.digit.pa=2013-09-30T14\:17\:05+02\:00
auto.update.ca=true
digitpa.xml.url=https://applicazioni.cnipa.gov.it/TSL/IT_TSL_CNS.xml
file.chooser.directory=$HOME
proxy.port=" > $HOME/.crsmanager/crsManager.properties
   
fi

LBITS=`getconf LONG_BIT`
LIB=`cat $HOME/.crsmanager/crsManager.properties | grep path.library`

if [ $LBITS = '64' ]
then
    if [ "$LIB" == "" ]
then
if [ -f /usr/lib/opensc-pkcs11.so ]
             then
              echo "path.library=/usr/lib/opensc-pkcs11.so" >> $HOME/.crsmanager/crsManager.properties
fi

if [ -f /usr/lib64/opensc-pkcs11.so ]
             then
              echo "path.library=/usr/lib64/opensc-pkcs11.so" >> $HOME/.crsmanager/crsManager.properties
        fi

if [ -f /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so ]
             then
              echo "path.library=/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so" >> $HOME/.crsmanager/crsManager.properties
        fi
   fi

else
    if [ "$LIB" == "" ]
        then
if [ -f /usr/lib/bit4id/libbit4spki.so ]
     then
      echo "path.library=/usr/lib/bit4id/libbit4spki.so" >> $HOME/.crsmanager/crsManager.properties
fi

if [ -f /usr/lib/opensc-pkcs11.so ]
     then
      echo "path.library=/usr/lib/opensc-pkcs11.so" >> $HOME/.crsmanager/crsManager.properties
fi

if [ -f /usr/lib/i386-linux-gnu/opensc-pkcs11.so ]
             then
              echo "path.library=/usr/lib/i386-linux-gnu/opensc-pkcs11.so" >> $HOME/.crsmanager/crsManager.properties
        fi

if [ -f /usr/lib/i386-linux-gnu/bit4id/libbit4spki.so ]
             then
              echo "path.library=/usr/lib/i386-linux-gnu/bit4id/libbit4spki.so" >> $HOME/.crsmanager/crsManager.properties
        fi

    fi
fi


# controllo se valorizzato correttamente
LIB=`cat $HOME/.crsmanager/crsManager.properties | grep path.library`
if [ "$LIB" == "" ]
  then
echo "Errore: non e' presente il software CRS per l'accesso alla smartcard."
        echo "E' possibile configurare manualmente il file:"
        echo "$HOME/.crsmanager/crsManager.properties"
        echo "indicandone in path.library il percorso (es. path.library=/usr/lib/opensc-pkcs11.so)"
echo ""
        exit 0 
fi

# lancia l'esecuzione in base all'architettura del s.o.
cd /opt/CRSManager/bin

if [ $LBITS = 32 ]
then
java -classpath ../lib/iaik_jce_full.jar:../lib/commons-httpclient-2.0-beta2.jar:../lib/ldap.jar:../lib/firmacns.jar:../lib/bcmail-jdk16-146.jar:../lib/bcprov-jdk16-146.jar:../lib/iaikPkcs11Wrapper.jar:../lib/sissweb.jar:../lib/jdom.jar:../lib/iaik_cms.jar:../lib/iaikPkcs11Provider.jar: -Djava.library.path=../iaik_so32 it.lisit.smartcard.gui.CRSManagerGui &
  else
  java -classpath ../lib/iaik_jce_full.jar:../lib/commons-httpclient-2.0-beta2.jar:../lib/ldap.jar:../lib/firmacns.jar:../lib/bcmail-jdk16-146.jar:../lib/bcprov-jdk16-146.jar:../lib/iaikPkcs11Wrapper.jar:../lib/sissweb.jar:../lib/jdom.jar:../lib/iaik_cms.jar:../lib/iaikPkcs11Provider.jar: -Djava.library.path=../iaik_so64 it.lisit.smartcard.gui.CRSManagerGui &
fi

---------------------------------------
grazie mille!!

Massimo
« Ultima modifica: Sabato 05 Ottobre 2019, 18:36:47 da Tony »
Connesso

midnite

  • Staff
  • Legend Mind
  • ******
  • Offline Offline
  • Post: 12662
Re:Come modificare un file .sh
« Risposta #1 il: Giovedì 03 Ottobre 2019, 18:15:21 »

Ciao, sono col cel e mi trovo un po in difficoltà col verificare e modificare il file... Posso però provare ad indicarti come procedere:
Fai uma copia di backup del file da modificare
Codice: [Seleziona]
cd /opt/CRSManager/bin/
sudo cp crsLinux.sh crsLinux.sh.old
E a questo punto lo apri in modifica col tuo editor
Codice: [Seleziona]
sudo xed crsLinux.she modidichi il percorso vecchio con quello che hai trovato tu:
Codice: [Seleziona]
/usr/lib/x86_64-linux-gnu/libpcsclite.so.1
Ma non ci sono iatruzioni più aggiornate? Quelle fanno riferimento a ubuntu del 2013 (nemmeno una LTS)

andrea111

  • Sr. Mind
  • ****
  • Offline Offline
  • Post: 1011
  • Distro: ubuntu 16.04
Re:Come modificare un file .sh
« Risposta #2 il: Sabato 05 Ottobre 2019, 15:44:33 »

In effetti le istruzioni che danno sono un po' "stringate".

Il riferimento che danno riguarda le linee che iniziani con "java".

Io lo interpreto così:
individuare le righe in crsLinux.sh che inizano con "java", ne vedo due in fondo, queste
Citazione
java -classpath ../lib/iaik_jce_full.jar:../lib/commons-httpclient-2.0-beta2.jar:../lib/ldap.jar:../lib/firmacns.jar:../lib/bcmail-jdk16-146.jar:../lib/bcprov-jdk16-146.jar:../lib/iaikPkcs11Wrapper.jar:../lib/sissweb.jar:../lib/jdom.jar:../lib/iaik_cms.jar:../lib/iaikPkcs11Provider.jar: -Djava.library.path=../iaik_so32 it.lisit.smartcard.gui.CRSManagerGui &
che riguarda i sistemi a 32 bit, e
Citazione
java -classpath ../lib/iaik_jce_full.jar:../lib/commons-httpclient-2.0-beta2.jar:../lib/ldap.jar:../lib/firmacns.jar:../lib/bcmail-jdk16-146.jar:../lib/bcprov-jdk16-146.jar:../lib/iaikPkcs11Wrapper.jar:../lib/sissweb.jar:../lib/jdom.jar:../lib/iaik_cms.jar:../lib/iaikPkcs11Provider.jar: -Djava.library.path=../iaik_so64 it.lisit.smartcard.gui.CRSManagerGui &
che riguarda i sistemi a 64 bit.

Seguendo le stringate istruzioni che danno, dovresti aggiungere dopo il "java" iniziale quello che loro hanno indicato, cioè farle diventare così:
la prima riga
Codice: [Seleziona]
java -Dsun.security.smartcardio.library=/usr/lib/i386-linux-gnu/libpcsclite.so.1 -classpath ../lib/iaik_jce_full.jar:../lib/commons-httpclient-2.0-beta2.jar:../lib/ldap.jar:../lib/firmacns.jar:../lib/bcmail-jdk16-146.jar:../lib/bcprov-jdk16-146.jar:../lib/iaikPkcs11Wrapper.jar:../lib/sissweb.jar:../lib/jdom.jar:../lib/iaik_cms.jar:../lib/iaikPkcs11Provider.jar: -Djava.library.path=../iaik_so32 it.lisit.smartcard.gui.CRSManagerGui & per il 32 bit
e nella successiva, per i 64 bit:
Codice: [Seleziona]
java -Dsun.security.smartcardio.library=/usr/lib/x86_64-linux-gnu/libpcsclite.so.1 -classpath ../lib/iaik_jce_full.jar:../lib/commons-httpclient-2.0-beta2.jar:../lib/ldap.jar:../lib/firmacns.jar:../lib/bcmail-jdk16-146.jar:../lib/bcprov-jdk16-146.jar:../lib/iaikPkcs11Wrapper.jar:../lib/sissweb.jar:../lib/jdom.jar:../lib/iaik_cms.jar:../lib/iaikPkcs11Provider.jar: -Djava.library.path=../iaik_so64 it.lisit.smartcard.gui.CRSManagerGui &
Se fai il copia/incolla (consigliato) per sostituire le righe, assicurati di copiare tutta la riga e, quando incolli, di sostituire l'intera riga in modo da non lasciare "sbavature" che bloccherebbero l'esecuzione del file.

Bada bene di lavorare solo sulle due righe in oggetto, tutto il resto deve restare immutato.

Il risultato finale sarebbe questo: file crsLinux.sh modificato (spero non ci siano sbavature)

Codice: [Seleziona]
  ***file crsLinux.sh***

#!/bin/bash

# Creazione e modifica di crsManager.properties
if [ ! -f $HOME/.crsmanager/crsManager.properties ]
  then
mkdir $HOME/.crsmanager
        cp /opt/CRSManager/prop/crsManager.properties $HOME/.crsmanager/
echo file.chooser.directory=$HOME >> $HOME/.crsmanager/crsManager.properties
fi

VERSION=`cat $HOME/.crsmanager/crsManager.properties | grep product.version`
if [ "$VERSION" == "" ]
  then
    echo "log.enabled=true
proxy.username=
product.version=4.8.00
auto.update=true
proxy.enabled=false
sign.cades=true
proxy.password=
proxy.host=
data.xml.digit.pa=2013-09-30T14\:17\:05+02\:00
auto.update.ca=true
digitpa.xml.url=https://applicazioni.cnipa.gov.it/TSL/IT_TSL_CNS.xml
file.chooser.directory=$HOME
proxy.port=" > $HOME/.crsmanager/crsManager.properties
   
fi

LBITS=`getconf LONG_BIT`
LIB=`cat $HOME/.crsmanager/crsManager.properties | grep path.library`

if [ $LBITS = '64' ]
then
    if [ "$LIB" == "" ]
then
if [ -f /usr/lib/opensc-pkcs11.so ]
             then
              echo "path.library=/usr/lib/opensc-pkcs11.so" >> $HOME/.crsmanager/crsManager.properties
fi

if [ -f /usr/lib64/opensc-pkcs11.so ]
             then
              echo "path.library=/usr/lib64/opensc-pkcs11.so" >> $HOME/.crsmanager/crsManager.properties
        fi

if [ -f /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so ]
             then
              echo "path.library=/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so" >> $HOME/.crsmanager/crsManager.properties
        fi
   fi

else
    if [ "$LIB" == "" ]
        then
if [ -f /usr/lib/bit4id/libbit4spki.so ]
     then
      echo "path.library=/usr/lib/bit4id/libbit4spki.so" >> $HOME/.crsmanager/crsManager.properties
fi

if [ -f /usr/lib/opensc-pkcs11.so ]
     then
      echo "path.library=/usr/lib/opensc-pkcs11.so" >> $HOME/.crsmanager/crsManager.properties
fi

if [ -f /usr/lib/i386-linux-gnu/opensc-pkcs11.so ]
             then
              echo "path.library=/usr/lib/i386-linux-gnu/opensc-pkcs11.so" >> $HOME/.crsmanager/crsManager.properties
        fi

if [ -f /usr/lib/i386-linux-gnu/bit4id/libbit4spki.so ]
             then
              echo "path.library=/usr/lib/i386-linux-gnu/bit4id/libbit4spki.so" >> $HOME/.crsmanager/crsManager.properties
        fi

    fi
fi


# controllo se valorizzato correttamente
LIB=`cat $HOME/.crsmanager/crsManager.properties | grep path.library`
if [ "$LIB" == "" ]
  then
echo "Errore: non e' presente il software CRS per l'accesso alla smartcard."
        echo "E' possibile configurare manualmente il file:"
        echo "$HOME/.crsmanager/crsManager.properties"
        echo "indicandone in path.library il percorso (es. path.library=/usr/lib/opensc-pkcs11.so)"
echo ""
        exit 0
fi

# lancia l'esecuzione in base all'architettura del s.o.
cd /opt/CRSManager/bin

if [ $LBITS = 32 ]
then
java -Dsun.security.smartcardio.library=/usr/lib/i386-linux-gnu/libpcsclite.so.1 -classpath ../lib/iaik_jce_full.jar:../lib/commons-httpclient-2.0-beta2.jar:../lib/ldap.jar:../lib/firmacns.jar:../lib/bcmail-jdk16-146.jar:../lib/bcprov-jdk16-146.jar:../lib/iaikPkcs11Wrapper.jar:../lib/sissweb.jar:../lib/jdom.jar:../lib/iaik_cms.jar:../lib/iaikPkcs11Provider.jar: -Djava.library.path=../iaik_so32 it.lisit.smartcard.gui.CRSManagerGui &
  else
  java -Dsun.security.smartcardio.library=/usr/lib/x86_64-linux-gnu/libpcsclite.so.1 -classpath ../lib/iaik_jce_full.jar:../lib/commons-httpclient-2.0-beta2.jar:../lib/ldap.jar:../lib/firmacns.jar:../lib/bcmail-jdk16-146.jar:../lib/bcprov-jdk16-146.jar:../lib/iaikPkcs11Wrapper.jar:../lib/sissweb.jar:../lib/jdom.jar:../lib/iaik_cms.jar:../lib/iaikPkcs11Provider.jar: -Djava.library.path=../iaik_so64 it.lisit.smartcard.gui.CRSManagerGui &
fi
« Ultima modifica: Sabato 05 Ottobre 2019, 16:01:07 da andrea111 »
Connesso
Portatile ASUS con Scheda madre X55C +i5-3210M -- 6 GB RAM ddr3 -- grafica intel.

massimostringhi

  • New Mind
  • *
  • Offline Offline
  • Post: 3
  • Distro: Linux Mint 19.2
Re:Modificare il file crslinux.sh per usare il lettore di carte per firma digitale
« Risposta #3 il: Mercoledì 09 Ottobre 2019, 15:45:37 »

grazie mille dell'aiuto ma..purtroppo ancora non funziona..
nel dubbio ho provato a modificare il percorso anche all'interno della riga, non solo all'inizio, ma non cambia nulla. mando una mail anche al sito della Regione, potrebbero fare un aggiornamento dopo così tanti anni ed ora che le distribuzioni più diffuse sono sicuramente a 64bit!!

grazie ancora se qualcun altro vuol provare a modificare il file..
Connesso

andrea111

  • Sr. Mind
  • ****
  • Offline Offline
  • Post: 1011
  • Distro: ubuntu 16.04
Re:Modificare il file crslinux.sh per usare il lettore di carte per firma digitale
« Risposta #4 il: Mercoledì 09 Ottobre 2019, 17:52:35 »

Parla in termini di errore riportato: prima era
Citazione
errore "Nessun lettore trovato"
Dovresti confermarmelo.

Che errore riporta ora con il file modificato? (c'è un errore? riportalo)

Provato a lanciare l'applicazione da terminale?
Da terminale vedi passo passo lo sviluppo dell'applicazione, ed a un certo punto (dove intercetta un errore), si ferma.
Devi riportare le ultime righe al momento del blocco.

Un altro spunto: quando hai dato
Citazione
sudo locate libpcsclite.so.1
hai ottenuti due risposte valide:
Citazione
/usr/lib/x86_64-linux-gnu/libpcsclite.so.1
/usr/lib/x86_64-linux-gnu/libpcsclite.so.1.0.0
noi l'abbiamo fatto solo con la prima di queste, sarebbe da provare con la seconda : libpcsclite.so.1.0.0 invece di libpcsclite.so.1 (sono due file differenti).
Connesso
Portatile ASUS con Scheda madre X55C +i5-3210M -- 6 GB RAM ddr3 -- grafica intel.

massimostringhi

  • New Mind
  • *
  • Offline Offline
  • Post: 3
  • Distro: Linux Mint 19.2
Re:Modificare il file crslinux.sh per usare il lettore di carte per firma digitale
« Risposta #5 il: Mercoledì 09 Ottobre 2019, 19:17:29 »

dice sempre "nessun lettore rilevato" e anche con il secondo file che ha trovato.
Se provo ad aprire col terminale, la schermata del terminale compare solo per un istante e poi scompare...
Connesso

andrea111

  • Sr. Mind
  • ****
  • Offline Offline
  • Post: 1011
  • Distro: ubuntu 16.04
Re:Modificare il file crslinux.sh per usare il lettore di carte per firma digitale
« Risposta #6 il: Giovedì 10 Ottobre 2019, 00:38:16 »

È un file piccolo con poche linee, si può provare ad eseguirle singolarmente per esaminarne la risposta.
Es. controllare la presenza dei file necessari, posta
Codice: [Seleziona]
ls -al ~/.crsmanager e
Codice: [Seleziona]
cat ~/.crsmanager/crsManager.properties | grep product.versione anche
Codice: [Seleziona]
cat ~/.crsmanager/crsManager.properties
Potrebbe esserci un file di log, intanto posta che vediamo se c'è.
Connesso
Portatile ASUS con Scheda madre X55C +i5-3210M -- 6 GB RAM ddr3 -- grafica intel.