Ancora CIE e middleware

2 views
Skip to first unread message

G97

unread,
Oct 15, 2021, 5:40:03 PMOct 15
to
Ho seguito su usenet le discussioni riguardo le configurazioni per leggere la
CIE e far funzionare middleware.

Ho un portatile con installato un vecchio win 8.1 lasciato solo per 'sport' in
cui uso l'HD solo come archivio files.

Uso invece pennette usb con varie versioni live persistenti di debian
(attualmente stretch 32bit e buster 64bit) per far funzionare il computer.

Sono riuscito con non pochi problemi a far funzionare un lettore bit4id
(minilector-air duo) e tutto l'ambaradan per connettermi al sito inps con la
chiavetta buster 64bit.

Mentre con la chiavetta stretch 32bit, riesco a far funzionare il lettore, ma
il software middleware no.

Ho avuto (ovviamente) problemi con firefox per far digerire la libreria
/usr/local/lib/libcie-pkcs11.so perchè è per sistemi a 64bit

Ho quindi installato le opensc-pkcs11:i386 (0.16.0-3+deb9u1) e messo un link
simbolico in /usr/local/lib come libcie-pkcs11.so, e firefox lo ha digerito.

Non riesco però a far abbinare la CIE nel software middleware, inserisco il
pin, mi visualizza 'progress' e non va oltre. Sicuramente non digerisce la
libreria opensc.

Sapete dove/come reperire la libcie-pkcs11.so a 32 bit?

grazie.

Marco Ciampa

unread,
Oct 18, 2021, 3:50:04 AMOct 18
to
On Fri, Oct 15, 2021 at 11:21:58PM +0200, G97 wrote:
> Non riesco però a far abbinare la CIE nel software middleware, inserisco il
> pin, mi visualizza 'progress' e non va oltre. Sicuramente non digerisce la
> libreria opensc.

Opensc _non_ è compatibile (per ora) con il protocollo usato dalla CIE italiana

devi usare il binario fornito dal ministero.


--

Saluton,
Marco Ciampa

G97

unread,
Oct 18, 2021, 6:00:03 AMOct 18
to
Che, come avevo scritto, purtroppo è solo a 64 bit!

Marco Ciampa

unread,
Oct 18, 2021, 7:10:03 AMOct 18
to
Quindi non hai scelta..

--

Saluton,
Marco Ciampa

Piviul

unread,
Oct 18, 2021, 9:20:03 AMOct 18
to
Il 18/10/21 11:54, G97 ha scritto:
se ne sei sicuro potresti vedere se riesci a compilartelo a 32bit:
https://github.com/italia/cie-middleware-linux

Piviul

G97

unread,
Oct 18, 2021, 9:50:02 AMOct 18
to
On Mon,18 Oct 15:12:07, Piviul wrote:
> Il 18/10/21 11:54, G97 ha scritto:
> > On Mon,18 Oct 07:41:17, Marco Ciampa wrote:
> > > On Fri, Oct 15, 2021 at 11:21:58PM +0200, G97 wrote:
> > > > Non riesco però a far abbinare la CIE nel software middleware, inserisco il
> > > > pin, mi visualizza 'progress' e non va oltre. Sicuramente non digerisce la
> > > > libreria opensc.
> > > Opensc _non_ è compatibile (per ora) con il protocollo usato dalla CIE italiana
> > >
> > > devi usare il binario fornito dal ministero.
> > Che, come avevo scritto, purtroppo è solo a 64 bit!
>
> se ne sei sicuro
Penso di si:

/tmp/mc-user/vfsZHIHB1libcie-pkcs11.so: ELF 64-bit LSB shared object, x86-64,
version 1 (GNU/Linux), dynamically linked,
BuildID[sha1]=8d3592624ac9fd216dbdbab841c13deb2cd44971, not stripped


>potresti vedere se riesci a compilartelo a 32bit:
> https://github.com/italia/cie-middleware-linux

E' stata una delle prime idee, compilo il tutto, poi uso solo la libreria, ma
sembra che manchi qualcosa in quel coso.

liste DOT girarsi AT posteo DOT eu

unread,
Oct 18, 2021, 2:50:03 PMOct 18
to
Il 18/10/21 09:41, Marco Ciampa ha scritto:
Confermo, appena abilitato la mia CIE installando il software messo a
disposizione del Ministero (cie-middleware_*.deb), previa installazione
della libreria fornita dalla stessa bit4id per far funzionare il lettore
minilector air3 (che ha installato i protocolli non presenti,
bit4id-ccid-amd64.*.deb), lettore direttamente acquistato da loro (non
mi è arrivato come ad altri la versione plus, probabile che ciò avvenga
ordinando su Amazon, visto costicchia quasi 6€ o 7€ di più).

--
_|_|_|_|_|_|_|_|_|_
|_|_|_|_|_|_|_|_|_|_|
Simone Girardelli

Davide Prina

unread,
Oct 18, 2021, 4:30:02 PMOct 18
to
On 18/10/21 08:49, Diego Zuccato wrote:
> Ovviamente: un sistema a 64 bit può gestire una lib a 32 bit ma non
> viceversa.

