Sample code for 30+ languages & platforms
Java

Load a PuTTY Public Key

See more SSH Key Examples

Demonstrates how to load a PuTTY public key.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.SshKey;

public class ChilkatExample {

    public static void main(String[] args) {
        // Load a PuTTY public key.
        SshKey puttyKey = new SshKey();
        String 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 ----

        try {
            puttyKey.fromRfc4716PublicKey(pubKeyText);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // If desired, convert to other public key formats:
        String openSshPubKeyStr = puttyKey.toOpenSshPublicKey();
        System.out.println(openSshPubKeyStr);

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

        // Convert to an XML format:
        String xmlPubKeyStr = puttyKey.toXml();
        System.out.println(xmlPubKeyStr);

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