Sample code for 30+ languages & platforms
Classic ASP

Load a PuTTY Public Key

See more SSH Key Examples

Demonstrates how to load a PuTTY public key.

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 PuTTY public key.
set puttyKey = Server.CreateObject("Chilkat.SshKey")
pubKeyText = puttyKey.LoadText("qa_data/ppk/putty_public.pem")

' The pubKeyText contains this content:

' 	---- BEGIN SSH2 PUBLIC KEY ----
' 	Comment: "rsa-key-20170126"
' 	AAAAB3NzaC1yc2EAAAABJQAAAQEAx+52s7vvaZ8rT2UdFZWlSUVDHDQ+5ZRFvgRW
' 	6nm2sO1c9WqNg7u2PQL4jeKSDX2XWcMnpleALz2x8Rr4rMy5E1iZzvWov8VtFd8l
' 	fa9HOkgEeJB3VFuYR3NlnD3eyCoYJYPVpHJHrIeui2WZs5vQ76HDe+th8+z5Ald4
' 	zPw3p2c6ZJpBrkSBM67hWokoBDi23c7NhszDHhJBrv+B98cQxnagI1PUKqN7E8Vg
' 	bNtBI8beIMHyI69up9G1AXSEi0cGIjYNx9RNUPau1mRk/SvfqxgWkAjM005lj7hc
' 	bOsjbdKK3T2NtrKTaYjEiXlEXcj1iGuApsD/m73pYaEJB3Nd7w==
' 	---- END SSH2 PUBLIC KEY ----

success = puttyKey.FromRfc4716PublicKey(pubKeyText)
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( puttyKey.LastErrorText) & "</pre>"
    Response.End
End If

' If desired, convert to other public key formats:
openSshPubKeyStr = puttyKey.ToOpenSshPublicKey()
Response.Write "<pre>" & Server.HTMLEncode( openSshPubKeyStr) & "</pre>"

' openSshPubKeyStr contains:
' ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAx+52s7vvaZ8rT2UdFZWlSUVDHDQ+5ZRFvgRW6nm2sO1c9WqNg7u2PQL4jeKSDX2XWcMnpleALz2x8Rr4rMy5E1iZzvWov8VtFd8lfa9HOkgEeJB3VFuYR3NlnD3eyCoYJYPVpHJHrIeui2WZs5vQ76HDe+th8+z5Ald4zPw3p2c6ZJpBrkSBM67hWokoBDi23c7NhszDHhJBrv+B98cQxnagI1PUKqN7E8VgbNtBI8beIMHyI69up9G1AXSEi0cGIjYNx9RNUPau1mRk/SvfqxgWkAjM005lj7hcbOsjbdKK3T2NtrKTaYjEiXlEXcj1iGuApsD/m73pYaEJB3Nd7w== rsa-key-20170126

' Convert to an XML format:
xmlPubKeyStr = puttyKey.ToXml()
Response.Write "<pre>" & Server.HTMLEncode( xmlPubKeyStr) & "</pre>"

' xmlPubKeyStr contains:
' <RSAPublicKey>
'     <Modulus>x+52s7vvaZ8rT2UdFZWlSUVDHDQ+5ZRFvgRW6nm2sO1c9WqNg7u2PQL4jeKSDX2XWcMnpleALz2x8Rr4rMy5E1iZzvWov8VtFd8lfa9HOkgEeJB3VFuYR3NlnD3eyCoYJYPVpHJHrIeui2WZs5vQ76HDe+th8+z5Ald4zPw3p2c6ZJpBrkSBM67hWokoBDi23c7NhszDHhJBrv+B98cQxnagI1PUKqN7E8VgbNtBI8beIMHyI69up9G1AXSEi0cGIjYNx9RNUPau1mRk/SvfqxgWkAjM005lj7hcbOsjbdKK3T2NtrKTaYjEiXlEXcj1iGuApsD/m73pYaEJB3Nd7w==</Modulus>
'     <Exponent>JQ==</Exponent>
' </RSAPublicKey>
' 
' 

%>
</body>
</html>