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

    Adler
  • 1708
  • Стаж: 9 лет 1 месяц
  • Сообщений: 1212
  • Репутация:65

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

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


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

Изменения в версии 1.0.8: (04.06.2021)
  • Обновлен алгоритм подписи и список timestamp-серверов на актуальные.
  • Автоматически производится двойная подпись SHA1 и SHA256
  • Обновлен Adler SignKey CA сертификат.
СКАЧАТЬ! 1.0.8

История версий

Изменения в версии 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 С#.


Последний раз редактировалось: Adler (2021-06-04 22:15), всего редактировалось 70 раз(а)

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

    Joker-2013
  • 1039
  • Стаж: 9 лет 4 месяца
  • Сообщений: 2053
  • Репутация:120

    [+] [-]
  • Откуда: из прошлого
Добавлена возможность генерации сертификата корневого центра сертификации (CA).
Где? как? Не понял...
Хотелось бы добавить возможность подписывания своего кода (программы)
И пункт в контекстном меню
Менеджер готовых подписей и возможность выбора при подписании файлов

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

    Adler
  • 1708
  • Стаж: 9 лет 1 месяц
  • Сообщений: 1212
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
Joker-2013, в режиме "Self-Signed" ставишь галочку на "CA" и генерируется сертификат со специальным атрибутом указывающий, что это сертификат CA. Подробностей за него не знаю ah
Тут - http://blog.differentpla.net/blog/2013/03/24/bouncy...ficate-authority можно почитать. Как то особо не вникал.
Единственное заметил, что если им подписать программу, то даже если он доверенный (добавленный в хранилище), то в данных о цифровой подписи пишет, что подпись какая то не правильная. А если на основе его сгенерировать сертификат, то с подписанной им программой все ок.
P.S. В программу зашит именно такой (CA) сертификат.
P.S.S. Я в описании слова местами перепутал, т.к. корневой сертификат, а не цс...

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

    Adler
  • 1708
  • Стаж: 9 лет 1 месяц
  • Сообщений: 1212
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
Хотелось бы добавить возможность подписывания своего кода (программы)
За это думал. "Быстрого" решения пока не нашел, а глубоко копать пока нет особо времени..

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

    SergeyZV
  • 528
  • Стаж: 9 лет 8 месяцев
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
Сведения о цифровой подписи
Расширение основных ограничений сертификата не были просмотрены
Есть ещё куда доробатывать. ad

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

    Adler
  • 1708
  • Стаж: 9 лет 1 месяц
  • Сообщений: 1212
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
SergeyZV, это вообще что? Не совсем понял о чем речь...
Аааа... Если вы об этом:
То у меня встречный вопрос, а зачем вы программу подписали корневым сертификатом?
Корневой сертификат служит для подтверждения подлинности "дочерних" сертификатов, а не для того, что бы им что то подписывали.
Только что проверил, информация о подписи подписанные self-signed и user сертификатами выглядят вот так:

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


Последний раз редактировалось: Adler (2016-10-12 09:35), всего редактировалось 2 раз(а)

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

    SergeyZV
  • 528
  • Стаж: 9 лет 8 месяцев
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
Когда с сертификатом всё нормально, то должно выглядеть так

тык

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

    Adler
  • 1708
  • Стаж: 9 лет 1 месяц
  • Сообщений: 1212
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
SergeyZV, ну так подписывайте self-signed сертификатов и тогда будет так выглядеть или создавайте сами дочерний сертификат на основе CA сертификата :)
Корневым сертификатом софт не подписывают, хотя это технически и возможно ab Корневой сертификат служит для идентификации ЦС, а не для конечного использования...
Вот попробовал подписать софт корневым сертификатом сгенерированный makecert.exe, как и предпологалось - результат такой же:


Последний раз редактировалось: Adler (2016-10-12 09:51), всего редактировалось 1 раз

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

    SergeyZV
  • 528
  • Стаж: 9 лет 8 месяцев
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
ну так подписывайте self-signed сертификатов и тогда будет так выглядеть
Был не прав aa

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

    Adler
  • 1708
  • Стаж: 9 лет 1 месяц
  • Сообщений: 1212
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
SergeyZV, бывает ab Не ошибается тот, кто ничего не делает ...

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

    SergeyZV
  • 528
  • Стаж: 9 лет 8 месяцев
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
Adler, Какая команда скрывается под галочкой "установить"?
И может ещё добавить возможность подисать файл?!

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

    Adler
  • 1708
  • Стаж: 9 лет 1 месяц
  • Сообщений: 1212
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
SergeyZV, установить - сохранить в "доверенные корневые центры сертификации" локального (т.к. программа не просит прав админа) пользователя.
По поводу подписи отвечал как раз в посте перед вашим утренним постом. Планирую, но сейчас нет достаточного свободного времени, что бы с этим разбираться.
Но вероятно, что это будет не в этой программе, а в отдельной, т.к. эта (генератор ключей) задумывалась как однофайловая мини утилита, которая не хранит нигде никаких настроек и не создает никаких сопутствующих файлов для работы (все что нужно программе, все зашито в неё), что не очень подходит для такой программы как подписывалка.
Однофайловых подписывалок и так хватает, как консольных, так и с GUI, а у меня задумка сделать более расширенный вариант, с менеджером ключей, минимальными настройками и т.д. Но это пока только задумка, так как и половины того, что задумал еще не представляю как это реализовать. Надо think и read ...
Главное, что бы у меня интерес к этому не пропал к тому времени как появится свободное время этим заниматься ah

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

    SergeyZV
  • 528
  • Стаж: 9 лет 8 месяцев
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
установить - сохранить в "доверенные корневые центры сертификации"
Команду в прямом смысле
*.exe -? /? ...

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

    Adler
  • 1708
  • Стаж: 9 лет 1 месяц
  • Сообщений: 1212
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
SergeyZV, с командной строкой программа пока не дружит (может и не будет дружить ...) тыц ah
А какой смысл делать добавление сертификата в хранилище через командную строку если выполняется такое же точно действие, как и при двойном клике по .pfx файлу?
P.S. Хотя нет, не такое... пароль не запрашивается, но все равно нужно подтверждать добавление вручную...


Последний раз редактировалось: Adler (2016-10-12 11:43), всего редактировалось 2 раз(а)

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

    SergeyZV
  • 528
  • Стаж: 9 лет 8 месяцев
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
Adler, Мы не видим какие сторонние утилиты вы используете? Добавление сертификата в доверенные у вас происходит с использованием этих утилит? Вот про эту команду разговор.

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

    Adler
  • 1708
  • Стаж: 9 лет 1 месяц
  • Сообщений: 1212
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
SergeyZV, а ... Нет.
Программа вообще никакие утилиты не использует ни для чего, все что связано с ключами реализовано средствами языка C# с использованием криптографических библиотек BouncyCastle (вшита в программу) и стандартной системной .net библиотеки System.Security.Cryptography (идет вместе с .Net Framework).

Страница 3 из 9


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

Текущее время: 21-Ноя 18:53

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


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