Swift
Swift
Load a PuTTY Public Key
See more SSH Key Examples
Demonstrates how to load a PuTTY public key.Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// Load a PuTTY public key.
let puttyKey = CkoSshKey()!
var pubKeyText: String? = puttyKey.loadText(path: "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(keyStr: pubKeyText)
if success != true {
print("\(puttyKey.lastErrorText!)")
return
}
// If desired, convert to other public key formats:
var openSshPubKeyStr: String? = puttyKey.toOpenSshPublicKey()
print("\(openSshPubKeyStr!)")
// openSshPubKeyStr contains:
// ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAx+52s7vvaZ8rT2UdFZWlSUVDHDQ+5ZRFvgRW6nm2sO1c9WqNg7u2PQL4jeKSDX2XWcMnpleALz2x8Rr4rMy5E1iZzvWov8VtFd8lfa9HOkgEeJB3VFuYR3NlnD3eyCoYJYPVpHJHrIeui2WZs5vQ76HDe+th8+z5Ald4zPw3p2c6ZJpBrkSBM67hWokoBDi23c7NhszDHhJBrv+B98cQxnagI1PUKqN7E8VgbNtBI8beIMHyI69up9G1AXSEi0cGIjYNx9RNUPau1mRk/SvfqxgWkAjM005lj7hcbOsjbdKK3T2NtrKTaYjEiXlEXcj1iGuApsD/m73pYaEJB3Nd7w== rsa-key-20170126
// Convert to an XML format:
var xmlPubKeyStr: String? = puttyKey.toXml()
print("\(xmlPubKeyStr!)")
// xmlPubKeyStr contains:
// <RSAPublicKey>
// <Modulus>x+52s7vvaZ8rT2UdFZWlSUVDHDQ+5ZRFvgRW6nm2sO1c9WqNg7u2PQL4jeKSDX2XWcMnpleALz2x8Rr4rMy5E1iZzvWov8VtFd8lfa9HOkgEeJB3VFuYR3NlnD3eyCoYJYPVpHJHrIeui2WZs5vQ76HDe+th8+z5Ald4zPw3p2c6ZJpBrkSBM67hWokoBDi23c7NhszDHhJBrv+B98cQxnagI1PUKqN7E8VgbNtBI8beIMHyI69up9G1AXSEi0cGIjYNx9RNUPau1mRk/SvfqxgWkAjM005lj7hcbOsjbdKK3T2NtrKTaYjEiXlEXcj1iGuApsD/m73pYaEJB3Nd7w==</Modulus>
// <Exponent>JQ==</Exponent>
// </RSAPublicKey>
//
//
}