english italiano
CNS

Cryptware CNS API

Cryptware CNS API e' una libreria per piattaforme .NET, Java e Visual Basic 6 che mappa le funzioni a basso livello definite nelle specifiche emanate dal CNIPA per la Carta Nazionale Servizi (CNS) in un insieme di classi ad alto livello 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 della CNS in qualsiasi applicazione.

Cryptware CNS API mappa le funzioni a basso livello definite nelle specifiche CNS emanate dal CNIPA in un insieme di classi e metodi ad alto livello proponendo un paradigma di programmazione ad oggetti molto semplice che consente di integrare rapidamente le smart card CNS in qualsiasi applicazione .NET, Java, Visual Basic 6 o altro linguaggio
Cryptware CNS API consente di focalizzarsi principalmente sulle logiche di business dell'applicazione evitando il lavoro estremamente tedioso e complesso che sarebbe necessario per importare nel linguaggio di programmazione preferito, le funzioni a basso livello della CNS.
Snippet di codice in C#
Snippet di codice in Java
Snippet di codice in VB6

Snippet di codice in C#

Di seguito un esempio di codice in C# che mostra un tipico utilizzo della smart card CNS: la lettura del certificato di autenticazione con verifica della scadenza e la lettura dei dati personali del titolare

// Creates a new instance of SmartCardManager
SmartCardManager scman = new SmartCardManager();

// Gets the list of plugged readers
Readers readerList = scman.PluggedReaders;

// Gets the first reader
Reader reader = readerList[0];

// Waits for the card presence
reader.WaitForSmartCardInserted(Reader.INFINITE);

// Connects to the card
SmartCard card = reader.Connect();

// Creates a CNS instance
CNS cns = new CNS(card);

// Reads Dai Personali
string[] datiPersonali = cns.ReadDatiPersonali();
Console.WriteLine("Nome: " + datiPersonali[CNS.Nome]);
Console.WriteLine("Cognnome: " + datiPersonali[CNS.Cognome])

; // Reads Certificate
X509Certificate2 cert = cns.ReadCertificatoX509();
// Check expiration
Console.WriteLine("Scadenza certificato: " + cert.GetExpirationDateString());
...

Snippet di codice in Java

Di seguito un esempio di codice in Java che mostra un tipico utilizzo della smart card CNS: la lettura del certificato di autenticazione con verifica della scadenza e la lettura dei dati personali del titolare

SmartCardManager scman = new SmartCardManager();

List<Reader> readerList = scman.getPluggedReaders();

if(readerList.size() == 0)
{
    System.out.println("No readers found");
    return;
}

Reader reader = readerList.get(0);

reader.WaitForSmartCardInserted();

SmartCard card = reader.connect();

CNS cns = new CNS(card);

// sends the command APDU and gets the Response APDU
try
{
    byte[] cardId = cns.ReadIDCarta();
    System.out.println("ID Carta: " + new String(cardId));
}
catch (SmartCardException e1)
{
    System.out.println(e1.getMessage());
}

// sends the command APDU and gets the Response APDU
try
{
    byte[] datiPossessore = cns.ReadDatiPossessore();
    System.out.println("datiPossessore: " + new String(datiPossessore));
}
catch (SmartCardException e1)
{
    System.out.println(e1.getMessage());
}

// sends the command APDU and gets the Response APDU
try
{
    byte[] datipersonali = cns.ReadDatiPersonaliRaw();
    System.out.println("datipersonali: " + new String(datipersonali));
}
catch (SmartCardException e1)
{
    System.out.println(e1.getMessage());
}

try
{
    String[] datipersonali = cns.ReadDatiPersonali();
    System.out.println("datipersonali: " + datipersonali.toString());
    System.out.println("Nome, Cognome: " + datipersonali[CNS.Nome] + " " + datipersonali[CNS.Cognome]);
}
catch (SmartCardException e1)
{
    System.out.println(e1.getMessage());
}

try
{
    X509Certificate certificate = cns.ReadCertificatoX509();
    System.out.println("serialnubmer " + certificate.getSerialNumber());
}
catch (CertificateException e)
{
    System.out.println(e.getMessage());
}
catch (SmartCardException e1)
{
    System.out.println(e1.getMessage());
}
...

Visual Basic 6

Cryptware CNS API 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:

Dim scman As SmartCardManager
Dim readerList As Readers
Dim r As Reader
Dim sc As SmartCard
Dim ret As Long
Dim cmd As CommandAPDU
Dim resp As ResponseAPDU
Dim cnsCard As CNS
Dim datiPersonali() As String

' Creates a new instance of SmartCardManager
Set scman = New SmartCardManager

' Gets the list of plugged readers
Set readerList = scman.PluggedReaders

' Gets the first reader
Set r = readerList.Item(0)

' Checks if the card is present
If (Not r.IsSmartCardPresent()) Then
    MsgBox ("Insert a smart card in the reader")
End If

' Waits for the card presence
ret = r.WaitForSmartCardInserted()

' Connects to the card
Set sc = r.Connect

' Sets the connected smart
Set cnsCard.SmartCard = sc

' Reads dati personali
datiPersonali = cnsCard.ReadDatiPersonali
...

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

            


Share |

Message in a Bottle - Crittografia delle Curve Ellittiche per SMS

box miabo

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.


.NET Cryptoki (PKCS#11)

.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.


cover smartcard

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


Smart Card SDK

Smart Card Software Development Kit è un kit di sviluppo per la programmazione di applicazioni con smart card contenente librerie software, strumenti di svilippo, utility, 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.
L'SDK fornisce inoltre alcune librerie assolutamente innovative, .NET Smart Card API, SLE4442 API, CNS API, .NET Cryptoki che semplificano notevolmente lo sviluppo di applicazioni che fanno uso di smart card, consentendo di risparmiare sui tempi di realizzazione del software.


Login Assistant 1.7.2.1

Login Assistant e' uno strumento di Single Sign-On leggero e semplice da usare che mediante un unico PIN di autenticazione consente di gestire le password di accesso alle varie applicazioni.
Login Assistant memorizza le password in un file locale cifrato o su un dispositivo sicuro quale una smart card, un pen drive USB on flash card e un agente software assiste l'utente, suggerendo di volta in volta la password opportuna ad ogni richiesta di autenticazione.


box jiprolog

JIProlog

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.


scemu icon

Smart Card Console and Emulator v.1.2.1.5

Smart Card Console and Emulator e' una console per l'invio di comandi ISO 7816 (APDU) ad una smart card che fornisce anche una smart card virtuale inserita, per esercitarsi con i comandi defiinti nelle specifiche ISO 7816.


safe icon

Safe e' un'applicazione per telefoni cellulari Java Enabled che consente di memorizzare in tutta sicurezza, nella memoria del telefono cellulare, informazioni confidenziali quali password, numeri di carta di credito, numeri di telefono, ecc. in forma cifrata.