SQL Server では暗号化を使用する必要があるため、ForceEncryption を有効にしました。ドキュメントによると、証明書が提供されない場合、SQL Server は暗号化を行うために独自の内部証明書を生成します。
これがどのようなレベルの暗号化を提供しているかを理解する必要があります。一般的には 2048 ビットの証明書を使用すると思います。
内部/フォールバック証明書はどの証明書ストアにありますか? また、暗号化レベルを取得するにはどうすればよいですか?
答え1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib
(ここで、MSSQL.x
MSSQL.x は、SQL Server のインスタンスの対応する値のプレースホルダーです。)
SQL Server がその場所で証明書を見つけられない場合は、インストールされているコンピューターの FQDN を持つ証明書を証明書ストアで検索します。既定では、その証明書は、MMC 証明書スナップインで見つかるマシン証明書にLocal Computer
なりPersonal
ますCertificates
。
この証明書 (または任意の証明書) のキーの長さ (およびその他のプロパティ) を確認するには、MMC 証明書スナップインを使用して証明書を参照し、証明書をダブルクリックして、Details
証明書用に表示されるダイアログ ボックスのタブをクリックします。
この証明書も利用できない場合は、SQL Server は自己署名のフォールバック証明書を生成し、これを暗号化に使用します。SQL サービスの再起動時にエラー ログを表示すると、使用されているサムプリントまたは証明書を確認できます。このフォールバック証明書の場所は正式にはわかっておらず、他のフォーラムではメモリ内にある可能性が高いと示唆されています。詳細はこちらをご覧ください