お疲れ様です!SQLServer への接続をSSL接続にしてみます。イントラネットだったとしてもセキュアな方がいいですからね。

サーバー証明書の作成管理は自己認証局(CA)と自己証明書(SSL)を Windows 版の XCA で管理してみる を参考にしてください。

PKCS #12(*.p12) 証明書ファイル作成

作成したサーバー証明書を PKCS #12(*.p12) 形式でエクスポートします。

パスワードを指定して作成します。

証明書のインポート

対象のサーバー上でエクスポートしたキーファイルをダブルクリックしてインポートします。

「ローカルコンピューター」を選択して次へ進みます。

インポートする証明書ファイルを確認して次へ進みます。

エクスポートしたときのパスワードを入力して次へ進みます。

「証明書の種類に基づいて、自動的に証明書ストアを選択する」を選択して次へ進むとインポートは完了です。

証明書のアクセス許可

SQLServer がインポートした証明書にアクセス出来るようにアクセス権を付与します。

SQLServer 実行ユーザーの確認

SQLServer を実行しているユーザーを確認する為に、サービス管理ツールを開いて対象となるSQLServerインスタンスのプロパティを開き、ログオンタブでアカウントをメモっておきます。

権限付与

管理コンソールを開きます。(Windows キーを押下して mmc と入力して Enter)
「ファイル」メニューの「スナップインの追加と削除」を実行します。

「利用できるスナップイン」から「証明書」を選択して追加します。
この時、「コンピューターアカウント」を選択して次に進みます。

「コンソールルート」「証明書(ローカルコンピューター)」「個人」「証明書」の中からインポートした証明書を選択して右クリックメニューの「すべてのタスク」「秘密キーの管理」を実行します。

ユーザーの追加で先ほどメモったアカウントを追加します。

SQLServerのプロトコル設定

「SQL Server 20xx 構成マネージャー」を起動し、「SQL Server ネットワークの構成」「対象のインスタンス名 のプロトコル」のプロパティを開きます。

証明書タブでインポートした証明書を選んでOKします。

接続確認

SSMS(SQL Server Management Studio)で確認してみます。
接続先を追加するときに「接続プロパティ」タブで「暗号化接続」に✔を入れてテスト接続してみます。

問題なければ設定完了ですが、下記のエラーが出るときはルート証明書のインポートをするか「サーバー証明書を信頼する」に✔を入れます。ルート証明書ファイルがあるのであればインポートする方が賢明です。

プリンシパルがどうのこうのとエラーが出たときは、サーバー証明書発行時の名前と同じ名前で接続しているか確認してください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*