[Цитировать]

    Adler
  • 1708
  • Стаж: 2 года 9 месяцев
  • Сообщений: 1152
  • Репутация:36

    [+] [-]
  • Откуда: Луганск
SignKeyGen - генерация ключей (сертификатов) и подпись файлов--

Полноразмерные скриншоты


Для работы программы необходим .Net Framework версии не ниже 4.0

Изменения в версии 1.0.7b+: (05.02.2017)
  • Добавлена возможность генерации дочернего сертификата на основе своего корневого.
    Если в папке с программой находится свой корневой сертификат RootCA.pfx (можно сгенерировать сразу его в программе → Self-signed + CA), то User сертификат будет генерировать на основе RootCA.pfx. Если на RootCA.pfx нет пароля - все произойдет автоматом. Если есть пароль - будет высвечиваться окошко для ввода пароля. Если отказаться от ввода пароля (нажав "Отмена") то в качестве корневого будет использоваться "Adler SignKey CA" встроенный в программу.
    Под надписью "Пароль" будет отображаться INT либо EXT в зависимости от того какой корневой сертификат будет использоваться для генерации дочернего сертификата

  • Добавлена возможность выбора алгоритма шифрования, длины ключа и срока действия генерируемого сертификата.
    По умолчанию установлены параметры применяемые в предыдущих версиях программы.
При генерации ключей размером более 2048 бит генерация происходит заметно дольше и может показаться, что программа зависла. Это не так и связано в большим объемом генерируемых данных.
"Терпение горько, но его плод сладок" © Жан-Жак Руссо.

Изменения в версии 1.0.6b++: (обновлено 07.11.2016)
  • Добавлена возможность подписания файлов .sys, .cat, .cab, .ocx, .msi, .mxp, .xpi.
Другие изменения в данной версии не производились.
Изменения в версии 1.0.6b:
  • Добавлено автооткрытие Sert.pfx из папки с программой для подписи приложения.
    Если в момент открытия вкладки "Подпись" в папке с программой находится файл Sert.pfx, то он автоматически открывается и им можно произвести подпись программы. Если сертификат запаролен, то необходимо ввести пароль.
  • Добавлена возможность выбора TimeStamp сервера из выпадающего списка. В случае недоступности или ошибки сервера будет выведено сообщение об ошибке.
    Ответ от сервера ожидается в течении 7 секунд.
  • Мелкие "косметические" изменения. (Нажатие Enter в поле с паролем на вкладках "Конвертер" и "Подпись" вызывает нажатие соседней кнопки. Нажатие кнопки Enter в текстовых полях на вкладке "Генератор" вызывает переключение фокуса на следующее поле ввода).

Изменения в версии 1.0.5b:
  • Добавлена функция подписи .exe и .dll файлов.

Изменения в версии 1.0.4b:
  • Добавлена дополнительная генерация .cer файла. Файл (.cer) сохраняется в той же папке с тем же именем, что и основной .pfx файл.
  • Добавлена возможность генерации корневого сертификата центра сертификации (CA).
  • Добавлен Drag-n-drop .pfx файлов на вкладку "Конвертер".
  • Добавлен режим "поверх всех окон" (чекбокс в левом нижнем углу).
  • Мелкие изменения...

Изменения в версии 1.0.3b:
  • Добавлена функция установки сертификата в хранилище при сохранении. ("Self-Signed", т.к. установка "User" не имеет смысла).
  • Добавлен конвертер сертификата из формата .pfx в .crt и .pem

Особенности программы:
  • Режим "User" - генерируется дочерний сертификат на основе сертификата "Adler SignKey CA" (зашит в программу, устанавливается в "доверенные корневые центры сертификации" локального пользователя, с кнопки в программе).
    Если в системе установлен сертификат "Adler SignKey CA", то все сертификаты сгенерированные в режиме "User" будут действительными. Без установленного "Adler SignKey CA" сгенерированный сертификат не будет доверенным даже в случае помещения его в хранилище вручную.
  • Режим "Self-Signed" - генерируется обычный самоподписанный сертификат (выданный самому себе). От других сертификатов не зависит. Становится действительным при добавлении в "доверенные корневые центры сертификации".
  • Генерируемые ключи имею атрибут "IdKPCodeSigning", т.е. пригодны только для подписания программ.
  • При каждом нажатии на "Сохранить" генерируется новый ключ.

