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