@microsoft/useragent-sdk
Version:
SDK for building decentralized identity wallets and enterprise agents.
39 lines • 2.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
const CryptoFactory_1 = require("../../../src/crypto/plugin/CryptoFactory");
const KeyStoreInMemory_1 = require("../../../src/crypto/keyStore/KeyStoreInMemory");
const src_1 = require("../../../src");
const useragent_plugin_secp256k1_1 = require("@microsoft/useragent-plugin-secp256k1");
const CryptoFactoryNode_1 = require("../../../src/crypto/plugin/CryptoFactoryNode");
describe('CryptoFactory', () => {
it('should create a crypto suite', () => {
const keyStore = new KeyStoreInMemory_1.default();
const factory = new CryptoFactory_1.default(keyStore, src_1.SubtleCryptoNode.getSubtleCrypto());
expect(factory).toBeDefined();
const keyEncrypter = factory.getKeyEncrypter('*');
expect(keyEncrypter).toBeDefined();
const macSigner = factory.getMessageAuthenticationCodeSigners('*');
expect(macSigner).toBeDefined();
const messageDigest = factory.getMessageDigest('*');
expect(messageDigest).toBeDefined();
const messageSigner = factory.getMessageSigner('*');
expect(messageSigner).toBeDefined();
const sharedKeyEncrypter = factory.getSharedKeyEncrypter('*');
expect(sharedKeyEncrypter).toBeDefined();
const symmetricEncrypter = factory.getSymmetricEncrypter('*');
expect(symmetricEncrypter).toBeDefined();
});
it('should plugin a new algorithm into crypto suite', () => {
const keyStore = new KeyStoreInMemory_1.default();
const factory = new CryptoFactoryNode_1.default(keyStore, src_1.SubtleCryptoNode.getSubtleCrypto());
const messageSigner = factory.getMessageSigner('ed25519');
expect(messageSigner instanceof useragent_plugin_secp256k1_1.SubtleCryptoElliptic).toBeTruthy();
expect(messageSigner.providers.algorithms.includes('EDDSA')).toBeTruthy();
expect(messageSigner.providers.algorithms.includes('ECDSA')).toBeTruthy();
});
});
//# sourceMappingURL=CryptoFactory.spec.js.map