-Для использования в программе 7z SFX Constructor, сгенерированные файлы ключа необходимо поместить в папку \APPS\Sert\ переименовав в Sert.pfx
Возможно подписывать файлы драйверов по данному мануалу.
Полученный ключ так же возможно использовать для подписи программ вручную, к примеру с помощью консольного приложения FGSignCode от G.D.G. Software.

Пример:

FGSignCode.exe -file:<.exe файл либо .dll> -pfxpath:<файл ключа .pfx> -pfxpwd=<пароль ключа> -tsurl=http://tsa.startssl.com/timestamp

Программа основана на криптографической библиотеке BouncyCastle С#.
Вложение

Версия 1.0.7b+ - седьмая тестовая версия (FW 3.5)

Вложение

Версия 1.0.7b+ - седьмая тестовая версия (FW 4.0)



Последний раз редактировалось: Adler (2017-02-06 10:12), всего редактировалось 62 раз(а)

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 3 года
  • Сообщений: 2840
  • Репутация:98

    [+] [-]
  • Откуда: Админ от сюда
Ну и этим...

[Цитировать]

    Adler
  • 1708
  • Стаж: 2 года 9 месяцев
  • Сообщений: 1152
  • Репутация:36

    [+] [-]
  • Откуда: Луганск
nikzzzz, Joker-2013, ну я имел ввиду конкретно ту, что в конструкторе ah
Joker-2013, получается, что только скрипт конструктора неправильно вычитывает. CheckSumPe правильно вычитывает данные о подписи. Там как раз используется скрипт основанный на функциях Crypt32.dll.
А Sigcheck похоже не показывает издателя, ну по крайней мере я не нашел как.


Последний раз редактировалось: Adler (2017-02-04 22:10), всего редактировалось 3 раз(а)

[Цитировать]

    Adler
  • 1708
  • Стаж: 2 года 9 месяцев
  • Сообщений: 1152
  • Репутация:36

    [+] [-]
  • Откуда: Луганск
Пока у меня душа не лежит к допиливанию программы, что бы все было "красиво", пусть пока будет так:
Версия 1.0.7 test (alpha):
  • добавлена генерация дочернего сертификата на основе своего корневого.
Если в папке с программой находится свой корневой сертификат RootCA.pfx (можно сгенерировать сразу его в программе → Self-signed + CA), то User сертификат будет генерировать на основе RootCA.pfx. Если на RootCA.pfx нет пароля - все произойдет автоматом. Если есть пароль - будет высвечиваться окошко для ввода пароля. Если отказаться от ввода пароля (нажав "Отмена") то в качестве корневого будет использоваться "Adler SignKey CA" встроенный в программу.
Пока что, что бы не возникало путаницы, при генерации User сертификата будет высвечиваться окно с указанием того, какой сертификат будет использоваться в качестве корневого.
Остальные функции программы идентичны версии 1.0.6b++ и не изменялись.
P.S. Файл удален в связи с выходом обновленной версии!


Последний раз редактировалось: Adler (2017-02-05 22:40), всего редактировалось 2 раз(а)

[Цитировать]

    Adler
  • 1708
  • Стаж: 2 года 9 месяцев
  • Сообщений: 1152
  • Репутация:36

    [+] [-]
  • Откуда: Луганск
Обновление до 1.0.7b+
Изменения в версии 1.0.7b+:
  • Добавлена возможность генерации дочернего сертификата на основе своего корневого.
    Если в папке с программой находится свой корневой сертификат RootCA.pfx (можно сгенерировать сразу его в программе → Self-signed + CA), то User сертификат будет генерировать на основе RootCA.pfx. Если на RootCA.pfx нет пароля - все произойдет автоматом. Если есть пароль - будет высвечиваться окошко для ввода пароля. Если отказаться от ввода пароля (нажав "Отмена") то в качестве корневого будет использоваться "Adler SignKey CA" встроенный в программу.
    Под надписью "Пароль" будет отображаться INT либо EXT в зависимости от того какой корневой сертификат будет использоваться для генерации дочернего сертификата

  • Добавлена возможность выбора алгоритма шифрования, длины ключа и срока действия генерируемого сертификата.
    По умолчанию установлены параметры применяемые в предыдущих версиях программы.

