PowerShell を使用して PFX 証明書をインストールする
Microsoft Windows オペレーティング ベースのマシンは、外国証券に対応する複数の種類の証明書を受け入れ、そのカーネルで機能します。 一例として、Personal Exchange Format または PFX 証明書があり、主に認証に使用されます。
この記事では、PFX 証明書と、PowerShell を使用してそれらをローカルおよびリモート マシンにインポートする方法について説明します。
PFX 証明書の概要
PKCS#12 (Public Key Cryptography Standards) 形式の証明書は、PFX ファイルで表されます。 これには、証明書、その有効性に必要な中間機関証明書、および証明書の秘密鍵が含まれます。
これは、証明書の展開に必要なすべての情報を含むアーカイブと考えてください。
主に公開キー基盤または PKI クライアントと呼ばれる私たちのマシンは、これらの種類の証明書をインポートできます。この記事の次のセクションで、PowerShell を使用してそれを行う方法を示します。
PowerShell を使用して PFX 証明書をインポートする
PFX 証明書の PKI クライアントへのインポートを開始するには、いくつかの前提条件に従って、必要なモジュールとコマンドをマシンで適切に使用できるようにする必要があります。
-
Windows オペレーティング システムのビルド番号 9600 以降
- ワークステーション: Windows 8.1 以降
- サーバー: Windows Server 2012 R2 以降
-
PowerShell バージョン 4 以降
上記の要件を満たしている場合は、ライブラリにコマンド Import-PfxCertificate
コマンドレットがあり、すぐに使用できるはずです。 以下のコードで確認してください。
コード例:
Get-Command Import-PfxCertificate
出力:
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Import-PfxCertificate 1.0.0.0 PKI
コマンドの出力でエラーが発生することはありません。 したがって、証明書のインポートの自動化を進めることはできません。
Import-PfxCertificate
は、以前に Source
列で検証された PKI モジュールの一部です。
この記事では、Import-PfxCertificate
コマンドに注目しますが、PKI スイート全体に関心がある場合は、以下のコマンドを実行して詳細を確認できます。
Get-Command -Module PKI
これで、スクリプトに次の値を指定して、PFX 証明書をインポートできます。
- 証明書のソース パス
- 宛先証明書または証明書ストア
- 安全な文字列オブジェクトに変換するパスワード キー
以下のコード スニペットを実行し、シナリオに慣れているパラメーター値を編集します。
Import-PfxCertificate –FilePath C:\Certs\test.pfx cert:\local\my -Password (ConvertTo-SecureString -String "secret" -Force –AsPlainText)
リモート マシンに PFX 証明書をインポートする
Invoke-Command
コマンドレットを追加することで、マシンにログインせずに証明書をリモートでインポートするように、以前のコード スニペットを改善できます。 次に、唯一の要件は、-ComputerName
パラメーターにリモート コンピューターまたはサーバーのホスト名を入力することです。
その後、前のコマンドを -ScriptBlock
パラメーターの値として中かっこで囲みます。
Invoke-command -ComputerName remote01 -ScriptBlock
{
Import-PfxCertificate –FilePath C:\Certs\test.pfx cert:\local\my -Password (ConvertTo-SecureString -String "secret" -Force –AsPlainText)
}
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn