travist / jsencrypt

A zero-dependency Javascript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation.
http://www.travistidwell.com/jsencrypt
Other
6.65k stars 2.01k forks source link

encryption returning false #296

Open Superior126 opened 1 year ago

Superior126 commented 1 year ago

I'm trying to encrypt some text with a server public key, but it keeps returning false for whatever reason.

Example pub key from server:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3fQZaIIUSnWYVR++XoHZ
g7GQS996veS+vxY+FF7Oy9Kd943XHrzrYMuCOaOruB6SEZzu2U1xrXnEbTTdwNcj
/WZZCZ1JUPEILhLOPpTB9IE6AsyDfZJZcLeP459Db+5Pw79nf/Q8zyF5d8KS5fWD
INnS38X1EGV/nd7upCcYc8XXeX0a4c2Esd63OK6p2yrlVbjaxPokB6HFf6iZ+WXa
q6a8oO8Fd8wHWSZYnnlGJF0u3kbyas3gHFjiITpTFjQK2QavxzCuR/Slq4SEVMQS
lnF+wWnrhBE/0EcGyepXpQ+EwoNGe3vG04LS2pUPOZswetQrgTYAUFrvgicnvhiw
MQIDAQAB
-----END PUBLIC KEY-----

Client code:

// Create a new JSEncrypt instance
const encryptor = new JSEncrypt();

// Set the server's public key
encryptor.setPublicKey(server_pub_key);

// Encrypt the JSON string using the encryptor
const encryptedCredentials = encryptor.encrypt(jsonCredentials);

console.log(encryptedCredentials)
beshad commented 1 year ago

i also have the similar issue after i upgraded to latest version. now i get error message jsencrypt_1.JSEncrypt is not a constructor and encrypt() method returns string | boolean(false), any ideas?

siawyoung commented 1 year ago

Most probably the public key is invalid, for some reason. Double check that.

pirqqs commented 11 months ago

The way to declare your public key is :

const publicKeyCasting =
  "-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY0xIs5oSVl8dxCW4zDTtIdtfOVMjT8bI6l6tDb3BW6HSIAXqEsp6wfeVHJ+7LHFDGSn4TrURpL6FFKHPz7EVzZrcZjNU+jn8l2W9hDXnFc/v3qR3SRXuG71ZUiCP3g8j1SdY+sB0Yn0046PdFiWrIX8qiqMpNX2fHiJH5uq71/QIDAQAB-----END PUBLIC KEY-----"
coryryan269 commented 1 week ago

Same problem here. Tried every variation of encoding, preceding key with the "-----BEGIN PUBLIC KEY-----" and following with "-----END PUBLIC KEY-----"... it all results in false.