SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server の暗号化接続で使用される初期状態の証明書について (+ Azure SQL の証明書についても少し)

leave a comment

SQL Server は、初期状態でも暗号化接続をサポートしており、「Encrypt=True;TrustServerCertificate=True」を使用することで、暗号化接続を使用することができます。

この際、SQL Server では自己署名証明書が使用されているのですが、この証明書について確認した内容をまとめておきたいと思います。

SQL Server の暗号化で使用される初期状態の証明書について

ドキュメント

SQL Server の暗号化で使用される初期状態の証明書について確認する際には次のドキュメントが参考となります。

基本的な情報については、証明書をインポートして SQL Server への接続を暗号化する から確認できます。

 

フォールバック証明書

SQL Server ではデータベース エンジンのサービスを起動した際に、信頼できる証明書が設定されていない場合、自己署名証明書 (フォールバック証明書とも言われる) を生成して、暗号化接続で利用します。

この際使用されている証明書は、SQL Server 2025 の場合は次のようになっています。

  • Subject: CN=SSL_Self_Signed_Fallback
  • 有効期間: 30 年
  • SignatureAlgorithm: sha256RSA
  • PublicKeyAlgorithm: RSA
  • RsaKeyBits: 3072

フォールバック証明書が使用されている場合「A self-generated certificate was successfully loaded for encryption.」というメッセージが ERRORLOG に出力されていますので、このメッセージが出力されているかで、フォールバック証明書が使用されているかを確認することもできます。

 

自動的な証明書の選択

SQL Server では、SQL Server 構成マネージャーから証明書を設定することができます。

image

証明書をブランクにしてると、フォールバック証明書が使用されるのですが、アクセス許可を持つ SQL Server 証明書の動作 に記載されている次の動作が行われています。

  • 証明書には、マシンの FQDN などサブジェクトがあります
  • 証明書をローカル・コンピュータの証明書ストアにインストールする。
  • SQL Server サービス アカウントには、証明書の秘密キーへのアクセス権を付与します

明示的に使用する証明書を指定していなくても、証明書ストアから使用できる証明書の存在が確認できた場合は、自動的に該当の証明書を使用するというような挙動となっているため、環境によってはフォールバック証明書以外の証明書が使用されている可能性があります。

フォールバック証明書以外が使用されている場合「The certificate [Cert Hash(sha1) "<証明書拇印>"] was successfully loaded for encryption.」というメッセージが ERORLOG に出力されていますので、このメッセージからどの証明書が使用されているのかを確認することができます。

 

Azure SQL Database の暗号化接続で使用される証明書について

Azure SQL Database でも暗号化接続をデフォルトで使用することができますが、この証明書としてどのような証明書が使用されているのかが気になったので、この機会に確認をしておきました。

Azure SQL Database の場合、次のような証明書が使用されているようです。

  • Subject: CN=<コントロールリング>.database.windows.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US
  • 有効期間: 6 か月
  • SignatureAlgorithm: sha384RSA
  • PublicKeyAlgorithm: RSA
  • RsaKeyBits: 2048
  • ルート証明機関: DigiCert Global Root G2

SQL Database では「<論理サーバー名.database.windows.net>」というサーバー名で接続を行いますが、この DNS 名は CNAME となっており、実際の参照先は SQL Database のコントロールリングが使用されます。

コントロールリング (制御リング) については次のドキュメントから情報を確認できます。

Azure SQL Database の場合は、コントロールリング向けの証明書を使用して暗号化接続が実施されているようです。

Share

Written by Masayuki.Ozawa

11月 13th, 2026 at 8:27 am

Posted in SQL Server

Tagged with

Leave a Reply