.NET Cryptoki e' una libreria per piattaforma .NET che mappa le funzioni definite nelle specifiche PKCS#11 e fornisce un API per C#, VB.NET, Visual Basic 6, VBScript, Delphi e per gli altri linguaggi di programmazione che supportano oggetti COM, per l'integrazione di qualsiasi token compatibile PKCS#11 in qualsiasi applicazione.
.NET Cryptoki mappa le funzioni del Cryptoki definite nelle specifiche PKCS#11 in un insieme di classi ad alto livello e propone un paradigma di programmazione
molto semplice che consente di integrare rapidamente qualsiasi token PKCS#11 in qualsiasi applicazione
.NET Cryptoki consente di focalizzarsi principalmente sulle logiche di business dell'applicazione evitando il lavoro estremamente tedioso e complesso che sarebbe necessario per importare in ambiente .NET o nel linguaggio di programmazione preferito, le funzioni PKCS#11 esportate dei moduli nativi.
Snippet di codice in C#
Di seguito un esempio di codice in C#:
// Creates a Cryptoki object related to the specific PKCS#11 native library
Cryptoki cryptoki = new Cryptoki("smaoscki.dll");
cryptoki.Initialize();
// Reads the set of slots containing a token
SlotList tokenslots = cryptoki.ActiveSlots;
if(tokenslots.Count == 0)
throw new Exception("No token inserted");
// Gets the first token available
Token token = tokenslots[0].Token;
// Opens a read/write serial session
Session session =
token.OpenSession(Session.CKF_SERIAL_SESSION | Session.CKF_RW_SESSION, null, null);
// Executes the login passing the user PIN
session.Login(Session.CKU_USER, "1234");
...
Interfaccia COM
.NET Cryptoki fornisce anche un modello ad oggetti COM e pertanto può essere usato in Visual Basic 6, in Delphi e in tutti gli altri linguaggi che supportano oggetti COM.
Es. in Visual Basic 6:
' Creates new Cryptoki object
Set ctoki = New Cryptoki
' attach to pkcs11 module
ctoki.Attach ("smaoscki")
' initialize
ctoki.Initialize
Set slots = ctoki.slots
For Each slt In slots
MsgBox (slt.info.Description)
Next
Set tkn = slt.Token
Set sess = tkn.OpenSession(CKF_RW_SESSION Or CKF_SERIAL_SESSION)
sess.Login CKU_USER, "1234"
...
Prezzo Licenza d'uso:
Licenza Developer
(Licenza singola) |
69,90 Euro |
|
Licenza Site
(licenza illimitata, ridistribuibile senza royalties) |
269,90 Euro |
|
Licenza Sorgente
(licenza illimitata con sorgenti) |
869,90 Euro |
|
Message in a Bottle e' un applicazione per telefoni cellulari che protegge gli SMS sfruttando i piu' potenti algoritmi crittografici, quali la crittografia
delle curve ellittiche e l'algoritmo di cifratura AES, e consente di conservare e proteggere gli SMS in una speciale
rubrica crittografata accessibile solo mediante un apposito PIN.
JIProlog e' un interprete Prolog pure Java 100%, conforme ISO Prolog e compatibile con le piattaforme J2RE e J2ME, che integra i linguaggi Prolog e Java.
Tecnologie, standard, piattaforme di sviluppo ed esempi di codice per Java, C/C++, C# VB.NET e Visual Basic 6:
ISO7816, Java Card, PC/SC, PKCS#11, PKCS#15, OpenCard Framework, Java Smart Card I/O API, EMV, Smart card in Windows, Applicazioni con Smart Card, Crittografia
Ugo Chirico
Gruppo Editoriale Infomedia, 2003
con utility, librerie, strumenti di svilippo, manuali e codici d'esempio per la programmazione delle smart card in C/C++, C#, VB.NET, VB6 e Java su piattaforme Windows, Linux, ecc.