Статус: Участник
Группы: Участники
Зарегистрирован: 15.06.2019(UTC) Сообщений: 11  Откуда: Москва
|
Здравствуйте! Озаботились процессом напоминания о заканчивающейся лицензии. Для этого требуется получить срок окончания лицензии. Каким образом это можно сделать? Обращение типа Код:set obj = CreateObject("CPCSPLicense.CPCSPLicense")
MsgBox obj.GetExpireDate("") & " " & obj.GetType()
вызывает ошибку 'Данные настройки для этого продукта повреждены. Обратитесь в службу поддержки.'
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,699   Сказал «Спасибо»: 573 раз Поблагодарили: 2303 раз в 1804 постах
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.06.2019(UTC) Сообщений: 11  Откуда: Москва
|
Автор: Андрей *  А вот если указать (uuid для 4-ки взял по предложенной Вами ссылке),то всё заработало. СПАСИБО ОГРОМНОЕ! А-то мне тут в одном УЦ заявили 'точного механизма определения срока действия лицензии у КриптоПро CSP нет. Об этом нам сами разработчики КриптоПро сказали'. Ну вот я и усомнился в том, что они могли такое сказать и решил сам проверить и оказалось, что есть точный механизм :-) Осталось только понять, где эти uuid можно взять. В реестре есть буквально 3 места, где они упоминаются и опять же в каких-то разделах с uuid, например вот: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\7AB5E7046046FB044ACD63458B5F481C\InstallProperties А что это за {7AB5E7046046FB044ACD63458B5F481C} - да бог его знает... Получается, что всё таки нет точного механизма и нельзя однозначно для любой версии сказать версию берёшь отсюда, uuid продукта смотришь тут и по нему получаешь инфу по лицензии? Ну или просто принимаешь эти uuid как факт, полученный от разработчиков и просто при выходе новой версии добавляешь в обработку новый.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,699   Сказал «Спасибо»: 573 раз Поблагодарили: 2303 раз в 1804 постах
|
Дистрибутив устанавливается через msiexec, у каждой версии (4,5) свой guid продукта и страница с описанием параметров установки, также указан и guid продукта (в примере - команда для удаления csp) : https://www.cryptopro.ru....aspx?g=posts&t=7782 |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.06.2019(UTC) Сообщений: 11  Откуда: Москва
|
Автор: Андрей *  Дистрибутив устанавливается через msiexec, у каждой версии (4,5) свой guid продукта и страница с описанием параметров установки, также указан и guid продукта (в примере - команда для удаления csp) : https://www.cryptopro.ru....aspx?g=posts&t=7782 Андрей, спасибо за информацию, возможно она тоже пригодится. Хотелось бы ещё выяснить, что возвращает в ответ метод 'GetExpireDate'. Как я понял, по логике вещей, если лицензия бессрочная, то в ответ выдаётся "0:00:00". Если же лицензия временная, то получаем "ДД.ММ.ГГГГ ЧЧ:ММ:СС". По крайней мере на рабочих станциях у меня возврат получается именно такой. Пробовал на Крипто Про 4.0.9963 (Windows 10 Корпоративная) вот такими строчками: Код:set obj = CreateObject("CPCSPLicense.CPCSPLicense")
CPro_LED = obj.GetExpireDate("{407E5BA7-6406-40BF-A4DC-3654B8F584C1}")
msgbox (CPro_LED)
Стал пробовать на серверной ОС (Крипто Про 4.0.9842 (Windows Server 2012 R2)) и в ответ получаю всё что угодно, кроме того, что надо, от 'Данные настройки продукта повреждены' и до абсолютно произвольной даты и времени. Т.е. 10 раз запустишь и 10 разных значений получишь, совпасть могут только 'Данные настройки продукта повреждены'. Есть какие-то комментарии по этому моменту? Отредактировано пользователем 25 мая 2020 г. 12:12:29(UTC)
| Причина: исправлены описки
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,699   Сказал «Спасибо»: 573 раз Поблагодарили: 2303 раз в 1804 постах
|
На vbs пример выше? И при генерации исключения, оно не обрабатывается и переменная содержит разное значение, так ? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.06.2019(UTC) Сообщений: 11  Откуда: Москва
|
Автор: Андрей *  На vbs пример выше? И при генерации исключения, оно не обрабатывается и переменная содержит разное значение, так ? Пример да, на vbs. Про исключение ничего сказать не могу, но переменная действительно каждый раз имеет разное значение. Дабы исключить вообще все лишние факторы, сделал скрипт вообще без переменных, ну и естественно картина не изменилась. Вот сделал видео результата работы на серверной ОС: https://youtu.be/BL0wsR4cEZc
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,699   Сказал «Спасибо»: 573 раз Поблагодарили: 2303 раз в 1804 постах
|
Код:
On Error Resume Next
Err.Clear
set obj = CreateObject("CPCSPLicense.CPCSPLicense")
CPro_LED = obj.GetExpireDate("{407E5BA7-6406-40BF-A4DC-3654B8F584C1}")
If Err.Number = 0 Then
msgbox (CPro_LED)
End If
If Err.Number <> 0 Then
msgbox ( "Error: " & Err.Number & " (Hex): " & Hex(Err.Number) )
Err.Clear
End If
On Error Goto 0
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.06.2019(UTC) Сообщений: 11  Откуда: Москва
|
Автор: Андрей *  Код:
On Error Resume Next
Err.Clear
set obj = CreateObject("CPCSPLicense.CPCSPLicense")
CPro_LED = obj.GetExpireDate("{407E5BA7-6406-40BF-A4DC-3654B8F584C1}")
If Err.Number = 0 Then
msgbox (CPro_LED)
End If
If Err.Number <> 0 Then
msgbox ( "Error: " & Err.Number & " (Hex): " & Hex(Err.Number) )
Err.Clear
End If
On Error Goto 0
Андрей, спасибо за код, есть в нём для меня полезные вещи, но! Это обработка ошибок, которые периодически возникают. Но основной-то вопрос не в том, чтоб их отследить и обработать, а в том, как узнать тип лицензии, бессрочная или с конечной датой ? На рабочей станции, если лицензия бессрочная, то даты нет вообще, а вместо времени выдаются нули (0:00:00). Так и можно отследить, а тут как понять-то? :-)
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,699   Сказал «Спасибо»: 573 раз Поблагодарили: 2303 раз в 1804 постах
|
Цитата:выдаются нули (0:00:00) Да, если исключения не было и выдалось так - то значит это бессрочная лицензия. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close