0

SQL Server 2016の[常に暗号化された]機能に関するさまざまな記事は、SQL Server Management Studio UIを使用するか、New-​Sql​Column​Encryption​Key powershellコマンドを使用して、しかし、C#クライアントアプリケーション自体が列暗号化キーを作成したい場合はどうでしょうか?このENCRYPTED_VALUE列のフォーマットは何ですか?証明書ストアプロバイダの作成方法C#クライアントから常に暗号化された列暗号化キー

CREATE COLUMN ENCRYPTION KEY CEK1 
WITH VALUES (
COLUMN_MASTER_KEY = CMK1, 
ALGORITHM = 'RSA_OAEP', 
ENCRYPTED_VALUE = ?????? 

答えて

0

、あなたは、例えば、SqlColumnEncryptionCertificateStoreProvider.EncryptColumnEncryptionKey Methodを使用することができます以下に示す:

var randomBytes = new byte[ 32 ]; 
using (var rng = new RNGCryptoServiceProvider()) 
{ 
    rng.GetBytes(randomBytes); 
} 
var provider = new SqlColumnEncryptionCertificateStoreProvider(); 
var encryptedKey = provider.EncryptColumnEncryptionKey(masterKeyPath, "RSA_OAEP", randomBytes); 
var encryptedKeySerialized = "0x" + BitConverter.ToString(encryptedKey).Replace("-", ""); 

クレジットをthis blog postに正しい方向に私を指しているため。

関連する問題