Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline ip-ad  
#1 Оставлено : 5 июня 2017 г. 9:57:37(UTC)
ip-ad

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.06.2017(UTC)
Сообщений: 6

1) Как проверить срок действия лицензии? Удалось найти информацию про библиотеку и COM-компонент cplibmgmt, но в установленном со стандартными настройками CryptoPro CSP такой библиотеки, похоже, нет (смотрю на версиях 3.9.8495 и 4.0.9842 - в панели управления КриптоПро CSP на вкладке "Дополнительно"). При попытке обращения к COM-компоненту получаю ошибку 0xFFFFFFFF, код на C#:
Код:

            var licenseClass = new cplicmgmtLib.CPCSPLicenseClass();
            MessageBox.Show(licenseClass.GetType("{54A08450-B343-40B0-924E-68F031450996}").ToString());


2) Как программно установить лицензию? В других обсуждениях пишут про папку Crypto Pro в AppData: захожу на Win7 SP1 с установленным CryptoPro CSP 3.9.8495 в %APPDATA% (C:\Users\username\AppData\Roaming), создаю папку "Crypto Pro", кладу в неё файл .lic с рабочей лицензией для CryptoPro CSP 3.9, открываю в панели управления КриптоПро CSP - показывает информацию о демо-лицензии, лицензию из .lic-файла не видит.
Offline Андрей Писарев  
#2 Оставлено : 5 июня 2017 г. 10:26:25(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,691
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Здравствуйте.

Коды продуктов CSP разные:
4.0: {407E5BA7-6406-40BF-A4DC-3654B8F584C1}
3.9: {39D25A86-A5E6-42FC-9C8F-EFA4C138B08C}
3.6: {54A08450-B343-40B0-924E-68F031450996}
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#3 Оставлено : 5 июня 2017 г. 10:28:15(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,691
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Подробности здесь.
Техническую поддержку оказываем тут
Наша база знаний
Offline ip-ad  
#4 Оставлено : 5 июня 2017 г. 10:47:27(UTC)
ip-ad

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.06.2017(UTC)
Сообщений: 6

Автор: Андрей * Перейти к цитате
Здравствуйте.

Коды продуктов CSP разные:
4.0: {407E5BA7-6406-40BF-A4DC-3654B8F584C1}
3.9: {39D25A86-A5E6-42FC-9C8F-EFA4C138B08C}
3.6: {54A08450-B343-40B0-924E-68F031450996}


Спасибо за ответ, заработало (насколько понял, надо использовать ID продукта из MSI).
Но остаётся вопрос по вводу лицензии.

Отредактировано пользователем 5 июня 2017 г. 11:05:36(UTC)  | Причина: Не указана

Offline basid  
#5 Оставлено : 5 июня 2017 г. 16:34:32(UTC)
basid

Статус: Активный участник

Группы: Участники
Зарегистрирован: 21.11.2010(UTC)
Сообщений: 1,042

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 141 раз в 127 постах
Открываем руководство администратора безопасности для Windows и в разделе про установку и удаление дистрибутивов находим среди прочего:
Цитата:
PIDKEY=
Использовать указанный серийный номер CSP
WLPIDKEY=
Использовать указанный серийный номер Winlogon
RPPIDKEY=
Использовать указанный серийный номер Revocation Provider
OCSPAPIPIDKEY=
Использовать указанный серийный номер OCSP Client
TSPAPIPIDKEY=
Использовать указанный серийный номер TSP Client


Используя общедоступную информацию о том, что:
Код:
msiexec действие msi|{ГУИД} прочие опции
проверяем возможность указывать серийный номер для уже установленного CSP.

P.S. Я, конечно, старый брюзга, но ...
Что из всего этого не работает или не может быть проверено без обращения к форуму???
Offline ip-ad  
#6 Оставлено : 5 июня 2017 г. 17:20:36(UTC)
ip-ad

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.06.2017(UTC)
Сообщений: 6

Автор: basid Перейти к цитате
Открываем руководство администратора безопасности для Windows и в разделе про установку и удаление дистрибутивов находим среди прочего:
Цитата:
PIDKEY=
Использовать указанный серийный номер CSP
WLPIDKEY=
Использовать указанный серийный номер Winlogon
RPPIDKEY=
Использовать указанный серийный номер Revocation Provider
OCSPAPIPIDKEY=
Использовать указанный серийный номер OCSP Client
TSPAPIPIDKEY=
Использовать указанный серийный номер TSP Client


Используя общедоступную информацию о том, что:
Код:
msiexec действие msi|{ГУИД} прочие опции
проверяем возможность указывать серийный номер для уже установленного CSP.

P.S. Я, конечно, старый брюзга, но ...
Что из всего этого не работает или не может быть проверено без обращения к форуму???


Без обращения к форуму, например, не было понятно, что надо искать нужное именно в руководстве администратора безопасности (я искал в руководствах разработчика и в базе знаний).

Но даже сейчас всё равно непонятно, как же установить лицензию.
Запускаю на машине с установленным CryptoPro CSP 3.9
Код:
msiexec /package {39D25A86-A5E6-42FC-9C8F-EFA4C138B08C} PIDKEY=3939P-XXXXX-XXXXX-XXXXX-XXXXX