https://yadi.sk/d/7TtmeNyO3D44Lx


Последний раз редактировалось: Adler (2017-02-06 09:15), всего редактировалось 1 раз

[Цитировать]

    KaSpieC 666
  • 260
  • Стаж: 3 года 5 месяцев
  • Сообщений: 945
  • Репутация:108

    [+] [-]
  • Откуда: Одесса
Adler,
Зачем такой маленький шрифт в сообщении?

[Цитировать]

    Adler
  • 1708
  • Стаж: 2 года 9 месяцев
  • Сообщений: 1152
  • Репутация:36

    [+] [-]
  • Откуда: Луганск
KaSpieC 666, упс ah Вроде читабельно. Немного увеличил.
В первом посте размер крупнее.

Комментарий от KaSpieC 666


Не у всех хорошее зрение... Приходиться присматриваться. А если ночью, когда уже глаза болят, то вообще...

[Цитировать]

    sov44
  • 14940
  • Стаж: 1 год 7 месяцев
  • Сообщений: 23
  • Репутация:1

    [+] [-]
  • Откуда: г. Киров
Установленный файл сертификата, созданный в SignKeyGen1.0.7b, не видит кнопка sfx от gora.
Собрал файл батником, его кнопка увидела.
"c:\test\makecert.exe" -r -pe -n CN="sov44",C="RU",L="Kirov" -b 03/10/2017 -e 03/11/2023 -eku 1.3.6.1.5.5.7.3.3 -ss my -sr localmachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider"  -a md5 -sy 12 MyCert.cer

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 3 года
  • Сообщений: 2840
  • Репутация:98

    [+] [-]
  • Откуда: Админ от сюда
sov44, У горе-кнопки сертификат ищется в хранилище, а не в файле...

[Цитировать]

    sov44
  • 14940
  • Стаж: 1 год 7 месяцев
  • Сообщений: 23
  • Репутация:1

    [+] [-]
  • Откуда: г. Киров
Joker-2013, я и не спорю, что ищет в хранилище. Нюанс в другом - один установленный файл видится кнопкой, другой установленный - не видится. Очевидно проблема в свойствах сертификата. Возможно в том, что GUI генерирует сертификат как для конечного субъекта, возможно в чём-то другом.

[Цитировать]

    Adler
  • 1708
  • Стаж: 2 года 9 месяцев
  • Сообщений: 1152
  • Репутация:36

    [+] [-]
  • Откуда: Луганск
sov44, может кнопка в каком то конкретном хранилище ищет. Попробуте добавить сертификат в хранилище вручную.

[Цитировать]

    sov44
  • 14940
  • Стаж: 1 год 7 месяцев
  • Сообщений: 23
  • Репутация:1

    [+] [-]
  • Откуда: г. Киров
Adler, установка проводилась вручную - автоматически выбирать хранилище. Оба сертификата ставятся в промежуточные центры сертификации.

[Цитировать]

    Adler
  • 1708
  • Стаж: 2 года 9 месяцев
  • Сообщений: 1152
  • Репутация:36

    [+] [-]
  • Откуда: Луганск
sov44, ну тогда не знаю. Думаю, что в кнопке что то намудрено, но в исходниках копаться лень...

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 2 года 10 месяцев
  • Сообщений: 168
  • Репутация:0

    [+] [-]