in teoria, con Debian, puoi creare un sistema a più architetture
hardware e quindi avere un sistema 64-32 bit... e probabilmente lo puoi
ottenere sia partendo da un sistema a 32 che da uno a 64 (ho provato
solo da amd64 aggiungere i386)

Però dalla mia scarsa esperienza ho visto che è meglio evitare di avere
un sistema misto perché con gli aggiornamenti tende a installarti troppe
cose che non ti servono dell'altra architettura hardware e alle volte
puoi avere qualche piccolo problema.

Inoltre, se non erro, puoi usare debootstrap per crearti
un'installazione di un sistema a 64 bit a partire da uno di 32.
Di sicuro l'ho usato a partire da amd64 installando "altro", ma quando
lo usavo con i386 probabilmente installavo altro sempre i386.
Notare che debootstrap dovrebbe qualche piccolo problema attualmente,
che si può aggirare abbastanza facilmente smanettando un po'.

Ciao
Davide
--
Sistema operativo: http://www.debian.org
GNU/Linux User: 302090: http://counter.li.org
Non autorizzo la memorizzazione del mio indirizzo su outlook

Davide Prina

unread,
Oct 19, 2021, 4:10:17 PMOct 19
to
On 19/10/21 10:42, Diego Zuccato wrote:
> Il 18/10/2021 22:21, Davide Prina ha scritto:
>> On 18/10/21 08:49, Diego Zuccato wrote:
>>> Ovviamente: un sistema a 64 bit può gestire una lib a 32 bit ma non
>>> viceversa.

>> in teoria, con Debian, puoi creare un sistema a più architetture
>> hardware e quindi avere un sistema 64-32 bit... e probabilmente lo
>> puoi ottenere sia partendo da un sistema a 32 che da uno a 64 (ho
>> provato solo da amd64 aggiungere i386)

> Si, puoi forse partire da uno a 32 bit, ma se il kernel non è a 64 bit,
> il processore girerà solo a 32. In pratica il processore in modalità 64
> bit riconosce il codice a 32 bit e va in modalità compatibile (sto
> semplificando al massimo). Ma se il processore è in modalità 32 bit, non
> sa nulla del codice a 64 bit e se va bene si blocca su un illegal opcode.

se devo essere sincero non ho mai approfondito più di tanto la questione
di quale foreign architecture puoi installare sulla tua macchina e una
volta fatto cosa effettivamente ci puoi fare.
L'unica cosa che ho fatto è installare l'architettura i386 su
un'architettura amd64.

Però se si guarda il wiki di Debian relativo alla multiarchitettura[¹]
prima indica con questa frase "either the kernel supports a
compatibility interface, notably 64bit kernels often support running
32bit software (but most probably not the converse)" che non sembra
escludere definitivamente questa possibilità, mentre io mi sarei
aspettato, come hai indicato tu, una frase che escludesse
categoricamente l'esecuzione di software a 64 bit su un'architettura
hardware a 32 bit.

Poi però offre una modalità per poter eseguire qualsiasi software di
qualsiasi architettura hardware supportata da Debian sulla propria
architettura hardware "nativa": "or a qemu-user instance is configured
to act as an on-the-fly emulation layer, see QemuUserEmulation" che
punta alla pagina di QemuUserEmulation[²]

Da quello che ho capito, guardando rapidamente questa seconda pagina,
sembra possibile installare software di una qualsiasi foreign
architecture ed eseguirlo in modo trasparente, come se fosse
dell'architettura "nativa".

La cosa è molto interessante e, ad avere tempo, sarebbe da sperimentare

Ciao
Davide

[¹] https://wiki.debian.org/Multiarch/HOWTO

[²] https://wiki.debian.org/QemuUserEmulation

Alessandro Rubini

unread,
Oct 19, 2021, 5:10:02 PMOct 19
to
> notably 64bit kernels often support running
> 32bit software (but most probably not the converse)" che non sembra
> escludere definitivamente

Se il mondo non e` cambiato nel frattempo, mi sentirei di escluderlo.
Un eseguibile a 64 bit usa puntatori a 64 bit e vuole una memoria
virtuale a 64 bit (non ricordo quanti, ma piu` di 32). Se il kernel
e` a 32 bit, offre una memoria virtuale a 32.

> "or a qemu-user instance is configured
> to act as an on-the-fly emulation layer, see QemuUserEmulation"

Questo funziona come un gioiellino. Ma ovviamente il codice viene
interpretato (da qemu), non eseguito, quindi va piu` lento. Qemu e`
straordinariamente efficente (e` Fabrice Bellard, mica l'ultimo
pistola) ma comunque siamo circa 10x piu` lento del nativo.

> La cosa è molto interessante e, ad avere tempo, sarebbe da sperimentare

E' banale. Si prende un eseguibile arm e si esegue. E` uno dei primi
esempi che faccio ai miei studenti, partendo da PC per andare su
micretto.

