2019年5月1日水曜日

Windows Admin Center 用の証明書を作り直す

Windows Admin Center 用の証明書を使っているのですが、Chrome でエラーが出るんです。


証明書に SAN 属性が無いのが、原因のようです。
調べてみると下記の記事を見つけました。
Google Chrome で自組織のCAで署名したSSL証明書のサイトにアクセスすると NET::ERR_CERT_COMMON_NAME_INVALID エラーメッセージが表示される (Windows Tips)
SAN(Subject Alternative Name)フィールド を含むSSL証明書を作成する (Windows Server Tips)
Windows Serverの認証局でSAN属性を持たせたマルチドメイン証明書を認証する
セキュリティで保護された LDAP 証明書にサブジェクトの別名を追加する方法
読み砕くと
  1. 証明書要求から SAN 属性を受け付けるように CA を構成する。
  2. 証明書要求に SAN 属性を付加して、証明書を作成する。
という手順が必要そうです。

項番2から確認して、だめなら項番1~2の順で確認します。


では、項番2のみの確認です。
で改めて、証明書要求の作成テキストファイルを見てみると、SAN 自体は定義されています。
が、SAN にはホスト名だけなので、FQDN を含める必要がありそうですね。
また、この証明書要求の作成テキストファイルから証明書を作成できているので、上記項番1は必要なさそうです。(この後実際に確認します)
※今使っているエンタープライズ CA の仕様で CertificateTemplate も定義してます。

[NewRequest]
Subject = "C=JP,ST=Kanagawa,L=Kanagawa,O=sshzk,CN=arom201601.sshzk2016.local"
Exportable = TRUE
KeyLength = 2048
KeySpec = 1
KeyUsage = 0xA0
MachineKeySet = True
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = CMC

[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1

[RequestAttributes]
SAN="dns=arom201601"
CertificateTemplate = WebServer


修正後の証明書要求の作成テキストファイルは、下記になります。赤字が変更箇所です。

[NewRequest]
Subject = "C=JP,ST=Kanagawa,L=Kanagawa,O=sshzk,CN=arom201601.sshzk2016.local"
Exportable = TRUE
KeyLength = 2048
KeySpec = 1
KeyUsage = 0xA0
MachineKeySet = True
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = CMC

[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1

[RequestAttributes]
SAN="dns=arom201601.sshzk2016.local"
CertificateTemplate = WebServer


スタンドアロンインストールの場合は、プログラムと機能から、インストールウィザードを実行して変更してやります。
※HA 構成は、スクリプトで変更します。


確認してみたのですが、SAN が指定されていない。


証明書に SAN がありません。

というわけで、項番1~2の順で改めて確認します。

Windows Serverの認証局でSAN属性を持たせたマルチドメイン証明書を認証するを参考にコマンドを実行、AD CS サービスを再起動します。



証明書要求から証明書を作成し、当該ホストにの証明書にインポートしました。プロパティを確認したところ、SAN あります。


拇印を確認し、

Windows Admin Center に設定します。


Chrome で警告出なくなりました!


Windows Server 2016 CA でも項番1の作業は必要ですね。

0 件のコメント:

コメントを投稿