Classic ASP
Classic ASP
About RSA Public/Private Keys
See more RSA Examples
This example provides some additional information for understanding public/private key pairs. In demonstrates how a private key is a superset of the public key. A public key contains the modulus and exponent. The matching private key also contains the modulus and exponent, but also contains the additional private key parts.Chilkat Classic ASP Downloads
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0
set cert = Server.CreateObject("Chilkat.Cert")
' Load a digital certificate.
success = cert.LoadFromFile("digitalCert.cer")
If (success = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( cert.LastErrorText) & "</pre>"
Response.End
End If
' A .cer file does not contain the private key. It should contain
' the public key...
set pubKey = Server.CreateObject("Chilkat.PublicKey")
success = cert.GetPublicKey(pubKey)
' Let's have a look at it (in XML format).
Response.Write "<pre>" & Server.HTMLEncode( "Public Key from Certificate:") & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( pubKey.GetXml()) & "</pre>"
' An RSA public key consists of a modulus and exponent.
' An RSA private key includes both the modulus and exponent,
' as well as other "big" numbers: P, Q, D, etc.
' Let's load an RSA private key from a DER-encoded file:
set privKey = Server.CreateObject("Chilkat.PrivateKey")
success = privKey.LoadAnyFormatFile("PrivateKey.key","")
If (success <> 1) Then
Response.Write "<pre>" & Server.HTMLEncode( privKey.LastErrorText) & "</pre>"
Response.End
End If
' If this private key is the matching half to the public key from
' the certificate, then the modulus and exponent should
' be identical. (Thus, a "private key" really contains both the public part as well as the private parts...).
Response.Write "<pre>" & Server.HTMLEncode( "Private Key from DER:") & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( privKey.GetXml()) & "</pre>"
%>
</body>
</html>