Windowsでは、certutil.exeを使用して証明書を管理できます。しかし、実際にはlotsのオプションがあり、コマンドヘルプ(Googleと同じくらい)はそれを明確に理解するのに役立ちません。
これらのコマンドの正確な意味は何ですか?それらすべてが証明書をローカルマシンストアにインポートできるはずです?
certutil -addstore my <filename>
certutil -installcert <filename>
certutil -importcert <filename>
certutil -importpfx <filename>
最後の1つは、.pfxファイルから証明書をインポートするためのものだと思います。しかし、他の人たちも(同じように)同じようにできるべきではありませんか?そして、最初の3つの違いは何ですか?
-?でコマンドを試してください。コマンドに関する詳細情報を取得できます。
例えば:
C:\>certutil -addstore -?
Usage:
CertUtil [Options] -addstore CertificateStoreName InFile
Add certificate to store
CertificateStoreName -- Certificate store name. See -store.
InFile -- Certificate or CRL file to add to store.
Options:
-f -- Force overwrite
-enterprise -- Use local machine Enterprise registry certificate store
-user -- Use HKEY_CURRENT_USER keys or certificate store
-GroupPolicy -- Use Group Policy certificate store
-gmt -- Display times as GMT
-seconds -- Display times with seconds and milliseconds
-v -- Verbose operation
-privatekey -- Display password and private key data
-dc DCName -- Target a specific Domain Controller
CertUtil -? -- Display a verb list (command list)
CertUtil -addstore -? -- Display help text for the "addstore" verb
CertUtil -v -? -- Display all help text for all verbs
最初に区別することは、証明書ストアと証明書データベースの違いです。
From MSDN-公開鍵インフラストラクチャ
証明書データベース
CAまたはRAでの証明書要求、発行済みおよび取り消し済みの証明書および証明書要求を保存します。
証明書ストア
発行された証明書と保留中または拒否された証明書要求をローカルコンピューターに保存します。
これは、ローカルストアに証明書を追加するときに-addstore
が使用されることを意味します。
次は-installcert
と-importcert
の違いです。重要なのは、インストールとインポートの違いを区別することです。
-importcert
に使用するファイルは、単一の証明書である必要があります。
-installcert
に使用するファイルは、証明書チェーン(PKCS#7またはX.509 v3)または単一の証明書にすることができます。
最後に、これは-installpfx
が単一のPFX(PKCS#12)証明書または証明書チェーンをインストールすることを意味します。