Sleds/libeye.js/test.js

67 lines
4.0 KiB
JavaScript
Raw Normal View History

2025-03-13 21:28:38 +00:00
/**
* @preserve Copyright (c) 2014-2015 IONU Security, Inc. All rights reserved.
*
* @file libeye test data and functions
*/
var urn = 'urn:sl:000000:A606592D:0F47:9F496CEBE3AF';
var perms = '{"read":["00000003"],"readAssign":["00000003"],' +
'"write":["00000003"],"writeAssign":["00000003"],"admin":["00000003"],' +
'"adminAssign":["00000003"],"stream":[],"streamAssign":[],"doorway":[],' +
'"doorwayAssign":[],"owner":"00000003"}';
var perms2 = '{"read":["00000003","00000002"],"readAssign":["00000003"],' +
'"write":["00000003"],"writeAssign":["00000003"],"admin":["00000003"],' +
'"hide":["00000003"],"hideAssign":["00000003"],"adminAssign":["01234567","00000003"],' +
' "stream":["owner"],"streamAssign":["owner"],"doorway":["00000003"],' +
'"doorwayAssign":["00000003","owner"],"owner":"00000003","topic":"A456BA456BA456B"}';
var permissionstoString = '{"stream":[],"doorway":[],"streamAssign":[],"hideAssign":["owner"],"adminAssign":[],"doorwayAssign":[],"hide":[],"writeAssign":["owner"],"admin":[],"owner":"123456AB","write":["owner"],"read":["owner","123456AB","123456CD","urn:sl:000000:00000000:FFFD:0123456789AB"],"readAssign":["owner"]}';
var orderedStr = '{"read":["123456AB","123456CD","urn:sl:000000:00000000:FFFD:0123456789AB"],"write":["123456AB"],"admin":[],"doorway":[],"stream":[],"hide":[],"readAssign":["123456AB"],"writeAssign":["123456AB"],"adminAssign":[],"doorwayAssign":[],"streamAssign":[],"hideAssign":["123456AB"]}';
//Java sig: d5a34e3a57fd eyeinterface sig: d5a34e3a57fd
var jmembers = '[\"urn:sl:000001:00000010::\",\"urn:sl:000011:00000010::\"]';
var privateKey = '-----BEGIN RSA PRIVATE KEY-----\n' +
'MIIEpAIBAAKCAQEAzBTVhKef/68WvTns382xPw9i4RvZX3y8DH70YEvP3WgqC39p\n' +
'D3PLhe7RiRvEGHWm0cdVpvUg1rdUE1pVPNSZjan/I8YUuX9eqLDZf6iqCYm5KwLj\n' +
'reaz2T0QBaKCs98I2W5qULbzKhqtw3Yp9gOyZTlEbgkg0ZVunzLr42se0LsvmbWl\n' +
'Er3UksyzAJfsE6q0eKjyvpaoAFT1nTEr84IrZqUdn2YKV80WX9zj7maQqWviDKow\n' +
'xK8NKO50oCouTXNDpxwYKqoT9/8rcpOUSXawBDbcNZWHKvG8e8icxLQqpDT3Egdn\n' +
'z+VtQXRwk1Yuyt8eE9jgh5dmBoo7PspQt6EVvwIDAQABAoIBAHkr5Zrd7CHj05yG\n' +
'yB4aAyNt/0epQWdwqDbDKlYCrWjIcC5jd/20wyLCqaa+1a+wK1xi/ngjE1xpfYIA\n' +
'IJv9ny59wP98nNGGzq1aU8l4W31OSKNBE+4tDJvvpZOy6efihV6UMIu8FKTrMkDb\n' +
'6A4qI8H2PqsWwGWwU/4yPdzJvYIwkjUDayCfOYjLjYJgiDK4ZrSkH6nwlTQ0ajaP\n' +
'gyLZrJu8o7KOa6bmyjT4iXUsvXsh5Q37rzLQd7sUOXCRvLp6QdPWvAy9zGDDew3q\n' +
'3ecA+87h1WDWVhnEUZl+pNKtBHRo9THUTIh3lG0eZNVPj+RLXLN8nARDauZb6cSy\n' +
'h35jQAECgYEA8exV7ssnhVlN8VZF/NN0FI+RX7fSTXcvVjtzQXsq8dm4vNj6VYde\n' +
'5gsgYSar3L0hdROFBP6E6OmzrLnXHfuVp0h4Y1CcYjbaj6uqUfm4e3k8xUKqwez/\n' +
'8cs7D+xhlpncf5z0ZaMJFS8bgRRUOReB2+qAcJowxJ/J+bwxHAC9y2sCgYEA1/TP\n' +
'gCXVt2Hh+mpwLkg1nYJItDJzGJwH8uN3pD53i03qRsfGdHaf+JHFXQF6XpupyvlZ\n' +
'0jR7i7/+OY1oqRTfUcApfyUKlOv8bOz6O+DNjh9p2eDx/Oztt4vQgjRqbRVqTFVu\n' +
'zwni5ApvIhpz0f22GBBWOt51DpmnTsTwSJplZ/0CgYADW/K9hBiiY2EPrtD997mu\n' +
'52dvWtASv0rq+ZxaFmm8Pfewt5qSQXTx4MmsT6snP4ENbR31ucsCqOwTw+jWw72K\n' +
'Oxlg16e0PWq/f/S3eq4zGLXdT1Wrp6zOILJLQE8CllRXeUhzeNYRczwAiNW6jTcC\n' +
'ZLkv1xRCRq25SAGuj9wSzQKBgQCIjWQnw8S/kEUz8tm8aix8zETsrHnatc7Q5sRg\n' +
'Np+glkPtPaVfPyMoKgSCKs0VxZg3oDQLluQIGf7GpYPoZipPpxKWMvXd9NpIhhA0\n' +
'jJFtrK9h9bsOE0K9LMtLiZlCIKh2XA8VG0s8ptxe1BsoTSU3Uh00XDXoZYBFboIB\n' +
'Zp94gQKBgQCR5mcD8JIWOts0ZxrTwho2kg898WRINusaIIhrCFPoWymvLpoeRzkG\n' +
'KvOt9T3KXVzT6lqmBRfZO50Dd9N7+oxYEA7OJb1JJ4WUmOn5llJOgsVmaT4iVdj6\n' +
'FqFAwmMOl6/hbaIXBUZ4q/QbzZLxmezOu0XwUzQ4ptvdgaab2qSkmQ==\n' +
'-----END RSA PRIVATE KEY-----';
// PBKDF2, 2500 iterations and old style fixed salt
var madman = '6EVdXfSkSX+I15ZXGCRRH4TnpBnt17ivih5Nd7DxkPQ=';
//function compute_keys (jmembers, jcollabs) {
function do_compute_keys() {
var keys = computeKeys (jmembers, jcollabs, madman);
console.log (JSON.stringify (keys));
rsa_private = forge.pki.privateKeyFromPem (privateKey);
for (var k = 0; k < keys.length; ++k) {
var collaborator = keys[k];
var key = forge.util.decode64(collaborator.key);
var decrypted = rsa_private.decrypt (key, 'RSA-OAEP');
console.log (collaborator._id + " " + forge.util.encode64 (decrypted));
}
}