Сокращение времени жизни подписанного кода EXE
Когда код подписывает исполняемый файл, он будет считаться из доверенного источника, если сертификат действителен (если не помечен как метка времени). Мне интересно, могу ли я сократить этот промежуток времени.
Я прошел через параметры командной строки Signtool, но не смог найти вариант, чтобы сократить время действия. Однако это может означать, что Microsoft не поддерживает это.
Мои предполагаемые использования:
в целях тестирования
для демонстрационных целей (тренинги для разработчиков)
просто идея: так как я подписываю исполняемые файлы в любом случае, это было бы хорошим вариантом для предоставления ограниченных по времени демонстрационных лицензий. Приложение просто проверит себя на срок действия.
1 ответ
Что ж, вам нужно выдать новый сертификат (с новым диапазоном дат) для каждой сборки вашего приложения. Это просто не практично.
Однако вы можете проверить, какова дата / время (отметка времени), когда исполняемый файл был подписан. Затем вы можете сравнить эту временную метку с максимально "допустимой" датой для вашего приложения. Если "отметка времени + максимальное количество пробных дней" больше, чем текущая дата - хорошо, запустите как обычно. Если нет - отмените с помощью "Trial Expired".
Вы можете увидеть примеры кода здесь и здесь. По сути, вы заинтересованы в GetDateOfTimeStamp/GetTimeStampSignerInfo.