RSA JS PIDCrypt шифрование Java расшифровка

Я пытаюсь зашифровать простое сообщение с помощью pidCrypt в браузере, а затем расшифровать его с помощью Java-шифрования на сервере. Но я продолжал получать сообщение об ошибке:

javax.crypto.IllegalBlockSizeException: данные не должны быть длиннее 128 байт

Ключи:

ключи генерируются с помощью openssl genrsa (sslery). Затем закрытый ключ преобразуется в формат pkcs#8 der и считывается в код Java

Фрагмент кода JS:

/*---* ENCRYPT: RSA 1024 bit ---------*/  

 // public key  
 var params = certParser(publickey);  
 var key = pidCryptUtil.decodeBase64(params.b64);  


 // new RSA instance  
 var rsa = new pidCrypt.RSA();  


/* RSA encryption 
 * get the modulus and exponent from certificate (ASN1 parsing) 
 * pem(Array of Bytes)        
 */  

 // ASN1 parsing  
 var asn = pidCrypt.ASN1.decode(pidCryptUtil.toByteArray(key));  
 var tree = asn.toHexTree();  

 // setting the public key for encryption with retrieved ASN.1 tree  
 rsa.setPublicKeyFromASN(tree);  

 /*** encrypt */  
 var crypted = rsa.encrypt(plaintext);  
 //var crypted64 = pidCryptUtil.encodeBase64(crypted);

фрагмент кода Java:

       Cipher cipher = Cipher.getInstance("RSA");  
       cipher.init(Cipher.DECRYPT_MODE, myPrivKey);  
       byte[] descryptedData = cipher.doFinal(cyphertext.getBytes());  

0 ответов

Другие вопросы по тегам