我想用戶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