public void CryptoKeyStore_Add()
        {
            var bytes = Guid.NewGuid().ToByteArray();

            byte[] bytesToReturn = null;
            var    key           = Guid.NewGuid().ToString();

            var config = new Mock <IConfigurationProvider>();

            config.Setup(x => x.GetGlobalConfigurationAsString(It.IsAny <string>(), It.IsAny <string>()))
            .Returns("test_bucket");

            var fileStore = new Mock <IFileStore>();

            fileStore.Setup(x => x.Add(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <byte[]>()))
            .Callback <string, string, byte[]>((k, p, v) => bytesToReturn = v);

            fileStore.Setup(x => x.Get(It.IsAny <string>(), It.IsAny <string>())).Returns(() => bytesToReturn);

            var fileStoreFactory = new Mock <IFileStoreFactory>();

            fileStoreFactory.Setup(x => x.GetGlobalClient()).Returns(fileStore.Object);

            var cryptoKeyStore = new CryptoKeyStore(config.Object, fileStoreFactory.Object);

            cryptoKeyStore.Add(_application, _tenant, key, bytes);

            var value = cryptoKeyStore.Get(_application, _tenant, key);

            Assert.NotNull(value);
        }
Beispiel #2
0
 public void Initialize()
 {
     this.storage = new Mock <IStorageProvider <IOAuthCryptoKey> >();
     this.store   = new CryptoKeyStore
     {
         Storage = this.storage.Object,
     };
 }
        // Token: 0x0600019D RID: 413 RVA: 0x0000B4D8 File Offset: 0x000096D8
        private static HMAC GetHMACForCryptoKey(CryptoKeyPayloadType payloadKey, byte version)
        {
            HMAC             hmac         = null;
            CryptographicKey keyByPayload = CryptoKeyStore.GetKeyByPayload(payloadKey);

            if (version == 0)
            {
                hmac     = HMAC.Create("HMACSHA1");
                hmac.Key = keyByPayload.Key;
            }
            else if (version == 1)
            {
                hmac     = HMAC.Create(keyByPayload.Algorithm.Name);
                hmac.Key = keyByPayload.Key;
            }
            return(hmac);
        }
        public async Task CryptoKeyStore_GetAsync_NoDataInStore_ShouldReturn_Null()
        {
            var key    = Guid.NewGuid().ToString();
            var config = new Mock <IConfigurationProvider>();

            config.Setup(x => x.GetGlobalConfigurationAsStringAsync(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync("test_bucket");

            var fileStore = new Mock <IFileStore>();

            fileStore.Setup(x => x.GetAsync(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(null);

            var fileStoreFactory = new Mock <IFileStoreFactory>();

            fileStoreFactory.Setup(x => x.GetGlobalClientAsync()).ReturnsAsync(fileStore.Object);

            var cryptoKeyStore = new CryptoKeyStore(config.Object, fileStoreFactory.Object);

            var value = await cryptoKeyStore.GetAsync(_application, _tenant, key);

            Assert.Null(value);
        }
        public void CryptoKeyStore_Get_DataInStore_ShouldReturn_Data()
        {
            var bytes  = Guid.NewGuid().ToByteArray();
            var key    = Guid.NewGuid().ToString();
            var config = new Mock <IConfigurationProvider>();

            config.Setup(x => x.GetGlobalConfigurationAsString(It.IsAny <string>(), It.IsAny <string>())).Returns("test_bucket");

            var fileStore = new Mock <IFileStore>();

            fileStore.Setup(x => x.Get(It.IsAny <string>(), It.IsAny <string>())).Returns(bytes);

            var fileStoreFactory = new Mock <IFileStoreFactory>();

            fileStoreFactory.Setup(x => x.GetGlobalClient()).Returns(fileStore.Object);

            var cryptoKeyStore = new CryptoKeyStore(config.Object, fileStoreFactory.Object);

            var value = cryptoKeyStore.Get(_application, _tenant, key);

            Assert.NotNull(value);
        }