問題タブ [always-encrypted]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - IIS10 で Always Encrypted が動作する場合がある
まず、少し背景を説明します。Windows Server 2016 で実行されている IIS10 があり、2016 を実行している別の SQL サーバーで Always Encrypted で暗号化された列を含む SQL データベースがあります。問題のアプリケーションは、Column Encryption Setting=Enabled
パラメーターを含む Linq を介した接続文字列を使用する C#.NET の ASP MVC です。秘密鍵は、iis apppool\defaultapppool の Personal certificate dir にあり、アプリ プールに提供されたアクセス権を持つローカル マシンにも配置されます。
私のマシン (キーが作成された場所) がサイトにアクセスすると、データが復号化され、他のすべての接続で機能することを確認しました。ただし、マシンからの接続なしで数分後、他のユーザーは証明書が存在しないというエラーを受け取ります。
現在、3 分ごとにスケジュールされたタスクを実行して、サイトを維持するためにクロムにロードしていますが、恒久的な解決策が必要です。
何か案は?
encryption - SQL Server の暗号化された列に max() を適用できない
datetime
SQL Server 2016 の Always Encrypted 機能を使用して暗号化された列を含むテーブルがあります。
今、私はこの単純な選択を実行しようとしています:
このエラーが発生しています:
メッセージ 33299、レベル 16、状態 2、行 5
列/変数 'dt_order' の暗号化方式が一致しません。列/変数の暗号化方式は (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'myColHML', column_encryption_key_database_name = 'TESTING') であり、行 '1' 付近の式は (encryption_type = ' PLAINTEXT') (またはそれより弱い)。
SSMS では、既に接続オプション「列暗号化設定 = 有効」を設定しており、クエリ オプション「Always Encrypted のパラメータ化を有効にする」も設定しています。
何か案が?