Zertifikat Management
Der Vorteil der Aloaha CSP API ist der, dass der Benutzer nicht wissen muss, in welchem angeschlossenen Kartenleser die gewünschte Karte steckt. Aloaha benutzt verschiedene Algorythmen, um den richtigen Kartenleser zu finden.
Funktionen
Die Funktion get_certificate_by_reader gibt das Zertifkat einer Karte zurück die in einen bekannten Kartenleser eingesteckt ist.
function get_certificate_by_reader(ByVal LngReader As Long, ByRef CertificateBA As Variant, ByRef CA_BA As Variant, ByVal ctype As CertificateType) as boolean
z.B.
Die Funktion FindCertificate durchsucht alle angeschlossenen Kartenleser nach einem bestimmten Zertifikat.
Function FindCertificate(ByVal SearchString As String, ByVal SearchFilter As SearchFilter, ByVal ctype As CertificateType, ByRef fingerprint As String, ByRef CertificateBA As Variant) As Long
Der Suchfilter kann so aussehen:
- CertificateSubject = 0
Sucht nach einem Zertifikat mit dem gegebenen Subject.
- CertificateSimpleSubject = 1
Sucht nach einem Zertifikat mit dem gegebenen SimpleSubject.
- CertificateFingerprint = 2
Sucht nach einem Zertifikat mit dem gegebenen fingerprint.
- CertificateIssuer = 3
Gibt das erste Zertifikat mit dem gegebenen Issuer zurück.
- CertificateEmail = 4
Gibt das erste Zertifikat mit der gegebenen Emailadresse zurück.
- CertificateBSTR = 5
Findet das übergebene Zertifikat.
- CertificateSerialNumber = 6
Gibt das Zertifikat mit der übergebenen Serialnummer zurück.
- FreeText = 7
Macht eine Volltextsuche nach Zertifikaten.
- Dialog = 8
Zeigt einen Dialog mit einer Liste der physikalisch verfügbaren Zertifikate an.
Das folgende Beispiel findet das erste Nachweisbarkeitszertifikat (non-repudiation), welches den String "Stefan Engelbert" enthält. Es gibt als Ergebnis den Kartenleser, die Karte und den Fingerprint des Zertifikats zurück.
Const FreeText = 7
Const SignatureCertificate = 0
Dim ACSP As Object
Dim SearchString As String
Dim SearchFilter As Long
Dim FingerPrint As String
Dim CardReader As Long
SearchString = "Stefan Engelbert"
SearchFilter = FreeText
ctype = SignatureCertificate
Set ACSP = CreateObject("AloahaCSPCore.provider")
CardReader = ACSP.FindCertificate(SearchString, SearchFilter, ctype, FingerPrint, vbNull)
If CardReader > -1 Then
MsgBox "Found Certificate with Fingerprint: " + FingerPrint + " in Reader " + ACSP.ReaderName(CardReader)
End If
Set ASP = Nothing
Eigenschaften
FingerPrint_by_Reader gibt den Fingerprint des Zertifikats der Karte zurück die in dem übergebenen Kartenleser steckt.
Z.B. fingerprint = ACSP.FingerPrint_by_Reader(0,1)
gibt den Fingerprint des Signatur-/ Authentifizierungszertifikats aus den zuerst angeschlossenen Kartenleser zurück.
Mit publickeyBA wird der Public Key eines Zertifikats abgefragt. Das kann bei Public Key Verschlüsselung oder bei manueller Signaturüberprüfung notwendig sein.Dim PublicKey() as byte
Dim PublicKeyString as strnig
Dim FingerPrint as string
Dim CType
Fingerprint = <Fingerprint of Certificate>
CType = Type of Certificate (0, 1 or 2)
PublicKey = ACSP.publickeyBA(Fingerprint, CType)
PublicKeyString=ACSP.BA2STR(PublicKey)
Aloaha Software / Produkte / Aloaha Smartcard SDK / Aloaha CSP API / Zertifikat Management