仮想化エンジニア奮闘記

Citrix や VMware といったサーバー・デスクトップ仮想化の最新技術や設計情報の検証結果を共有します。(本ブログは個人のものであり、所属する会社とは関係ありません。)

Google Chromeで[missing_SubjetAltName]エラーが出る

皆さんお疲れ様です。

 

最近自宅の環境でChromeバージョンアップ後に「missing_SubjectAltName」エラーが出て対応を行ったので備忘録として残します。

↓ なエラーです。

f:id:kenta53682:20170525203014p:plain

 

Chrome 58では下記のニュースのように従来の「Common Name (CN)」ではなく「Subject Alt Name」にFQDN(もしくはIP)が入っていないとエラーになるようです。

 

Chromeがコモンネームの設定を非推奨化、そのエラー対策としての自己署名証明書のCSRの作り方

 

Subject Alt Nameってどこよ?って方、簡単にいうと ↓ ここです。

下記はGoogleサーバー証明書ですが、「サブジェクト代替名」というのが「Subject Alt Name」です。

f:id:kenta53682:20170525200533p:plain

 

さて、私の自宅検証環境ではActive Directory Certificate Services(ADCS)により証明書を発行しています。この時、CSRにSubject Alt Nameを含めるにはどうすればよいか?下記に手順を記載します。

 

①Webサーバー用証明書テンプレートの設定を確認する

ADCSのWebサーバー証明書テンプレートをコピーした場合、既定で「サブジェクト名は要求に含まれる」という設定が入っています。そのため、CSR生成時にSubject Alt Nameを含めるようにしなければなりません。

逆に、「Active Directory の情報から構築する」の場合、「代わりのサブジェクト名に次の情報を含める」設定が「サブジェクト代替名に何を入れるか?」という設定で、「DNS 名」を入れるとSubject Alt NameにFQDNが入ります。

 

f:id:kenta53682:20170525201112p:plain

 

とはいえ、Webサーバー用の証明書なので、ドメイン参加したWindowsコンピューター以外にも発行したいですよね?基本は「Active Directoryの情報から構築する」という設定にはしていないと思います。それでは、CSRにSubject Alt Nameを含めるしかありません。mmcでCSRを作る時、Subject Alt Nameを含めるには次の手順を行います。

 

②mmcからSubject Alt Nameを入れた証明書を発行する

 

1) mmcを開き、証明書スナップインを開きます。新しい証明書要求の要求を行います。

f:id:kenta53682:20170525201829p:plain

 

2) 「開始する前に」「証明書登録ポリシーの選択」はそのまま「次へ」で進みます。「証明書要求」では赤枠部分を選択し、CSRサブジェクトをカスタマイズします。

(Webサーバー用テンプレートのセキュリティ設定で、mmcを実行しているコンピューターに対して「登録」権限をつけることを忘れないで下さい。忘れるとこの画面でテンプレートが表示されません。)

f:id:kenta53682:20170525202108p:plain

 

3) そうするとこのような画面が出てきます。「別名」という欄が「サブジェクト代替名に何を入れるか?」という設定なので、プルダウンから「DNS」を選択し、FQDNを入れて下さい。

f:id:kenta53682:20170525202237p:plain

 

3)の手順を踏み、証明書を発行することで、「サブジェクト代替名」にFQDNが入り、Chromeで証明書エラーがなくなります。ちなみに、Internet ExplorerではSubject Alt Nameがなくても全然問題はありませんでした。(が、そのまま放置しているとセキュリティ脆弱ポイントとなるので証明書を運用されている方は気にしてみて下さい。)

 

全然話は変わりますが、mmcで証明書を発行するとどうしても秘密鍵だけをエクスポートすることができません。(.pfxで秘密鍵付きの証明書としてエクスポートすることは可能)

秘密鍵を抽出したい場合はOpen sslを使って.pfx → .pemに変換して抽出ができました。

詳しくは ↓ をご確認下さい。

 

Tech TIPS:Windows上で、証明書や秘密鍵をPEM形式に変換してエクスポートする (1/2) - @IT

 

それでは本日は以上です。ありがとうございました。