コード例 #1
0
 public void SaveSymmetricKey(SymmetricKey sKey)
 {
     var op = TableOperation.InsertOrReplace(sKey);
     var cloudTable = GetTable();
     var result = cloudTable.Execute(op);
 }
コード例 #2
0
        /// <summary>
        /// Creates a symmetric key.  See this link for more information behind the numbers
        /// http://blogs.msdn.com/b/shawnfa/archive/2006/10/09/the-differences-between-rijndael-and-aes.aspx
        /// </summary>
        /// <returns></returns>
        private SymmetricKey CreateNewAESSymmetricKeyset()
        {
            if (cert == null)
            {
                throw new InvalidOperationException("Unable to create new AES keyset; Certificate not loaded.");
            }

            byte[] symmKey, iv;

            using (AesManaged aes = new AesManaged())
            {
                aes.GenerateIV();
                aes.GenerateKey();

                symmKey = aes.Key;
                iv = aes.IV;

                aes.Clear();
            }

            // Encrypt the Symmetric Key for storage
            byte[] encryptedKey = EncryptRSA(symmKey, cert);

            SymmetricKey symmKeySet = new SymmetricKey() {
                iv = iv,
                Key = encryptedKey,
                CertificateThumbprint = cert.Thumbprint
            };

            return symmKeySet;
        }
コード例 #3
0
 public void DeleteSymmetricKey(SymmetricKey sKey)
 {
     var op = TableOperation.Delete(sKey);
     GetTable().Execute(op);
 }