Жму везде "далее", получаю сообщение о том, что всё успешно установлено. В панели управления криптопро - по-прежнему пробная лицензия.
На случай, если я нажал не на те кнопки, запускаю
Код:
msiexec /passive /package {39D25A86-A5E6-42FC-9C8F-EFA4C138B08C} PIDKEY=3939P-XXXXX-XXXXX-XXXXX-XXXXX

Без всяких вопросов получаю окно с прогрессбаром "идёт настройка КриптоПро CSP", в панели управления криптопро остаётся пробная лицензия.
Что именно я делаю не так, мне непонятно.

Отредактировано пользователем 5 июня 2017 г. 17:21:09(UTC)  | Причина: Не указана

Offline basid  
#7 Оставлено : 5 июня 2017 г. 18:10:37(UTC)
basid

Статус: Активный участник

Группы: Участники
Зарегистрирован: 21.11.2010(UTC)
Сообщений: 1,042

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 141 раз в 127 постах
Автор: ip-ad Перейти к цитате
Без обращения к форуму, например, не было понятно, что надо искать нужное именно в руководстве администратора безопасности
Ну, дык - "нас тьмы и тьмы и тьмы".
Цитата:
Код:
msiexec /package
... /p[ackage] - установка патчей (msp).
А это отличается от /i[nstall].

P.S.
"Не держись устава, яко слепой стены" (ц) Пётр I.
"Чтобы ломать головой кирпичи, надо тренироваться, тренироваться и - что? Правильно - ещё раз тренироваться" - неизвестный сержант ВДВ.
Offline ip-ad  
#8 Оставлено : 6 июня 2017 г. 9:22:29(UTC)
ip-ad

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.06.2017(UTC)
Сообщений: 6

Автор: basid Перейти к цитате
Автор: ip-ad Перейти к цитате
Без обращения к форуму, например, не было понятно, что надо искать нужное именно в руководстве администратора безопасности
Ну, дык - "нас тьмы и тьмы и тьмы".
Цитата:
Код:
msiexec /package
... /p[ackage] - установка патчей (msp).
А это отличается от /i[nstall].

P.S.
"Не держись устава, яко слепой стены" (ц) Пётр I.
"Чтобы ломать головой кирпичи, надо тренироваться, тренироваться и - что? Правильно - ещё раз тренироваться" - неизвестный сержант ВДВ.


/i ожидаемо точно так же не дал эффекта.
Если верить встроенной справке (msiexec /?), то разницы между /i и /package нет. А для установки патчей msp используется /update.
Offline ip-ad  
#9 Оставлено : 7 июня 2017 г. 13:54:15(UTC)
ip-ad

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.06.2017(UTC)
Сообщений: 6

С помощью тщательной отладки работы msi-пакета CryptoPro, удалось добиться почти что нужного эффекта с использованием COM-компоненты Windows Installer. Пример кода на C#:
Код:

            var installer = Activator.CreateInstance(Type.GetTypeFromProgID("WindowsInstaller.Installer")) as Installer;
            installer.UILevel = MsiUILevel.msiUILevelFull;
            var session = installer.OpenProduct("{39D25A86-A5E6-42FC-9C8F-EFA4C138B08C}");
            session.Property["PIDKEY"] = "39000XXXXXXXXXXXXXXXXXXXX";
            session.Property["ACTION"] = "CollectUserInfo";
            session.DoAction("CollectUserInfo");

В результате, пользователю открывается окно настройки криптопро с уже введённой лицензией; пользователю остаётся только нажать на кнопку "OK".
Но в идеале, конечно, хотелось бы обойтись вообще без окон, и не заставлять пользователя нажимать ничего дополнительного.

Как всё это работает?
Исходно существует свойство ProductID, в котором лежит текущая лицензия.
CollectUserInfo запускает FirstRun.
FirstRun открывает окно настройки криптопро и предлагает пользователю ввести значение ключа продукта (а также имя пользователя и название компании); значение этого поля берётся из свойства PIDKEY и сохраняется в PIDKEY.
После нажатия на "OK", FirstRun удаляет свойство ProductID, и вызывает ValidatePID.
ValidatePID проверяет действительность лицензии из PIDKEY внутренними алгоритмами криптопро, и в случае успеха записывает его в ProductID.
После этого, то ли FirstRun, то ли CollectUserInfo сохраняют лицензию. Как именно это происходит - непонятно. В логах никакой информации об этом нет.
Так как сохранение лицензии происходит то ли в FirstRun, то ли в CollectUserInfo, избавиться от них нельзя: сценарий "удалить ProductID, записать PIDKEY, вызвать ValidatePID" никакого результата не даёт (по логам всё работает правильно, новый ProductID записывается, но при следующем запуске ProductID остаётся старым).
Offline Максим Коллегин  
#10 Оставлено : 9 июня 2017 г. 12:02:50(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,377
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 706 раз в 614 постах
Без окон не получится - запись серийного номера производится сервисом Windows Installer, а этот код может работать с ограниченными привилегиями.
Знания в базе знаний, поддержка в техподдержке
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.