Sample code for 30+ languages & platforms
Lua Requires Chilkat v9.5.0.96+

PKCS11 Establish Session with Login (QuickSession)

See more PKCS11 Examples

Demonstrates a shorter and quicker way to establish a PKCS11 session.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local pkcs11 = chilkat.Pkcs11.new()

-- Use the PKCS11 driver (.dll, .so, .dylib) for your particular HSM.
-- For example:
pkcs11.shared_lib_path = "C:/Program Files (x86)/Gemalto/IDGo 800 PKCS#11/IDPrimePKCS1164.dll"

-- Use your HSM's PIN to login.
-- If you wish to establish a session without logging in, then set the pin equal to the empty string.
local pin = "0000"

-- Normal user = 1
local userType = 1

-- Establish a logged-on user session with the HSM.
-- The call to QuickSession takes the place of calling Initialize, OpenSession, and Login.
local success = pkcs11:quick_session(userType, pin)
if not success then
    print(pkcs11.last_error_text)
    return
end

-- Do whatever is needed in your PKCS11 session.
-- ...
-- ...

pkcs11:logout()
pkcs11:close_session()

print("Success.")