mirror of
https://github.com/openpgpjs/openpgpjs.git
synced 2026-03-19 14:48:59 +00:00
Fixes for symmetrically encrypted session keys
This commit is contained in:
committed by
Tankred Hase
parent
6c4e0ed6a0
commit
2e4e9387a0
@@ -157,20 +157,23 @@ var priv_key_de =
|
||||
'-----END PGP PRIVATE KEY BLOCK-----'].join('\n');
|
||||
|
||||
|
||||
var plaintext = 'short message\nnext line\n한국어/조선말';
|
||||
var plaintext = 'short message\nnext line\n한국어/조선말';
|
||||
|
||||
var pubKeyRSA, privKeyRSA, pubKeyDE, privKeyDE;
|
||||
var password1 = 'I am a password';
|
||||
var password2 = 'I am another password';
|
||||
|
||||
function initKeys() {
|
||||
pubKeyRSA = openpgp.key.readArmored(pub_key_rsa).keys[0];
|
||||
expect(pubKeyRSA).to.exist;
|
||||
privKeyRSA = openpgp.key.readArmored(priv_key_rsa).keys[0];
|
||||
expect(privKeyRSA).to.exist;
|
||||
pubKeyDE = openpgp.key.readArmored(pub_key_de).keys[0];
|
||||
expect(pubKeyDE).to.exist;
|
||||
privKeyDE = openpgp.key.readArmored(priv_key_de).keys[0];
|
||||
expect(privKeyDE).to.exist;
|
||||
}
|
||||
var pubKeyRSA, privKeyRSA, pubKeyDE, privKeyDE;
|
||||
|
||||
function initKeys() {
|
||||
pubKeyRSA = openpgp.key.readArmored(pub_key_rsa).keys[0];
|
||||
expect(pubKeyRSA).to.exist;
|
||||
privKeyRSA = openpgp.key.readArmored(priv_key_rsa).keys[0];
|
||||
expect(privKeyRSA).to.exist;
|
||||
pubKeyDE = openpgp.key.readArmored(pub_key_de).keys[0];
|
||||
expect(pubKeyDE).to.exist;
|
||||
privKeyDE = openpgp.key.readArmored(priv_key_de).keys[0];
|
||||
expect(privKeyDE).to.exist;
|
||||
}
|
||||
|
||||
describe('Init Worker', function() {
|
||||
|
||||
@@ -215,8 +218,8 @@ describe('High level API', function() {
|
||||
});
|
||||
|
||||
describe('Encryption', function() {
|
||||
it('RSA: encryptMessage async', function (done) {
|
||||
openpgp.encryptMessage([pubKeyRSA], plaintext).then(function(data) {
|
||||
it('AES: encryptMessage one password async', function (done) {
|
||||
openpgp.encryptMessage([], plaintext, password1).then(function(data) {
|
||||
expect(data).to.exist;
|
||||
expect(data).to.match(/^-----BEGIN PGP MESSAGE/);
|
||||
var msg = openpgp.message.readArmored(data);
|
||||
@@ -235,6 +238,26 @@ describe('High level API', function() {
|
||||
});
|
||||
});
|
||||
|
||||
it('RSA: encryptMessage one key one password async', function (done) {
|
||||
openpgp.encryptMessage(pubKeyRSA, plaintext, password1).then(function(data) {
|
||||
expect(data).to.exist;
|
||||
expect(data).to.match(/^-----BEGIN PGP MESSAGE/);
|
||||
var msg = openpgp.message.readArmored(data);
|
||||
expect(msg).to.be.an.instanceof(openpgp.message.Message);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('RSA: encryptMessage one key two passwords async', function (done) {
|
||||
openpgp.encryptMessage(pubKeyRSA, plaintext, [password1, password2]).then(function(data) {
|
||||
expect(data).to.exist;
|
||||
expect(data).to.match(/^-----BEGIN PGP MESSAGE/);
|
||||
var msg = openpgp.message.readArmored(data);
|
||||
expect(msg).to.be.an.instanceof(openpgp.message.Message);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('ELG: encryptMessage async', function (done) {
|
||||
openpgp.encryptMessage([pubKeyDE], plaintext).then(function(data) {
|
||||
expect(data).to.exist;
|
||||
@@ -254,7 +277,7 @@ describe('High level API', function() {
|
||||
before(function() {
|
||||
privKeyRSA.decrypt('hello world');
|
||||
privKeyDE.decrypt('hello world');
|
||||
msgRSA = openpgp.message.fromText(plaintext).encrypt([pubKeyRSA]);
|
||||
msgRSA = openpgp.message.fromText(plaintext).encrypt([pubKeyRSA],[password1, password2]);
|
||||
msgDE = openpgp.message.fromText(plaintext).encrypt([pubKeyDE]);
|
||||
});
|
||||
|
||||
@@ -274,6 +297,21 @@ describe('High level API', function() {
|
||||
});
|
||||
});
|
||||
|
||||
it('AES: decryptMessage password1 async', function (done) {
|
||||
openpgp.decryptMessage(password1, msgRSA).then(function(data) {
|
||||
expect(data).to.exist;
|
||||
expect(data).to.equal(plaintext);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('AES: decryptMessage password2 async', function (done) {
|
||||
openpgp.decryptMessage(password2, msgRSA).then(function(data) {
|
||||
expect(data).to.exist;
|
||||
expect(data).to.equal(plaintext);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function verifySignature(data, privKey) {
|
||||
|
||||
Reference in New Issue
Block a user