Sample code for 30+ languages & platforms
VBScript Requires Chilkat v11.0.0+

RSA Signature with Certificate's Private Key from PFX

See more RSA Examples

Demonstrates how to use a certificate's private key from a PFX file to create an RSA signature.

Chilkat VBScript Downloads

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

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

'  Create an instance of a certificate store object, load a PFX file,
'  locate the certificate we need, and use it for signing.
'  (a PFX file may contain more than one certificate.)
set certStore = CreateObject("Chilkat.CertStore")

'  The 1st argument is the filename, the 2nd arg is the 
'  PFX file's password:
success = certStore.LoadPfxFile("chilkat.pfx","test")
If (success = 0) Then
    outFile.WriteLine(certStore.LastErrorText)
    WScript.Quit
End If

'  Find the certificate by the subject common name:
set jsonCN = CreateObject("Chilkat.JsonObject")
success = jsonCN.UpdateString("CN","cert common name")

set cert = CreateObject("Chilkat.Cert")
success = certStore.FindCert(jsonCN,cert)
If (success = 0) Then
    outFile.WriteLine(certStore.LastErrorText)
    WScript.Quit
End If

set privKey = CreateObject("Chilkat.PrivateKey")
success = cert.GetPrivateKey(privKey)
If (success = 0) Then
    outFile.WriteLine(cert.LastErrorText)
    WScript.Quit
End If

set rsa = CreateObject("Chilkat.Rsa")

success = rsa.UsePrivateKey(privKey)
If (success = 0) Then
    outFile.WriteLine(rsa.LastErrorText)
    WScript.Quit
End If

'  Encode the signature as a hex string
rsa.EncodingMode = "hex"

strData = "This is the string to be signed."

'  Sign the string using the sha-1 hash algorithm.
'  Other valid choices are "sha-256", "md2" and "md5".
hexSig = rsa.SignStringENC(strData,"sha-1")

outFile.WriteLine(hexSig)

outFile.WriteLine("Success!")

outFile.Close