Error decrypting string using openpgp.min.js

60 Views Asked by At

I was able to decrypt a string openpgp.min.js but I accidentally deleted my code when trying move it different dir. I have coded it again but when I try to call decrypt function by passing msg and passphrase I get error in console.

Error decrypting message: TypeError: Error decrypting message: e.getDecryptionKeys is not a function
    decryptSessionKeys moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/openpgp.min.js:3
    decryptSessionKeys moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/openpgp.min.js:3
    decryptSessionKeys moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/openpgp.min.js:3
    decrypt moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/openpgp.min.js:3
    decrypt moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/openpgp.min.js:17
    decrypt moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/decrypt.js:28
    async* debugger eval code:1
decrypt.js:35:17

Below is the copy of whole console just in case if it is related to other errors.

asm.js type error: Asm.js optimizer disabled because debugger is active 3 openpgp.min.js
Loaded openpgp.min.js openpgp.min.js:2:9
Loaded decrypt.js files decrypt.js:1:9

Source map error: Error: NetworkError when attempting to fetch resource.
Resource URL: moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/openpgp.min.js
Source Map URL: openpgp.min.js.map

let test = 'LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpoUUVNQXhoeER5ZVhEdDRBQVFmL1Nlb3ZGY1BPQlo2ZWFrWUIwV1ExVjFUaFZoZ1VsZlcrN1ViSkE1UGg1TktGCnY3UGNUWjMxSTJYMEJpTWR2RnNVaWNVUWRZWEYvWmw4UTRxK1JUNFVmdmFFUkxZQ1YwUTltSnEzZ2VRU3VkQzQKNkV5dnhLZG5nRzZLSXZpNUtxZS9FcHFGTE54d0lzd2U4RExEZi9tU29wdytxeWtuSU1RSjdWeGkvSlhwNjdQbgprRFlnUldWa2U3aTdMMEROWHNKaDBNNFBWK1l2dlhtSUI1WG1iWWNTeHlMZEViVlVuL1dJL3lkUFlXaWorSjdLCm5EaUdNRWVhcGZEN3pLcVdCUmp5Z1NIcHl2UlV3T3paKzZJcUZZdXFMWUxTMXJTNk9XMDZERmk3ZjJaaXRSSlIKT3JGN1pob0JZSjU2a3NJZjA0cC9QbUtEcmxZUzhPNmllbHdTQVZXZXh0SkZBYURodzJMN1BlQXlpcmdTNE0wUgpac3RJbmZrSkpYTURBb2JML2lNNE9pY2xpVENsVjZXRDEvVWI2Sk9IRUEyU1lyU1ZhRUxkNkwveEpCM2x2T0lkCmhpMEN5aCt5Cj1EZnBwCi0tLS0tRU5EIFBHUCBNRVNTQUdFLS0tLS0K'

undefined

decrypt(atob(test), null)

Password is Null decrypt.js:9:17

Error decrypting message: TypeError: Error decrypting message: e.getDecryptionKeys is not a function
    decryptSessionKeys moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/openpgp.min.js:3
    decryptSessionKeys moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/openpgp.min.js:3
    decryptSessionKeys moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/openpgp.min.js:3
    decrypt moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/openpgp.min.js:3
    decrypt moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/openpgp.min.js:17
    decrypt moz-extension://d3ee41ae-ce64-43db-81ca-450df2745453/decrypt.js:28
    async* debugger eval code:1
decrypt.js:35:17
Promise { <state>: "fulfilled", <value>: undefined }


my code is as below:


async function decrypt(msg, pass) {
    const privateKeyArmored = localStorage.getItem('privateKey');
    const passphrase = `${pass}`;
    let privateKey;
    
    if (pass === null || pass === '') {
        console.log('Password is Null');
        privateKey = privateKeyArmored;
    } else {
        console.log('Password is not Null');
        try {
            privateKey = await openpgp.decryptKey({
                privateKey: await openpgp.readPrivateKey({ armoredKey: privateKeyArmored }),
                passphrase
            });
        } catch (error) {
            console.error('Error decrypting private key:', error);
        }
    }

    try {
        const message = await openpgp.readMessage({
            armoredMessage: `${msg}`
        });

        const { data: decrypted, signatures } = await openpgp.decrypt({
            message,
            decryptionKeys: privateKey
        });

        console.log('Decrypted:', decrypted);
    } catch (error) {
        console.error('Error decrypting message:', error);
    }
}

I'm using : OpenPGP.js v5.9.0 - 2023-05-15

It should log decrypted value to console.

0

There are 0 best solutions below