PowerShell で証明書のエクスポート・インポート

はじめに

通常、証明書のエクスポートは「インターネットオプション」>「コンテンツ」>「証明書」から行うことができますが、この記事では PowerShell コマンドを使用した方法に焦点を当てます。

証明書の拇印の取得

現在のユーザーの「個人」証明書ストアに登録されている証明書の一覧を取得するには、以下のコマンドを使用します。

Get-ChildItem -path Cert:\CurrentUser\My

出力例:

> Get-ChildItem -path Cert:\CurrentUser\My
   PSParentPath: Microsoft.PowerShell.Security\Certificate::CurrentUser\My
Thumbprint                                Subject
----------                                -------
B1E52CD8EA6CDB32A120CF48553C6DXXXXXXXXXX  CN=784e65xxxxxxxxxx

ユーザー証明書のエクスポート

ユーザー証明書をエクスポートするには、以下のコマンドを実行します。

certutil -exportPFX -p "<パスワード>" -user my "<拇印>" <ファイル名>
  • <パスワード>:証明書のインポート時に必要なパスワードを指定します。
  • <拇印>:エクスポートする証明書の指紋を指定します。指紋は、「概要」タブで確認できます。
  • <ファイル名>: エクスポートした証明書のファイル名を指定します。拡張子は “pfx” とします。

実行例:

certutil -exportPFX -p "Password" -user my "B1E52CD8EA6CDB32A120CF48553C6DXXXXXXXXXX" test.pfx

ユーザー証明書のインポート

PFX ファイルを「個人」ストアにインポートするには、以下のコマンドを使用します。

certutil.exe -p Password -user -importpfx test.pfx

CER ファイルを「個人」ストアにインポートする場合は、以下のコマンドを使用します。

certutil.exe -addstore -user My C:\certnew.cer

以上