Ich möchte SWCrypt für RSA-Verschlüsselung und Entschlüsselung verwenden. Ich sollte meinen öffentlichen Schlüssel Base64 decodiert zum Server senden. aber wenn ich erzeugten öffentlichen Schlüssel base64 senden versuchen, ich kann nicht diesen Fehler in Server-Seite:SWCrypt öffentlichen Schlüssel VS PKCS8PEM Schlüssel
let (privateKey, publicKey) = try CC.RSA.generateKeyPair(2048)
let publicKeyBase64 = publicKey.base64EncodedString()
Fehler: java.security.InvalidKeyException: IOException: algid Parse-Fehler, nicht eine Folge
aber wenn Senden Sie PEMPublicKey, um eine erfolgreiche Antwort zu erhalten.
let publicKeyPEM = SwKeyConvert.PublicKey.derToPKCS8PEM(publicKey)
Was ist der Unterschied zwischen publicKeyBase64 und publicKeyPEM?
Probe erzeugten Schlüssel:
MIIBCgKCAQEAuWwCZpNXJtT2spBsDwrQaTFGVAjicM341Qzg+1whtlj9J60c/7HYe6AcGHa8Dinkiuk7Whs1Wpa34aa223WQsa+kFSNwkC6oDUXhewan3VEsv1uedzHc8JPlTXnItJsP8cIETFgHpdKWk462hU09mVCTtQTix0BEb8snS96wERvKq957OeaGtFasfT/bQfY0mbDu6eEMqswmfX8j84kuTfwWtqt6mLMTJaDwnsGc5WY1zkau68IQ/CBiiLpZ5hSVMs2pPj3Ao0+wNhR5MlMgdcwrU62SHWcMJ5cYssFgWZyZSvO3n/yW43fE5a1i+9Tm2trveGIdMR4d/MoA79/8IQIDAQAB
Probe erzeugten PEM-Schlüssel:
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuWwCZpNXJtT2spBsDwrQaTFGVAjicM341Qzg+1whtlj9J60c/7HYe6AcGHa8Dinkiuk7Whs1Wpa34aa223WQsa+kFSNwkC6oDUXhewan3VEsv1uedzHc8JPlTXnItJsP8cIETFgHpdKWk462hU09mVCTtQTix0BEb8snS96wERvKq957OeaGtFasfT/bQfY0mbDu6eEMqswmfX8j84kuTfwWtqt6mLMTJaDwnsGc5WY1zkau68IQ/CBiiLpZ5hSVMs2pPj3Ao0+wNhR5MlMgdcwrU62SHWcMJ5cYssFgWZyZSvO3n/yW43fE5a1i+9Tm2trveGIdMR4d/MoA79/8IQIDAQAB
wie erzeugten öffentlichen Schlüssel einfach von PEM-Key-Format senden können?
danke.
Welches Format erwartet Ihren Server: DER (binär), PEM (base64 codiert mit ----- BEGIN PUBLIC KEY ------) oder DER in Base64 codiert? – pedrofb
@pedrofb PKCS8 für privaten Schlüssel und X509 für öffentlichen Schlüssel – ava