| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import CryptoForge from '../src/crypto-forge';
- import CryptoNode from './../src/crypto-node';
- const canonicalKeypairSerialized = `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`;
- describe('crypto-node', () => {
- const cryptoNode = new CryptoNode();
- test('should generate keypair', async () => {
- const keyPair = await cryptoNode.generateRsaKeyPair(2048);
- const exported = keyPair.export();
- expect(keyPair).toBeDefined();
- expect(exported).toBeDefined();
- });
- test('should import generated keypair and generate correct hash', async () => {
- const keyPair = await cryptoNode.importRsaKeyPair(canonicalKeypairSerialized);
- const pubHash = keyPair.getPublicHash();
- const sig = await keyPair.sign(Buffer.from('testing123', 'utf-8'));
- const publicKey = keyPair.getPublicKey();
- expect(pubHash).toEqual('Gv5vSfXE8E81MNETXMaAzsR7pUXeR7fZLUX3wgRFLY4o');
- expect(publicKey).toEqual('30820122300d06092a864886f70d01010105000382010f003082010a0282010100d73a3aaee128fcafd8f034f451721293c710fcfc1d3222673beaf7866e7815a203e6800645e0a5149eaefb0624a284b771a70adb55614720cead5559a92b1b5667c5d4cf0013cba9faeaad192a2f6af72ea93917280a6fc3452ef1bb3a876d92e4d4fb76ca91d4d0d3ce465ddda851d178fd9ec9b5f961e55dfb5449c37b09cc1394fad6980992aa0061e047da0a5ad4f67582c10dd2ff2ac8772441cd2352d9d51347503ea5aa046cfd5a4b0d7594597e53c01ed72e2b26e56a0378752ce5e999e74d2dc088518ba6749d365d52f62a7f512aaab45895aa89514d6c6f52d963a2efe9c7a519f2a2ec0e5e2780e959cecf8c860f97183707ccea417b99b4bd2b0203010001');
- expect(sig).toEqual('13a0bb7cdd11c5ab297adf64e169ae04c0ed0b75348242cd03207e7b41f81a33a93e2330ba2acb3c82ac47e52c7c82e3a25823bfc253f0cdcebda7d91c88174f0c6a2965f9586e3a75537e73788d192868633383372c52fe8cf48de3aa3a36754daa6ed3cd007ab36719c9adfdb3669a240fda28036266497ba4743c5617b94b693b0d7edb3e2cdac0075baf18102e643a0115aee889d45a366cce233f197639c70d9dde65d777d78807815ce1cf1fc48c6845369cbbaaa493853a25366460154df15784907952dd17b7b4581fbf1e43f650fcb8657d223656236b3a31a43f8eeace2f63fb808095f4c05ac91a7902a057947ad74e0bb4cacefbcdcce8a4c74c');
- });
- });
- describe('forge-crypto', () => {
- const cryptoNode = new CryptoForge();
- test('should generate keypair', async () => {
- const keyPair = await cryptoNode.generateRsaKeyPair(2048);
- const exported = keyPair.export();
- expect(keyPair).toBeDefined();
- expect(exported).toBeDefined();
- });
- test('should import generated keypair and generate correct hash', async () => {
- const keyPair = await cryptoNode.importRsaKeyPair(canonicalKeypairSerialized);
- const pubHash = keyPair.getPublicHash();
- const sig = await keyPair.sign(Buffer.from('testing123', 'utf-8'));
- const publicKey = keyPair.getPublicKey();
- expect(pubHash).toEqual('Gv5vSfXE8E81MNETXMaAzsR7pUXeR7fZLUX3wgRFLY4o');
- expect(publicKey).toEqual('30820122300d06092a864886f70d01010105000382010f003082010a0282010100d73a3aaee128fcafd8f034f451721293c710fcfc1d3222673beaf7866e7815a203e6800645e0a5149eaefb0624a284b771a70adb55614720cead5559a92b1b5667c5d4cf0013cba9faeaad192a2f6af72ea93917280a6fc3452ef1bb3a876d92e4d4fb76ca91d4d0d3ce465ddda851d178fd9ec9b5f961e55dfb5449c37b09cc1394fad6980992aa0061e047da0a5ad4f67582c10dd2ff2ac8772441cd2352d9d51347503ea5aa046cfd5a4b0d7594597e53c01ed72e2b26e56a0378752ce5e999e74d2dc088518ba6749d365d52f62a7f512aaab45895aa89514d6c6f52d963a2efe9c7a519f2a2ec0e5e2780e959cecf8c860f97183707ccea417b99b4bd2b0203010001');
- expect(sig).toEqual('13a0bb7cdd11c5ab297adf64e169ae04c0ed0b75348242cd03207e7b41f81a33a93e2330ba2acb3c82ac47e52c7c82e3a25823bfc253f0cdcebda7d91c88174f0c6a2965f9586e3a75537e73788d192868633383372c52fe8cf48de3aa3a36754daa6ed3cd007ab36719c9adfdb3669a240fda28036266497ba4743c5617b94b693b0d7edb3e2cdac0075baf18102e643a0115aee889d45a366cce233f197639c70d9dde65d777d78807815ce1cf1fc48c6845369cbbaaa493853a25366460154df15784907952dd17b7b4581fbf1e43f650fcb8657d223656236b3a31a43f8eeace2f63fb808095f4c05ac91a7902a057947ad74e0bb4cacefbcdcce8a4c74c');
- });
- });
|