Ejemplo n.º 1
0
        public void ValidateCipherTest()
        {
            var cipher1 = new CipherStub("cipherStub1");
            var cipher2 = new CipherStub("cipherStub2");
            var cipher3 = new FernetCipher("Fernet cipher");

            using var provider = new CryptoProvider(cipher1);
            provider.RegisterCipher(cipher2)
            .RegisterCipher(cipher3);

            var customEncryptionKey =
                new CustomEncryptionKey(1, Encoding.UTF8.GetBytes("Custom Encryption Key 32 symbols"));

            provider.ValidateCustomCiphers(new SecretsData(new List <Secret> {
                customEncryptionKey
            },
                                                           customEncryptionKey));
            Assert.IsNotNull(provider);

            var encryptionSecret = new EncryptionSecret(2, Encoding.UTF8.GetBytes("EncryptionSecret"));

            provider.ValidateCustomCiphers(new SecretsData(new List <Secret> {
                customEncryptionKey, encryptionSecret
            },
                                                           encryptionSecret));
            Assert.IsNotNull(provider);
        }
        private static IStorage InitStorageWithCustomCipher()
        {
            var cipher = new FernetCipher("Fernet cipher demo");

            using var provider = new CryptoProvider(cipher);
            var key        = new CustomEncryptionKey(7, Encoding.UTF8.GetBytes("Custom Encryption Key 32 symbols"));
            var secretData = new SecretsData(new List <Secret> {
                key
            }, key);
            var config = CredentialsHelper.GetConfigWithOauth();

            config.CryptoProvider    = provider;
            config.SecretKeyAccessor = () => secretData;
            return(Storage.NewStorage(config));
        }
Ejemplo n.º 3
0
        public void EncryptWithCustomCipherTest()
        {
            var cipher = new FernetCipher("Fernet cipher");

            using var provider = new CryptoProvider(cipher);
            const int version    = 5;
            var       key        = new CustomEncryptionKey(version, Encoding.UTF8.GetBytes("Custom Encryption Key 32 symbols"));
            var       secretData = new SecretsData(new List <Secret> {
                key
            }, key);
            var message      = "{'private_data':'" + Guid.NewGuid() + "'}";
            var cipheredData = provider.Encrypt(message, secretData);

            Assert.NotNull(cipheredData);
            Assert.AreEqual(version, cipheredData.KeyVersion);
            Assert.NotNull(cipheredData.Data);
            Assert.AreNotEqual(message, cipheredData.Data);
            Assert.IsTrue(cipheredData.Data.StartsWith("c", StringComparison.InvariantCulture));
            var decryptedText = provider.Decrypt(cipheredData.Data, secretData, cipheredData.KeyVersion);

            Assert.AreEqual(message, decryptedText);
        }