В Windows вы можете использовать certutil.exe для управления сертификатами. Но это действительно лоты параметров, а справка по командам (как и Google) не помогает четко понять это.
Каково точное значение этих команд, каждая из которых должна иметь возможность импортировать сертификат в хранилище локального компьютера?
certutil -addstore my <filename>
certutil -installcert <filename>
certutil -importcert <filename>
certutil -importpfx <filename>
Я могу предположить, что последняя предназначена для импорта сертификатов из файлов .pfx; но разве не должны (некоторые) другие делать то же самое? И в чем разница между первыми тремя?
Попробуйте команды с - ?. Вы можете получить подробную информацию о командах:
Например:
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
Первое, что следует различать, - это разница между хранилищем сертификатов и базой данных сертификатов.
Из MSDN - Инфраструктура открытых ключей
База данных сертификатов
Сохраняет запросы сертификатов, выпущенные и отозванные сертификаты и запросы сертификатов в CA или RA.
Магазин сертификатов
Сохраняет выданные сертификаты и ожидающие или отклоненные запросы сертификатов на локальном компьютере.
Это означает -addstore
используется, когда вы хотите добавить сертификат в локальное хранилище.
Далее разница между -installcert
и -importcert
. Ключ состоит в том, чтобы различать разницу между установкой и импортом.
Файл, используемый для -importcert
должен быть единый сертификат.
Файл, используемый для -installcert
может быть цепочкой сертификатов (PKCS # 7 или X.509 v3) или одним сертификатом.
Наконец, это означает -installpfx
установит один сертификат PFX (PKCS # 12) или цепочку сертификатов.