Skip to content

encrypt and decrypt zip file #2

@sharmapn

Description

@sharmapn

I am able to encrypt and decrypt the contents of a text file using the browserPGP tool.
This is my encryption code. I am not including the input of key from a textbox.

const publicKeys = await Promise.all(publicKeysArmored.map(armoredKey => openpgp.readKey({ armoredKey }))); 
var blob = new Blob(["Lorem Ipsum is simply dummy text of the printing and typesetting industry. "], { type: "text/plain;charset=utf-8" });
//saveAs(blob,'decrypted.txt');
 
  var file = new File([blob], "plaintext.txt", { type: "text/plain", });
  var fileReader = new FileReader();
  
  fileReader.onload = function() 
  {
        const message = await openpgp.createMessage({ text: fileReader.result}); 
        const encrypted = await openpgp.encrypt(
        {        
           message, 
           encryptionKeys: publicKeys
        });        
         var blob3 = new Blob([encrypted],{type: 'text/plain'} );    
         saveAs(blob3, 'encrypted.txt'); 
  }
  fileReader.readAsText(file);
}

However, I am not able to encrypt and decrypt a zip file. The decrypted zip file is always corrupt.
I use the same code, but convert the zip file contents into plaintext, which I think is not a good idea.

var zipFile = new JSZip();
zipFile.file("Metadata.txt", 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. ');

var plaintextbytes = new Uint8Array(zipFile);
var plainTextString = new TextDecoder().decode(plaintextbytes);
const message = await openpgp.createMessage({ text: plainTextString });

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions