Sample code for 30+ languages & platforms
Classic ASP

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 Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
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 = Server.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
    Response.Write "<pre>" & Server.HTMLEncode( certStore.LastErrorText) & "</pre>"
    Response.End
End If

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

set cert = Server.CreateObject("Chilkat.Cert")
success = certStore.FindCert(jsonCN,cert)
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( certStore.LastErrorText) & "</pre>"
    Response.End
End If

set privKey = Server.CreateObject("Chilkat.PrivateKey")
success = cert.GetPrivateKey(privKey)
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( cert.LastErrorText) & "</pre>"
    Response.End
End If

set rsa = Server.CreateObject("Chilkat.Rsa")

success = rsa.UsePrivateKey(privKey)
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( rsa.LastErrorText) & "</pre>"
    Response.End
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")

Response.Write "<pre>" & Server.HTMLEncode( hexSig) & "</pre>"

Response.Write "<pre>" & Server.HTMLEncode( "Success!") & "</pre>"

%>
</body>
</html>