我想用户SWCrypt进行RSA加密和解密。我应该把我的公钥64解码到服务器上。但是当我尝试发送生成的公钥的base64,我不能在服务器端得到这个错误:SWCrypt公钥VS PKCS8PEM密钥
let (privateKey, publicKey) = try CC.RSA.generateKeyPair(2048)
let publicKeyBase64 = publicKey.base64EncodedString()
错误:java.security.InvalidKeyException:IOException异常:寒冷的语法错误,而不是一个序列
但是当发送PEMPublicKey成功响应。
let publicKeyPEM = SwKeyConvert.PublicKey.derToPKCS8PEM(publicKey)
publicKeyBase64和publicKeyPEM有什么区别?
MIIBCgKCAQEAuWwCZpNXJtT2spBsDwrQaTFGVAjicM341Qzg+1whtlj9J60c/7HYe6AcGHa8Dinkiuk7Whs1Wpa34aa223WQsa+kFSNwkC6oDUXhewan3VEsv1uedzHc8JPlTXnItJsP8cIETFgHpdKWk462hU09mVCTtQTix0BEb8snS96wERvKq957OeaGtFasfT/bQfY0mbDu6eEMqswmfX8j84kuTfwWtqt6mLMTJaDwnsGc5WY1zkau68IQ/CBiiLpZ5hSVMs2pPj3Ao0+wNhR5MlMgdcwrU62SHWcMJ5cYssFgWZyZSvO3n/yW43fE5a1i+9Tm2trveGIdMR4d/MoA79/8IQIDAQAB
样品产生PEM键:
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuWwCZpNXJtT2spBsDwrQaTFGVAjicM341Qzg+1whtlj9J60c/7HYe6AcGHa8Dinkiuk7Whs1Wpa34aa223WQsa+kFSNwkC6oDUXhewan3VEsv1uedzHc8JPlTXnItJsP8cIETFgHpdKWk462hU09mVCTtQTix0BEb8snS96wERvKq957OeaGtFasfT/bQfY0mbDu6eEMqswmfX8j84kuTfwWtqt6mLMTJaDwnsGc5WY1zkau68IQ/CBiiLpZ5hSVMs2pPj3Ao0+wNhR5MlMgdcwrU62SHWcMJ5cYssFgWZyZSvO3n/yW43fE5a1i+9Tm2trveGIdMR4d/MoA79/8IQIDAQAB
如何发送生成的公用密钥PEM格式的密钥生成简单的键
样?
谢谢。
什么格式需要你的服务器:DER(二进制),PEM(用----- BEGIN PUBLIC KEY编码的base64),还是用base64编码的DER? – pedrofb
@pedrofb PKCS8用于私钥,X509用于公钥 – ava