Sample code for 30+ languages & platforms
Visual Basic 6.0

SFTP use Cert's Private Key for Authentication (Windows)

See more SFTP Examples

Demonstrates how to use the private key of a pre-installed certificate (on Windows) for SFTP authentication. The certificate's private key must be marked as "exportable" when originally installed.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim cert As New ChilkatCert

' Load the certificate from the Windows certificate store
success = cert.LoadByCommonName("my_cert_common_name")
If (success = 0) Then
    Debug.Print cert.LastErrorText
    Exit Sub
End If

' Get the private key.  
Dim privKey As New PrivateKey
success = cert.GetPrivateKey(privKey)
If (success = 0) Then
    Debug.Print cert.LastErrorText
    Exit Sub
End If

Dim privKeyPem As String
privKeyPem = privKey.GetPkcs8Pem()
If (privKey.LastMethodSuccess = 0) Then
    Debug.Print privKey.LastErrorText
    Exit Sub
End If

Dim sshKey As New ChilkatSshKey
success = sshKey.FromOpenSshPrivateKey(privKeyPem)
If (success = 0) Then
    Debug.Print sshKey.LastErrorText
    Exit Sub
End If

' Connect to an SSH/SFTP server
Dim sftp As New ChilkatSFtp
success = sftp.Connect("sftp.example.com",22)
If (success = 0) Then
    Debug.Print sftp.LastErrorText
    Exit Sub
End If

' Authenticate with the SSH server using a username + private key.
' (The private key serves as the password.  The username identifies
' the SSH user account on the server.)
success = sftp.AuthenticatePk("mySshLogin",sshKey)
If (success = 0) Then
    Debug.Print sftp.LastErrorText
    Exit Sub
End If

Debug.Print "OK, the connection and authentication with the SSH server is completed."

' This example is only to show the connection + authentication using a private key associated with a certificate in the Windows certificate store...