Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) PKCS11 Login / LogoutSee more PKCS11 ExamplesSample code showing how to login and logout of a PKCS11 session. A session becomes authenticated when Login is called, and returns to the unauthenticated state when Logout is called. A smart card's PIN is passed to the Login method. Note: This example requires Chilkat v9.5.0.88 or later.
#import <CkoPkcs11.h> #import <NSString.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Note: Chilkat's PKCS11 implementation runs on Windows, Linux, Mac OS X, and other supported operating systems. CkoPkcs11 *pkcs11 = [[CkoPkcs11 alloc] init]; // Set your shared lib path -- either a full path to the DLL, .so, or .dylib, // or just the filename if the driver is in a location that can be automatically found. (Such as in C:\Windows\System32) pkcs11.SharedLibPath = @"aetpkss1.dll"; BOOL success = [pkcs11 Initialize]; if (success == NO) { NSLog(@"%@",pkcs11.LastErrorText); return; } // Pass -1 for the slotID to open a session on the first non-empty slot. int slotID = -1; // Open a session. BOOL readWrite = YES; success = [pkcs11 OpenSession: [NSNumber numberWithInt: slotID] readWrite: readWrite]; if (success == NO) { NSLog(@"%@",pkcs11.LastErrorText); return; } // Make it an authenticated session by calling Login. // The smart card PIN is passed to the Login method. // The user type can be one of three choices: // 0 - Security Officer // 1 - Normal User // 2 - Context Specific. // You'll likely always login as the Normal User. int userType = 1; NSString *pin = @"0000"; success = [pkcs11 Login: [NSNumber numberWithInt: userType] pin: pin]; if (success == NO) { NSLog(@"%@",pkcs11.LastErrorText); success = [pkcs11 CloseSession]; return; } // Do what is needed with the authenticated session... // ... // ... // Revert to an unauthenticated session by calling Logout. success = [pkcs11 Logout]; if (success == NO) { NSLog(@"%@",pkcs11.LastErrorText); success = [pkcs11 CloseSession]; return; } // When finished, close the session. // It is important to close the session (memory leaks will occur if the session is not properly closed). success = [pkcs11 CloseSession]; if (success == NO) { NSLog(@"%@",pkcs11.LastErrorText); return; } NSLog(@"%@",@"PKCS11 Login and Logout successfully demonstrated."); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.