1

Тема: Указание профиля для утилиты spki1utl.exe

Подскажите, пожалуйста, как правильно указать профиль при запуске утилиты spki1utl.exe.
Используется версия 3.5.260.10

Ситуация: справочник сертификатов запущен (при запуске он выдает окошко для выбора профиля).
Утилита spki1utl.exe запускается в цикле для большого количества файлов. Каждый экземпляр spki1utl.exe выдает аналогичное окно! Я пытаюсь использовать параметр profile, как подсказывает сама утилита при ее запуске без параметров:

параметры:
  -profile [PROFILE]  установить профиль в PROFILE

Но что бы я не указывал в качестве PROFILE, получаю лишь одно:

Результат: Ошибка доступа к конфигурации   (E071002A)

2

Re: Указание профиля для утилиты spki1utl.exe

Добрый день!

При работе с программным исполняемым модулем есть возможность использования подготовленного конфигурационного файла и заранее сформированных баз сертификатов (то есть без необходимости запускать ПК «Справочник сертификатов»). Для этого необходимо запустить модуль с параметром -profile <имя>, указывающий имя настройки в конфигурационном файле pki1.conf.
Ниже приведён пример конфигурационного файла pki1.conf для настроек профилей справочников для библиотеки

# pki1 configuration file
default: ivanov
local: ivanov
pse: pse://signed/c:\ivanov\local.pse
localstore: file://c:\ivanov\local.gdbm
ldap: ldap://ldap.x509.ru/o=x509,c=ru

ОПИСАНИЕ ПАРАМЕТРОВ
Комментарий задается после знака «#».
Параметр default задает название одного из профилей настройки подключения конфигурационного файла «по умолчанию».
В случае использования параметра profile без аргумента, используется профиль, указанный в параметре default в конфигурационном файле.
Параметр local задает название профиля настройки для использования этого названия в качестве аргумента параметра profile.
Параметр pse задает URI доступа к персональному справочнику пользователя (ПСП).
Параметр localstore задает URI доступа к локальному справочнику пользователя.
Параметр ldap задает URI доступа к сетевому справочнику сертификатов.

3 (2011-04-29 14:17:53 отредактировано vitaly)

Re: Указание профиля для утилиты spki1utl.exe

Спасибо за ответ! Действительно работает.

Хочу заметить, что файл pki1.conf создается в кодировке Win1251, и работают русские имена профилей, вот пример моего файла:

default: По умолчанию
local: По умолчанию
pse: pse://signed/C:\Documents and Settings\username\Application Data\MDPREI\scs\По умолчанию\local.pse
localstore: file://C:\Documents and Settings\username\Application Data\MDPREI\scs\По умолчанию\local.gdbm

Получается, алгоритм такой: сначала я должен сходить в реестр, в ветку

HKEY_CURRENT_USER\Software\MDPREI\spki\Profiles

Ищу там ветку с ключем ProfileName, равным искомому профилю, и получаю значение ключа BasePath.
Затем формирую в каталоге MDPREI\spki файл pki1.conf, и пишу в него путь, полученный из реестра.

Потом запускаю справочник сертификатов, дожидаюсь его инициализации, и в цикле для каждого файла запускаю spki1utl.exe с указанием профиля.

ant пишет:

то есть без необходимости запускать ПК «Справочник сертификатов»

Но в таком случае на каждый файл будет выдаваться запрос на загрузку ключа.
Хорошо бы еще и справочник сертификатов запускать сразу с нужным профилем, но это насколько я понимаю невозможно?

4

Re: Указание профиля для утилиты spki1utl.exe

Если Вы ничего не меняли то основным путем к профилю является "\Documents and Settings\username\Application Data\MDPREI\scs\"
там находятся подкаталоги с именами профилей в которых лежат базы. Так что справочник запускать для этого нет надобности.
Файл конфигурации может содержать несколько профилей

default: По умолчанию
local: По умолчанию
pse: pse://signed/C:\Documents and Settings\username\Application Data\MDPREI\scs\По умолчанию\local.pse
localstore: file://C:\Documents and Settings\username\Application Data\MDPREI\scs\По умолчанию\local.gdbm

local: Ivanov
pse: pse://signed/C:\Documents and Settings\username\Application Data\MDPREI\scs\ivanov\local.pse
localstore: file://C:\Documents and Settings\username\Application Data\MDPREI\scs\ivanov\local.gdbm
vitaly пишет:

Хорошо бы еще и справочник сертификатов запускать сразу с нужным профилем, но это насколько я понимаю невозможно?

Действительно, справочник сертификатов запускается без выбора профиля, только в том случае когда профиль один.

5

Re: Указание профиля для утилиты spki1utl.exe

Большое спасибо за помощь!