【 New-SelfSignedCertificate 】コマンドレット――証明書を作成する:Windows PowerShell基本Tips(29)
本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「New-SelfSignedCertificate」コマンドレットを解説します。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、自己署名証明書を作成する「New-SelfSignedCertificate」コマンドレットです。
New-SelfSignedCertificateコマンドレットとは?
「New-SelfSignedCertificate」は、PowerShellを利用して自己署名証明書を作成するためのコマンドレットです。証明書は本来、認証局に依頼して作成しますが、内部的な利用目的で証明書が必要な場合などには、このコマンドレットで簡単に作成できます。
New-SelfSignedCertificateの主なオプション
オプション | 意味 |
---|---|
-Subject | 証明書の発行先となる名前を指定する。省略可能 |
-DNSName | 証明書の発行先となる名前を指定する。省略可能 |
-CertStoreLocation | 証明書の保存先を指定する。省略可能 |
-NotAfter | 証明書の有効期限を指定する。省略可能 |
-KeyExportPolicy | 証明書のエクスポートの可否を指定する。省略可能 |
ユーザー用自己署名証明書を作成する
New-SelfSignedCertificateコマンドレットで証明書を発行する場合、自己署名証明書に設定する発行先の名前には「-Subject」オプション、保存先となるストアの場所の定義には「-CertStoreLocation」オプションをそれぞれ指定します(画面1)。
コマンドレット実行例
New-SelfSignedCertificate -Subject "App1" -CertStoreLocation "Cert:\CurrentUser\My"

画面1 New-SelfSignedCertificateコマンドレットを実行し、「App1」という名前(発行先)の自己署名証明書を作成した。保存先には「ユーザーの証明書ストア」(Cert:\CurrentUser\My)を指定している。なお、「コンピューターの証明書ストア」を指定する場合は、パスとして「Cert:\CurrentUser\My」を指定する
発行先の名前を複数持つ証明書を作成する
「SAN」(Subject Alternative Name:サブジェクト代替名)とも呼ばれる発行先の名前として、複数の名前を設定する場合は、-Subjectオプションの代わりに「-DNSName」オプションを指定します(画面2)。
コマンドレット実行例
New-SelfSignedCertificate -DNSName "www.fabrikam.com", "www.contoso.com" -CertStoreLocation "cert:\LocalMachine\My"
有効期限が100年の証明書を作成する
New-SelfSignedCertificateコマンドレットのデフォルトでは、証明書の有効期限は「1年」に設定されます。しかし、「-NotAfter」オプションを使用することで、有効期限を自由に設定できます(画面3)。以下のコマンドレット実行例では、有効期限が「100年」の証明書を作成しています。
コマンドレット実行例
New-SelfSignedCertificate -Subject "App1" -CertStoreLocation "Cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(100)

画面3 コマンド実行例1と同様のコマンドレットを実行しているが、「-NotAfter」オプションに続けて「Get-Date」コマンドレットを実行し、今日から100年後の日付を設定している。こうすることで、100年後の日付を有効期限として設定できる
証明書ストアからエクスポート可能な証明書を作成する
New-SelfSignedCertificateコマンドレットを実行して作成した証明書は、「デバイスの証明書ストア」に保存されます。デバイス障害に備えてバックアップデータを保存しておきたい場合は、エクスポート可能な状態で証明書を作成する必要があります。
エクスポート可能な証明書を作成するには「-KeyExportPolicy」オプションを使用し、値に「Exportable」と指定してNew-SelfSignedCertificateコマンドレットを実行します(画面4)。
コマンドレット実行例
New-SelfSignedCertificate -Subject "App1" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable

画面4 コマンド実行例1と同様のコマンドレットを実行しているが、「-KeyExportPolicy」オプションを使用し、値に「Exportable」を指定することで証明書はファイルとしてエクスポートすることが可能になる
筆者紹介
国井 傑(くにい すぐる)
株式会社ソフィアネットワーク取締役。1997年からマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(AD FS)など、ID管理を中心としたトレーニングを提供している。2007年からMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。
Copyright © ITmedia, Inc. All Rights Reserved.