|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Classic ASP) SSH HSM Public Key AuthenticationDemonstrates how to authenticate with an SSH server using public key authentication using an HSM (USB token or smartcard). 
 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' Note: Chilkat's PKCS11 implementation runs on Windows, Linux, MacOs, and other supported operating systems. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Pkcs11") set pkcs11 = Server.CreateObject("Chilkat.Pkcs11") ' This would be a path to a .dylib on MacOS, or a path to a .so shared lib on Linux. pkcs11.SharedLibPath = "C:/Program Files (x86)/Gemalto/IDGo 800 PKCS#11/IDPrimePKCS1164.dll" pin = "0000" userType = 1 ' Establish a PKCS11 logged-on session using the driver (.so, .dylib, or .dll) as specified in the SharedLibPath above. success = pkcs11.QuickSession(userType,pin) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( pkcs11.LastErrorText) & "</pre>" Response.End End If ' Set PKCS11 attributes to find our desired private key object. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = Server.CreateObject("Chilkat.JsonObject") success = json.UpdateString("class","private_key") success = json.UpdateString("label","MySshKey") ' Get the PKCS11 handle to the private key located on the HSM. priv_handle = pkcs11.FindObject(json) ' Get the PKCS11 handle to the corresponding public key located on the HSM. success = json.UpdateString("class","public_key") pub_handle = pkcs11.FindObject(json) ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.SshKey") set key = Server.CreateObject("Chilkat.SshKey") ' The key type can be "rsa" or "ec" keyType = "rsa" success = key.UsePkcs11(pkcs11,priv_handle,pub_handle,keyType) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( key.LastErrorText) & "</pre>" Response.End End If ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Ssh") set ssh = Server.CreateObject("Chilkat.Ssh") success = ssh.Connect("example.com",22) If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( ssh.LastErrorText) & "</pre>" Response.End End If ' Authenticate with the SSH server using the login and ' HSM private key. (The corresponding public key should've ' been installed on the SSH server beforehand.) success = ssh.AuthenticatePk("myLogin",key) If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( ssh.LastErrorText) & "</pre>" Response.End End If Response.Write "<pre>" & Server.HTMLEncode( "Public-Key Authentication Successful!") & "</pre>" %> </body> </html> | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.