SwiftyRSA
SwiftyRSA copied to clipboard
Exporting RSA public key in PKCS#1 format
I use SwiftyRSA 1.4.0 (via Podfile). I create keys from attached certificates like:
let privateKey = try PrivateKey(pemNamed: "priv")
let publicKey = try PublicKey(pemNamed: "pub")
and I want export it in PKCS#1 format. When I print public key:
print(try publicKey.pemString())
I get:
MIIBCgKCAQEArMn6cCuAdPodSr8WbiE7NQ9UYFBoLdLWZCf8/rnhcb7vJGI3/zFD7gBP2pwThhJaJrGBhVelaKZqVWVrqmPlIO0pTb0FbSR1nuYpEw2RQljFmaefnKH4AU42h1DCcwomQOFD9Ne4NSWryuuivDqzTAjDe4wJYL2mEmSxjkZ2RfD35V7eaipPlMemfyKTFm9rL8Y2KrOFIVx8PrQc3tItGonW1ISfrHSm/c332ZIK1byvU9YnFsdicr3N3RvA61jJnsLMtCpBxXwhbjfF5x216YNIn13sUlgvjjEnNYPCE5LthX248+lefsOBWeRcWuJN0LTabJYOgaOepnfn8uceuQIDAQAB
which is PKCS#8 format. Missing part of PKCS#1 is:
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
The whole part of PKCS#1 format should be look like:
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArMn6cCuAdPodSr8WbiE7NQ9UYFBoLdLWZCf8/rnhcb7vJGI3/zFD7gBP2pwThhJaJrGBhVelaKZqVWVrqmPlIO0pTb0FbSR1nuYpEw2RQljFmaefnKH4AU42h1DCcwomQOFD9Ne4NSWryuuivDqzTAjDe4wJYL2mEmSxjkZ2RfD35V7eaipPlMemfyKTFm9rL8Y2KrOFIVx8PrQc3tItGonW1ISfrHSm/c332ZIK1byvU9YnFsdicr3N3RvA61jJnsLMtCpBxXwhbjfF5x216YNIn13sUlgvjjEnNYPCE5LthX248+lefsOBWeRcWuJN0LTabJYOgaOepnfn8uceuQIDAQAB
Simillar issues were: https://stackoverflow.com/questions/8784905/command-line-tool-to-export-rsa-private-key-to-rsapublickey https://github.com/Brightspace/node-jwk-to-pem/pull/26