オレオレ SSL 証明書(自己署名証明書)を作るワンライナーです。
上記のコマンドで server.key(秘密鍵) および server.crt(自己署名証明書) が作成されます。有効期限は 10 年(3650 日)。Common Name が決まっている場合は CN=localhost のところを FQDN に置き換えてもいいでしょう。 オレオレ証明書を作るだけならこれで終わりですが、せっかくなので秘密鍵(Private Key)と証明書署名要求(CSR)、証明書(CRT)を 1 つずつ順番に作る方法も紹介します。 目次
秘密鍵を作成秘密鍵(Private Key)を作成
ファイルの中身を確認
証明書署名要求を作成証明書署名要求(CSR)を作成
コマンドを実行するといろいろ入力を求められますが、全部デフォルト Enter 連打で OK。オレオレ証明書なので、ちゃんとした値を入れてもブラウザから警告が出ます。FQDN が決まっていたら Common Name で FQDN を入力してもいいです。
ファイルの中身を確認 Subject に入力した値が表示されます
自己署名証明書を作成自己署名証明書(CRT)を作成。これまでに作成した秘密鍵と証明書署名要求に対して、自分で署名を行います。有効期限は 10 年 (3650 日)。
ファイルの中身を確認
Issuer は認証局の値。Subject は 先ほどの CSR で入力した値。自己署名なので Issuer と Subject に同じ値が入っています。 北海道で在宅勤務のエンジニアRと申します。 昨日まで東京に出張しておりましたが、そこでサーバー証明書の有効期限を延長する方法がわからず少しハマったので残しておきます。 ハマった理由としては以下です。 ・サーバー証明書のデフォルトテンプレート(Webサーバーとか)は有効期限を延長できない ・テンプレートを指定したサーバー証明書の作成方法がわからない 色々ググって継ぎはぎでなんとか手順化できました。
環境としては以下です。 サーバーOS:Windows Server 2012 R2 CAの種類:エンタープライズCA(AD環境あり) 作成したい証明書:Webサーバーのサーバー証明書(IIS用) ■ CAの「ValidityPeriodUnits」レジストリ値を変更する ・[ファイル名を指定して実行]で[regedit]と入力し、[OK]をクリックする。 ・[レジストリエディター]が表示されるので、以下階層まで選択する。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\<CAName> ・[ValidityPeriodUnits]を右クリックし、[修正]をクリックする。 ・[値のデータ]に[10]を入力し、[OK]をクリックする。 ・コマンドプロンプトで以下コマンドを実行し、証明機関サービスの再起動を実施する。 net stop certsvc net start certsvc ・コマンドプロンプトで以下コマンドを実行し、証明書の有効期限が10に変更されていることを確認する。 (エンタープライズCAの場合、デフォルトは2年です。) certutil -getreg CA\ValidityPeriodUnits ■ 有効期限を変更した証明書テンプレートを複製する ・[証明機関]を開き、[証明書テンプレート]を右クリックし、[管理]をクリックする。 ・[Webサーバー]を右クリックし、[テンプレートの複製]をクリックする。 ・[全般]タブで以下を変更する。 テンプレート表示名:Webサーバー v2 (※他のテンプレートと重複しなければOK) テンプレート名:WebServerv2 (※他のテンプレートと重複しなければOK) 有効期限:10年 ・[セキュリティ]タブで[Authenticated Users]を選択し、[登録]の[許可]にチェックを入れ、[OK]をクリックする。 ・[証明機関]を開き、[証明書テンプレート]を右クリックし、[新規作成] - [発行する証明書テンプレート]をクリックする。 ・[証明書テンプレートの選択]が表示されるので、複製した証明書テンプレート[Webサーバー v2]を選択し、[OK]をクリックする。 ■ 証明書の要求(作成)を行う ・[ファイル名を指定して実行]で[mmc]と入力し、[OK]をクリックする。 ・[ファイル] - [スナップインの追加]をクリックする。 ・[証明書]を選択し、[追加]をクリックする。 ・[証明書スナップイン]が表示されるので、[コンピューターアカウント]を選択し、[次へ]をクリックする ・[コンピューターの選択]が表示されるので、[ローカルコンピューター]を選択し、[完了]をクリックする。 ・[スナップインの追加と削除]に戻るので、[OK]をクリックする。 ・左ペインより[証明書] - [個人] - [証明書]を右クリックし、[すべてのタスク] - [新しい証明書の要求]をクリックする。 ・[開始する前に]が表示されるので、[次へ]をクリックする。 ・[証明書の登録ポリシーの選択]が表示されるので、[Active Directory 登録ポリシー]を選択し、[次へ]をクリックする。 ・[証明書の要求]が表示されるので、[Webサーバー v2]にチェックを入れ、[この証明書を登録するには...]のリンクをクリックする。 ・[証明書のプロパティ]が表示されるので、[サブジェクト]タブを選択する。 ・[種類]に[共通名]を選択し、[値]に共通名を入力し、[追加]をクリックする。 (ここでいう共通名はURLに入力する値となります。ccf01というサーバ名、challenge-cf.localというドメインの場合、URLにccf01と入力する場合は共通名もccf01、URLにccf01.challenge-cf.localと入力する場合は共通名もccf01.challenge-cf.localを入力します。) ・[全般]タブを選択し、[フレンドリ名]に証明書の名前を入力し、[OK]をクリックする。 ・[証明書の要求]に戻るので、[登録]をクリックする。 ・[証明書インストールの結果]が表示されるので、[完了]をクリックする。 ・左ペインより[証明書] - [個人] - [証明書]に作成した証明書が表示されるので、[有効期限]が10年になっていることを確認する。 (ルート証明書の有効期限が10年未満の場合、ルート証明書の有効期限と同じになります。) ■ 作成した証明書をIISにバインドする ・[インターネットインフォメーションサービス(IIS)マネージャー]を開き、[<サーバー名>] - [サイト] - [Default Web Site]を選択し、右ペインより[バインド]をクリックする。
・[サイトバインド]が表示されるので、[種類]が[https]、[ポート]が[443]、[IPアドレス]が[*]を選択し、[編集]をクリックする。 ・[サイトバインドの編集]が表示されるので、[SSL証明書]で先ほど作成した[ccf01]を選択し、[OK]をクリックする。 以上が今回の手順です。 テンプレートの概念ってWindowsだけなんだろうか?などなど不明なこともあるので証明書もっと勉強せねば。。。 #Windows #CA New証明書は 1 年間のみ有効です。
IIS証明書の作成有効期限は?なお、IISマネージャー画面で作成した自己署名証明書の有効期限は1年です。
CAの有効期限は?既定では、スタンドアロン証明機関 CA によって発行される証明書の有効期間は 1 年間です。 1 年後、証明書の有効期限が切れ、使用が信頼されません。 中間または発行元 CA によって発行された証明書の既定の有効期限をオーバーライドする必要がある場合があります。
自己署名証明書の有効期限は?自己署名証明書の有効期限は1年間であり期限切れ 前に新たに生成する必要があり、その生成のためのマニュアルです。
|