Adler, Здравствуйте aa
Заранее извиняюсь если буду спрашивать глупые вещи, просто перечитал уже пару раз все сообщения в теме, но несовсем врубился.. пытался погуглить, понял что-то, но разве что в общих чертах, а хочется же бысто и по существу все узнать))
если Вас не затруднит, несколько вопросов:
1) Цифровая подпись на файле как-то замедляет его выполнение? она ведь сверяется с какими-то серверами в интернете?
2) Когда она истечет файл по прежнему останется рабочим? просто утратит "доверие"? никаких всплывающих сообщений о истечении сертификата при запуске не будет? что хуже, файл с истекшей подписью или вообще не подписанный?
3) Разработкой ПО не занимаюсь, но бывает делаю что-то для работы или своих нужд, на уровне запакованного батника (или щас вот начал баловаться с pecmd), как-то добавлять "серьезности" своим поделкам цели нет, но вот максимально снизить кол-во ложных реакций антивирусов весьма интересно. Подпись сертификатом (сгенерированным таким способом) мне чем-то поможет? само-собой я уже проверял)) пользуясь конструктором уважаемого Joker-2013 пробовал паковать с подписью и без, а вчера наткнулся на вашу утилиту и тоже уже испытал на файле на основе pecmd.
В обоих случаях на пару реакций меньше (на VirusTotal). Это ведь не совпадение? Ваша утилита для того и нужна? Реакций будет меньше?
4) По вашим сообщениям в теме вродебы понял как пользоваться программой, но вроде бы и не понял)) для генерации сертификата использовал режим "Self-Signed", подписывал с помощью FGSignCode, позже заметил что можно подписать и в самой утилите (поначалу не заметил надписи "перетяните файл для подписи.." и думал такой функции нет), но в обоих случаях в Сведениях о цифровой подписи наблюдаю следующую надпись: "Цепочка сертификатов обработана но обработка прервана на корневом сертификате у которого отсутствует доверие с поставщиком доверия". Как при использовании Self-Signed сертификата добиться надписи "Эта Цифровая подпись действительна" ??? может я что-то упустил.. Неужели только если установить это сертификат в систему? тоесть она будет действительна только на моем ПК?
Надеюсь хоть в двух словах подскажете) Заранее Благодарю)

[Цитировать]

    Adler
  • 1708
  • Стаж: 2 года 9 месяцев
  • Сообщений: 1152
  • Репутация:36

    [+] [-]
  • Откуда: Луганск
1. Если и замедляет, то это не заметно. Ни с какими сервисами в инете ничего не сверяется. В Винде локальный менеджер сертификатов.
2. Да. Да. Не будет. По идее без разницы.
3. Честно говоря я как то особо не проверял.
4. Программа делает самоподписанные сертификаты, которых по умолчанию естественно нет в хранилище сертификатов Виндовс и к ним нет доверия (если не установлена была галочка "установить" при генерации). Если галочка "установить" была установлена, то там всплывет дополнительное окошко подтверждения добавления сертификата в доверенные.
Если галочка не установлена, то для того, что бы эта подпись была действительна, сертификат надо самостоятельно добавить в хранилище доверенных сертификатов в Виндовс конкретного ПК.
Если честно, то я сам не особо вижу реально практического применения этому для себя, кроме как побаловаться, поподписывать что то. Просто когда я делал софтину меня интересовал больше технический аспект, т.е. то как это работает и работает ли вообще, а не практический, в смысле кому это надо и зачем...
P.S. У меня еще есть заготовка программы типа FGSignCode, которая может делать мультиподпись (sha-1 + sha-256), но с графическим интерфейсом, только вот собственно доделать сам графический интерфейс у меня терпения и не хватило (это просто для меня нудно и не очень интересно) ac Может как нибудь доделаю, а пока я "занят" by by by ab

[Цитировать]

    cartmenezz
  • 1384
  • Стаж: 2 года 10 месяцев
  • Сообщений: 168
  • Репутация:0

    [+] [-]
Adler, Большое спасибо за ответ
в принципе, теперь все понятно (правда всеравно непонятно почему тогда комп пишет что цифровая подпись верна для прог скачанных с интернета..
просто ради интереса покупался на трение, нашел пару репаков с припиской DC, например скачивал UltraIso от Trovel,
и там все OK, цифровая подпись от какого-то Shenzhen и написано действительно.. понимаю что она наверное не самому себе выдано,
а наверное типа официальная, вот только даже если официальная, откуда она у меня в хранилище взялась? не совсем понятно..
я то точно не никуда не добавлял..))

Страница 7 из 8


Показать сообщения:    

Текущее время: 18-Июл 06:21

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы