Bonjour,
J'essaye depuis quelques temps déjà de mettre en place une authentification par carte à puce dans un domaine Samba4 (Samba AD).
Actuellement je dispose de deux contrôleurs de domaine sous CentOS, un serveur de fichiers et plusieurs clients dans le domaine (CentOS et Windows). Coté smart card je dispose du lecteur de cartes "Téo by Xiring" et d'une carte "Gemalto IDPrime 510 (.Net V3)".
J'ai également en ma possession les drivers adéquat et j'arrive à m'authentifier par carte à puce sur un poste Windows mais il m'est impossible de le faire sous CentOS.

Le lecteur de carte à puce et la carte à puce semblent reconnus par CentOS (présent dans lsusb -v et l'insertion de la carte lance « Smart Card Manager » mais nous informe que le certificat n'est pas connu et que la carte n'est pas formatée). Toutefois à l'aide du module libgtop11dotnet je peux lire le certificat et même me connecter avec le code PIN correspondant à l'aide de pkcs11-tool (mais je dois préciser le module utilisé). Malgré tout cela il m'est impossible d'ouvrir une session au démarrage de CentOS à l'aide de la carte à puce. Même en forçant l'utilisation de la carte à puce pour ouvrir une session rien ne se passe. Y-a-t'il une modification spéciale à faire coté pam_pkcs11 ou Kerberos pour préciser quel module utiliser ou pour faire le lien entre le certificat utilisateur présent sur la carte et l'utilisateur du domaine ?

Toutes les commandes tels que : opensc-tool -n, pklogin_finder debug, pkcs11_inspect debug et pkcs11_listcerts debug me retournent une erreur.

Exemple de commandes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
 
[MYDOMAIN\administrator@Client1 ~]$ pkcs11-tool --module=/usr/local/lib/libgtop11dotnet.so -l -O
Using slot 0 with a present token (0x0)
Logging in to ".NET #514CA4DC28D2DF4D".
Please enter User PIN:
Certificate Object; type = X.509 cert
  label:      a1b062f9-7bfd-af90-3d7e-61cfd2105a0a
  ID:         a1b062f97bfdaf903d7e61cfd2105a0a145fec47
Public Key Object; RSA 2048 bits
  label:      a1b062f9-7bfd-af90-3d7e-61cfd2105a0a
  ID:         a1b062f97bfdaf903d7e61cfd2105a0a145fec47
  Usage:      encrypt, verify
Private Key Object; RSA
  label:      a1b062f9-7bfd-af90-3d7e-61cfd2105a0a
  ID:         a1b062f97bfdaf903d7e61cfd2105a0a145fec47
  Usage:      decrypt, sign
 
 
[MYDOMAIN\administrator@Client1 ~]$ modutil -list -dbdir /etc/pki/nssdb
Listing of PKCS #11 Modules
-----------------------------------------------------------
  1. NSS Internal PKCS #11 Module
         slots: 2 slots attached
        status: loaded
 
         slot: NSS Internal Cryptographic Services
        token: NSS Generic Crypto Services
 
         slot: NSS User Private Key and Certificate Services
        token: NSS Certificate DB
 
  2. libgtop11dotnet
        library name: /usr/local/lib/libgtop11dotnet.so
         slots: 5 slots attached
        status: loaded
 
         slot: XIRING Teo 00 00
        token: .NET #514CA4DC28D2DF4D
 
         slot: empty
        token:
 
         slot: empty
        token:
 
         slot: empty
        token:
 
         slot: empty
        token:
-----------------------------------------------------------
 
 
[MYDOMAIN\administrator@Client1 ~]$ opensc-tool -l
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             XIRING Teo 00 00
 
 
[MYDOMAIN\administrator@Client1 ~]$ pcsc_scan
PC/SC device scanner
V 1.4.25 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.8
Using reader plug'n play mechanism
Scanning present readers...
0: XIRING Teo 00 00
 
Tue Sep 25 07:18:18 2018
Reader 0: XIRING Teo 00 00
  Card state: Card inserted, Shared Mode,
  ATR: 3B 16 96 41 73 74 72 69 64
 
ATR: 3B 16 96 41 73 74 72 69 64
+ TS = 3B --> Direct Convention
+ T0 = 16, Y(1): 0001, K: 6 (historical bytes)
  TA(1) = 96 --> Fi=512, Di=32, 16 cycles/ETU
    250000 bits/s at 4 MHz, fMax for Fi = 5 MHz => 312500 bits/s
+ Historical bytes: 41 73 74 72 69 64
  Category indicator byte: 41 (proprietary format)
 
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 16 96 41 73 74 72 69 64
        Gemalto .NET v2.0
 
 
[MYDOMAIN\administrator@Client1 ~]$ opensc-tool -n
Using reader with a card: XIRING Teo 00 00
Unsupported card
 
 
[MYDOMAIN\administrator@Client1 ~]$ pkcs11_listcerts debug
DEBUG:pam_config.c:238: Using config file /etc/pam_pkcs11/pam_pkcs11.conf
DEBUG:pkcs11_lib.c:182: Initializing NSS ...
DEBUG:pkcs11_lib.c:192: Initializing NSS ... database=/etc/pki/nssdb
DEBUG:pkcs11_lib.c:210: ...  NSS Complete
DEBUG:pkcs11_listcerts.c:69: loading pkcs #11 module...
DEBUG:pkcs11_lib.c:235: Looking up module in list
DEBUG:pkcs11_lib.c:238: modList = 0x21a49c0 next = 0x21bf3c0
 
DEBUG:pkcs11_lib.c:239: dllName= <null>
 
DEBUG:pkcs11_lib.c:238: modList = 0x21bf3c0 next = 0x0
 
DEBUG:pkcs11_lib.c:239: dllName= libgtop11dotnet.so
 
DEBUG:pkcs11_listcerts.c:77: initialising pkcs #11 module...
DEBUG:pkcs11_listcerts.c:94: no token available

Merci d'avance.