Sample code for 30+ languages & platforms
Classic ASP

Export a Public Key as PEM

Demonstrates the Chilkat PublicKey.GetPem method, which returns the public key in PEM format. The only argument selects the underlying DER representation: true prefers the traditional PKCS #1 form (RSA), false uses the SubjectPublicKeyInfo form.

Note: The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.

Background: PEM is the most portable way to share a public key — the Base64 text block most tooling reads. The boolean picks the encoding: false produces the modern, algorithm-independent PUBLIC KEY (SubjectPublicKeyInfo), which is the usual choice; true produces the older RSA-specific RSA PUBLIC KEY for tools that require it. A public key is not sensitive, so the PEM can be distributed openly.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

'  Load a public key to export.  LoadFromFile inspects the content, so it accepts DER, PEM, XML,
'  JWK, and other supported representations.
set pubKey = Server.CreateObject("Chilkat.PublicKey")
success = pubKey.LoadFromFile("qa_data/public.pem")
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( pubKey.LastErrorText) & "</pre>"
    Response.End
End If

'  Export the public key in PEM format.  The argument selects the underlying DER representation:
'  1 prefers the traditional PKCS #1 form (RSA), 0 uses the SubjectPublicKeyInfo form.
preferPkcs1 = 0
pem = pubKey.GetPem(preferPkcs1)
If (pubKey.LastMethodSuccess = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( pubKey.LastErrorText) & "</pre>"
    Response.End
End If

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

%>
</body>
</html>