Certo, se e` un eseguibile "serio" occorrono anche le librerie dinamiche
dell'architettura eccetera. Io lo faccio vedere senza libreria,
implementando le 2 chiamate di sistema che mi servono (write e exit):

laptopo% make hell-arm
arm-none-eabi-gcc -c -o syscalls-arm.o syscalls-arm.S
arm-none-eabi-gcc -Wall -static -ffreestanding -c -o hell.o hell.c
arm-none-eabi-ld -e main -o hell-arm syscalls-arm.o hell.o

laptopo% ./hell-arm
Hello

laptopo% file hell-arm
hell-arm: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not stripped

laptopo% uname -m
x86_64

Il trucco sta in binfmtmisc, che definisce interpreti per vari formati
di file, in base al contenuto del file (il "magic number"):

laptopo% ls /proc/sys/fs/binfmt_misc/
cli qemu-aarch64 qemu-mips qemu-sh4
jar qemu-alpha qemu-mipsel qemu-sh4eb
llvm-3.1.binfmt qemu-arm qemu-ppc qemu-sparc
python2.6 qemu-armeb qemu-ppc64 qemu-sparc32plus
python2.7 qemu-cris qemu-ppc64abi32 qemu-sparc64
python3.2 qemu-m68k qemu-ppc64le register
python3.4 qemu-microblaze qemu-s390x status

Marco Ciampa

unread,
Oct 20, 2021, 2:10:03 AMOct 20
to
Alex al solito sei stellare, questa mail me la salvo...

Si lo so, dirai, banale, ok ... per te, e una volta che l'ho letta,
anche per me. È questo il punto: è tutto semplice _dopo_ che lo sai.

GRAZIE

--

Saluton,
Marco Ciampa

Marco Bodrato

unread,
Oct 21, 2021, 1:50:02 PMOct 21
to
Ciao,

Il 2021-10-19 23:03 Alessandro Rubini ha scritto:
> Il trucco sta in binfmtmisc, che definisce interpreti per vari formati
> di file, in base al contenuto del file (il "magic number"):
>
> laptopo% ls /proc/sys/fs/binfmt_misc/
> cli qemu-aarch64 qemu-mips qemu-sh4
> jar qemu-alpha qemu-mipsel qemu-sh4eb
> llvm-3.1.binfmt qemu-arm qemu-ppc qemu-sparc
> python2.6 qemu-armeb qemu-ppc64 qemu-sparc32plus
> python2.7 qemu-cris qemu-ppc64abi32 qemu-sparc64
> python3.2 qemu-m68k qemu-ppc64le register
> python3.4 qemu-microblaze qemu-s390x status

Non vedo una definizione per wine :-)

Forse ritieni che sia troppo rischioso eseguire "inconsapevolmente" il
codice che wine farebbe girare?

In effetti concordo :-D

Ĝis,
m

Roberto Resoli

unread,
Oct 25, 2021, 2:30:03 AMOct 25
to
Il 18/10/21 15:12, Piviul ha scritto:
Trattandosi di sw libero, in linea di principio dovrebbe essere
possibile portare il supporto alla CIEv3 in OpenSC. OpenSC supporta
molti hardware attraverso "card-driver" specifici:

$ opensc-tool --list-drivers
Configured card drivers:
cardos Siemens CardOS
flex Schlumberger Multiflex/Cryptoflex
cyberflex Schlumberger Cyberflex
gpk Gemplus GPK
gemsafeV1 Gemalto GemSafe V1 applet
asepcos Athena ASEPCOS
starcos STARCOS
tcos TCOS 3.0
oberthur Oberthur AuthentIC.v2/CosmopolIC.v4
authentic Oberthur AuthentIC v3.1
iasecc IAS-ECC
belpic Belpic cards
incrypto34 Incard Incripto34
akis TUBITAK UEKAE AKIS
entersafe entersafe
epass2003 epass2003
rutoken Rutoken driver
rutoken_ecp Rutoken ECP and Lite driver
myeid MyEID cards with PKCS#15 applet
dnie DNIe: Spanish eID card
MaskTech MaskTech Smart Card
atrust-acos A-Trust ACOS cards
westcos WESTCOS compatible cards
esteid2018 EstEID 2018
coolkey COOLKEY
muscle MuscleApplet
sc-hsm SmartCard-HSM
mcrd MICARDO 2.1 / EstEID 3.0 - 3.5
setcos Setec cards
PIV-II Personal Identity Verification Card
cac Common Access Card (CAC)
itacns Italian CNS
isoApplet Javacard with IsoApplet
gids GIDS Smart Card
openpgp OpenPGP card
jpki JPKI(Japanese Individual Number Cards)
npa German ID card (neuer Personalausweis, nPA)
cac1 Common Access Card (CAC 1)
default Default driver for unknown cards

Ad esempio itacns viene di solito selezionato in maniera automatica per
le CNS (le tessere sanitarie regionali, ad esempio).

Chi ha una CIEv3 potrebbe provare a forzare iasecc, che è il profilo dei
documenti d'identità nazionali a cui CIEv3 (spero) dovrebbe aderire.

rob
Reply all
Reply to author
Forward
0 new messages