Smart card api

martedì 10 marzo 2009 - 19.58

davfrata Profilo | Newbie

ho un lettore smart card acr38 della kraun in cui all'interno del cd ci sonotre file api (ct_api.dll,ct_api.h,ct_api.lib), nel readme c'è messo che basta copiarli nella directory system32 o del progetto, ma per metterlo nel Visual basic.net? Cioè includerlo del progetto per poter interagire?
Ho provato a fare aggiungi riferimento, o mettere il componente (come si fa per gli ocx) ma mi da sempre errore.

Spero di essermi spiegato.

Graize e Ciao

gigi90 Profilo | Senior Member

Sicuramente non sono api .NET Interoperabili, ma saranno scritte in C++ compilato in linguaggio macchina, per importarle devi usare un DllImport dello spazione dei nomi Microsoft.Win32, prima però dovresti far riferimento alla documentazione dell API

davfrata Profilo | Newbie


>Sicuramente non sono api .NET Interoperabili, ma saranno scritte
>in C++ compilato in linguaggio macchina, per importarle devi
>usare un DllImport dello spazione dei nomi Microsoft.Win32, prima
>però dovresti far riferimento alla documentazione dell API

Qualche dritta in merito, non ho mai fatto questo tipo di operazione.
ho allegato la documentazione...
Grazie

gigi90 Profilo | Senior Member

Le api che hai citato, dovrebbero avere un minimo di documentazione, prova a cercarla, per quanto riguarda il DLLImport poui leggere queste righe scritte da David De Giacomi di DotNetHell:

http://www.dotnethell.it/articles/UnmanagedDLL.aspx

davfrata Profilo | Newbie

ho allegato la documentazione al post precedente

gigi90 Profilo | Senior Member

Nella documentazione delle API vi sono tutte le firme delle funzioni che ti servono per utilizzare il lettore di smart card, tu devi fare il Marshaling(http://msdn.microsoft.com/it-it/library/ms384329(VS.71).aspx) delle strutture ossia convertire i tipi non gestiti in tipi gestiti equivalenti e poi fare il DllImport delle funzioni con il metodo descritto nell'articolo che ti ho linkato nel messaggio precedente utilizzando i tipi creati durante l'operazione di Marshaling.

P.S: prova a telefonare la casa produttrice della card e domanda se hanno api per la piattaforma .NET

davfrata Profilo | Newbie

ammesso che riesca a fare tutto quello che hai detto, se al programma poi si attacca un lettore smart card diverso? non lo legge? perche non c'è una libreria standard del punto net che si interfaccia con qualsiasi smart card in modo predefinito?

gigi90 Profilo | Senior Member

Sinceramente non so se esiste uno standard per "colloquiare" con le SmartCard, però molto probabilmente come dici tu, se cambi marca, cambiano anche le API e quindi devi riscrivere il tutto!!!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5