Sample code for 30+ languages & platforms
Node.js

Load a PuTTY Public Key

See more SSH Key Examples

Demonstrates how to load a PuTTY public key.

Chilkat Node.js Downloads

Node.js
NODEJS_PRELUDE

function chilkatExample() {

    var success = false;

    // Load a PuTTY public key.
    var puttyKey = new chilkat.SshKey();
    var 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 !== true) {
        console.log(puttyKey.LastErrorText);
        return;
    }

    // If desired, convert to other public key formats:
    var openSshPubKeyStr = puttyKey.ToOpenSshPublicKey();
    console.log(openSshPubKeyStr);

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

    // Convert to an XML format:
    var xmlPubKeyStr = puttyKey.ToXml();
    console.log(xmlPubKeyStr);

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

}

chilkatExample();