Ciao Ugo,
Oltre alla firma digitale la CNS contiene anche un certificato di autenticazione web.
Utilizzando le Tue librerie è possibile leggere tale certificato direttamente dalla Smart Card?
Io sto provando in questo modo. Ma non riesco ad ottenere il certificato di autenticazione web.
Dove sbaglio?
// Searchs for an RSA private key object // Sets the template with its attributes CryptokiCollection template = new CryptokiCollection(); //CryptokiCollection template = new CryptokiCollection(); template.Add(new ObjectAttribute(ObjectAttribute.CKA_CLASS, CryptokiObject.CKO_CERTIFICATE)); template.Add(new ObjectAttribute(ObjectAttribute.CKA_CERTIFICATE_TYPE, Certificate.CKC_X_509)); // Launches the search specifying the template just created CryptokiCollection object2 = session.Objects.Find(template, 2); if (object2.Count == 1) { // CERTIFICATE NOT FOUND //Console.WriteLine("Certificato web Non trovato"); return null; } // takes the first object as key Cryptware.NCryptoki.X509Certificate NCryptokiCertificate = (Cryptware.NCryptoki.X509Certificate)object2[1]; return Cryptware.NCryptoki.Utils.ConvertCertificate(NCryptokiCertificate);
// Searchs for an RSA private key object // Sets the template with its attributes CryptokiCollection template = new CryptokiCollection();
//CryptokiCollection template = new CryptokiCollection(); template.Add(new ObjectAttribute(ObjectAttribute.CKA_CLASS, CryptokiObject.CKO_CERTIFICATE)); template.Add(new ObjectAttribute(ObjectAttribute.CKA_CERTIFICATE_TYPE, Certificate.CKC_X_509));
// Launches the search specifying the template just created CryptokiCollection object2 = session.Objects.Find(template, 2);
if (object2.Count == 1)
{ // CERTIFICATE NOT FOUND //Console.WriteLine("Certificato web Non trovato"); return null; }
// takes the first object as key Cryptware.NCryptoki.X509Certificate NCryptokiCertificate = (Cryptware.NCryptoki.X509Certificate)object2[1]; return Cryptware.NCryptoki.Utils.ConvertCertificate(NCryptokiCertificate);
che CNS stai usando e quale dll PKCS#11?
Sto utilizzando una CNS Aruba (Camera di Commercio di Salerno) con "bit4ipki.dll"
PS: Ugo volevo segnalarti che questo forum non consente di fare il "copia-Incolla" con Internet Explorer 11
Ok. allora non dovresti avere problemi.
Prova a togliere questa riga:
template.Add(new ObjectAttribute(ObjectAttribute.CKA_CERTIFICATE_TYPE, Certificate.CKC_X_509));