Dalla versione 3.8 con Dimatek puoi facilmente gestire e usare più Lettori sullo stesso PC per firmare con certificati diversi a seconda dell'occorrenza.
Per gestire questa funzionalità è stata introdotta la funzione dmtCertIndex
Ricercare in quale Lettore si trova un determinato certificato di cui si conosce il numero di serie
// ******************************************************
// cerchiamo il certificato usando il suo numero di serie che ci siamo ricavati in precedenza
// ******************************************************
int iindexFoundx = CDIMATECLIBRARY.dmtSearchCertonCard(CDIMATECLIBRARY.gsCSPDllName, "", FormCertificates.sserialnumber);
Questa funzione restituisce un Indice che è relativo al Lettore e non al certificato.
Il valore restituito è un indice in base 1. Se ci sono 3 lettori i valori restituiti possibili 8se trova il certficaito) sono 1 2 e 3 altrimenti un codice di errore
Il valore che restituisce dmtSearchCertonCard può essere usato con dmtGetCertSerialNumberOnSmartCard per conoscere invece l'indice del certificato nella smartcard. Da non confondere i due indici. uno è l'indice base uno dei lettori presenti nel PC e l'altro è l'indice del certificato trovato in base 1
iindex = CDIMATECLIBRARY.dmtGetCertSerialNumberOnSmartCard(labelPkcs11Dll.Text, textBox1.Text, pszSerialNumber);