Sample code for 30+ languages & platforms
AutoIt

Load a PuTTY Public Key

See more SSH Key Examples

Demonstrates how to load a PuTTY public key.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

;  Load a PuTTY public key.
$oPuttyKey = ObjCreate("Chilkat.SshKey")
Local $sPubKeyText = $oPuttyKey.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 ----

$bSuccess = $oPuttyKey.FromRfc4716PublicKey($sPubKeyText)
If ($bSuccess <> True) Then
    ConsoleWrite($oPuttyKey.LastErrorText & @CRLF)
    Exit
EndIf

;  If desired, convert to other public key formats:
Local $sOpenSshPubKeyStr = $oPuttyKey.ToOpenSshPublicKey()
ConsoleWrite($sOpenSshPubKeyStr & @CRLF)

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

;  Convert to an XML format:
Local $sXmlPubKeyStr = $oPuttyKey.ToXml()
ConsoleWrite($sXmlPubKeyStr & @CRLF)

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