Skip to content

Commit fc8cc61

Browse files
Merge branch 'master' into draft/python
2 parents 5483765 + 3d844b9 commit fc8cc61

7 files changed

Lines changed: 472 additions & 222 deletions

File tree

nodejs/decrypt-dh.js

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ var base64 = require('urlsafe-base64');
44
var crypto = require('crypto');
55
var ece = require('./ece.js');
66

7-
if (process.argv.length < 7) {
7+
if (process.argv.length < 6) {
88
console.warn('Usage: ' + process.argv.slice(0, 2).join(' ') +
9-
' <receiver-private> <receiver-public> <sender-public> <salt> <message> [JSON args]');
9+
' <auth-secret> <receiver-private> <receiver-public> <message> [JSON args]');
1010
process.exit(2);
1111
}
1212

@@ -16,14 +16,14 @@ var receiver = crypto.createECDH('prime256v1');
1616
// 2. it barfs when you try to access the public key, even after you set it
1717
// This hack squelches the complaints at the cost of a few wasted cycles
1818
receiver.generateKeys();
19-
receiver.setPublicKey(base64.decode(process.argv[3]));
20-
receiver.setPrivateKey(base64.decode(process.argv[2]));
21-
ece.saveKey('keyid', receiver, "P-256");
19+
receiver.setPublicKey(base64.decode(process.argv[4]));
20+
receiver.setPrivateKey(base64.decode(process.argv[3]));
21+
var keymap = {};
2222

2323
var params = {
24-
keyid: 'keyid',
25-
dh: process.argv[4],
26-
salt: process.argv[5]
24+
version: 'aes128gcm',
25+
authSecret: process.argv[2],
26+
privateKey: receiver
2727
};
2828

2929
if (process.argv.length > 7) {
@@ -32,9 +32,10 @@ if (process.argv.length > 7) {
3232
params[k] = extra[k];
3333
});
3434
}
35+
keymap[params.keyid] = receiver;
3536

3637
console.log("Params: " + JSON.stringify(params, null, 2));
37-
var result = ece.decrypt(base64.decode(process.argv[6]), params);
38+
var result = ece.decrypt(base64.decode(process.argv[5]), params);
3839

3940
console.log(base64.encode(result));
4041
console.log(result.toString('utf-8'));

nodejs/decrypt.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,26 @@ var base64 = require('urlsafe-base64');
44
var crypto = require('crypto');
55
var ece = require('./ece.js');
66

7-
if (process.argv.length < 5) {
7+
if (process.argv.length < 4) {
88
console.warn('Usage: ' + process.argv.slice(0, 2).join(' ') +
9-
' <key> <salt> <message> [JSON args]');
9+
' <key> <message> [JSON args]');
1010
process.exit(2);
1111
}
1212

1313
var params = {
14-
key: process.argv[2],
15-
salt: process.argv[3]
14+
version: 'aes128gcm',
15+
key: process.argv[2]
1616
};
1717

18-
if (process.argv.length > 5) {
19-
var extra = JSON.parse(process.argv[5]);
18+
if (process.argv.length > 4) {
19+
var extra = JSON.parse(process.argv[4]);
2020
Object.keys(extra).forEach(function(k) {
2121
params[k] = extra[k];
2222
});
2323
}
2424

2525
console.log("Params: " + JSON.stringify(params, null, 2));
26-
var result = ece.decrypt(base64.decode(process.argv[4]), params);
26+
var result = ece.decrypt(base64.decode(process.argv[3]), params);
2727

2828
console.log(base64.encode(result));
2929
console.log(result.toString('utf-8'));

0 commit comments

Comments
 (0)