По программе. (Чтобы не путаться в описании её опциий надо заметить, что опции расширенного набора не включают в себя опции базового набора)
1) Для создания сертификата моего личного корневого центра сертификации у меня на 2008R2 работал следующий код:
PS C:\Users\Администратор> &"C:\Program Files (x86)\Microsoft.NET\SDK\v2.0\Bin\makecer t.exe" -r -pe -n "CN=mycompany.ru" -ss CA -sr CurrentUser -a sha1 -cy authority -sky signature -sv mycompany.pvk mycompany.crt
2) Потом мы содаём сертификат для подписания кода использую созданный ранее личный корневой центр:
PS C:\Users\Администратор> &"C:\Program Files (x86)\Microsoft.NET\SDK\v2.0\Bin\makecer t.exe" -pe -n "CN=mycompany_code_signing"
A sha1 -cy end -sky signature -ic "C:\Users\Администратор\Desktop\mycompany.crt " -iv "C:\Users\Администратор\Desktop\mycompany.pvk " -sv mycompany_code_signing .pvk mycompany_code_signing .cer
3) Импорт сертификатов в систему:
Наш новый корневой сертификат легко импортируется через GUI по двойному щелчку(*.crt) - нужно лишь указать что он идёт в раздел сертификатов корневых центров
Наш сертификат для подписи кода добавить солжнее т.к. его надо добавить с ключом.
Контекст: Есть стандартный формат хранения и сертификата и ключа в одном файле и он называется *.pfx. Проблема в том что на предыдущих шагах мы сгенерировали и ключ и серт в отдельных файлах, а ключ так вообще в проприетарном формате Microsoft *.pvk. Есть два способа сделать дело:
1) Использовать pvk2pfx.exe который распространяется в лучших традициях майкрософта - хуй знает где. В.NET 2.0 SDK его нет, а вот в Windows Software Development Kit for Windows 8.1 он есть. Но этот SDK большой и ставится долго. Зато импорт идёт в GUI по щелчку мыши.
2) Использовать pvkimport.exe
(который кстати умеет и экспортировать в pfx). Синтаксис прост, в качестве всего лишь указываются *.crt и *.pvk.
4) Добавить наш сертификат для подписи кода в доверенные издатели всё в той же MMC, чтобы у PS было меньше вопросов.
5) Подписать код, есть два пути:
1) Графический, доступен только в устаревшей версии программы signtool из того же.NET 2.0 SDK. Её нужно запустить с ключом wizzard или что-то типа того.
2) Стандартный - signtool из комплекта Win 8.1 SDK не имеет мастера, но подписывает вот так:
&"C:\Program Files (x86)\Windows Kits\8.1\bin\x86\signtool.exe" sign /v "C:\Users\Администратор\Desktop\new_test.ps1" У неё много ключей, но если их не указывать она автоматом находит нужный серт. Если сетров несколько придётся вникать, как указать нужный.
Хороший ответ по всей процедуре на стэковерфлоу:
While you can create a self-signed code-signing certificate (SPC - Software Publisher Certificate) in one go, I prefer to do the following:
(^ = allow batch command-line to wrap line)
This creates a self-signed (-r) certificate, with an exportable private key (-pe). It"s named "My CA", and should be put in the CA store for the current user. We"re using the SHA-256 algorithm. The key is meant for signing (-sky).
The private key should be stored in the MyCA.pvk file, and the certificate in the MyCA.cer file.
Because there"s no point in having a CA certificate if you don"t trust it, you"ll need to import it into the Windows certificate store. You can use the Certificates MMC snapin, but from the command line:
It is pretty much the same as above, but we"re providing an issuer key and certificate (the -ic and -iv switches).
We"ll also want to convert the certificate and key into a PFX file:
If you want to protect the PFX file, add the -po switch, otherwise PVK2PFX creates a PFX file with no passphrase.
If you import the PFX file into the certificate store (you can use PVKIMPRT or the MMC snapin), you can sign code as follows:
Some possible timestamp URLs for signtool /t are.
Какие теперь открываются просторы для разработчиков приложений, когда не нужно зависеть от какой-то компании, не требуется создавать ИП, а достаточно предоставить необходимый перечень документов и Вы способны изменить свою жизнь раз и навсегда, кто знает, может быть сейчас, по ту сторону экрана сидит будущий владелец интернет-гиганта, по-типу Microsoft или Google? Данная статья будет полезна не только для действующих разработчиков, но и для тех, кому впервые удалось столкнуться с данным сертификатом. Для начала, немного поговорим о самом Code Signing сертификате. - это специализированный цифровой сертификат, которым можно подписать ПО, различные скрипты, приложения, макросы и т.д., для того чтобы не возникало проблем с авторскими правами. Он гарантирует:
Если Вы уникальный разработчик, то Ваш код - это Ваше имя. Если работа Вашей программы будет нарушена, заражена вирусом или испорчена, то вернуть доверие потенциальных покупателей будет практически невозможно. Защитите себя, пользователей Вашего ПО и свое доброе имя с помощью надежного сертификата цифровой подписи кода. Cертификаты подписи кода используют уникальный в своем роде криптографический шифр.
Начиная с Windows XP и заканчивая Windows 10, при установке программного обеспечения без сертификата, Вы получаете предупреждение о том, что программа не безопасна. Данные требования относятся и к установке драйверов. Если такой подписи не обнаружится , Windows пометит Ваше приложение, как не безопасное. Если приложение будет подписано , то система пометит его, как положительное к использованию и можно будет посмотреть информацию об издателе.
Сертификаты с расширенной проверкой компании () обладает всеми теми же функциями, что и обычный Code Signing. Плюс ко всему он обеспечивает:
Важное замечание ! Корпорация Microsoft обязала для операционной системы Windows 10 подписать все драйвера сертификатом EV Code Signing. Драйвера, которые будут подписываться обычным сертификатом, приниматься не будут.
Данный сертификат можно использовать на большом количестве платформ. Он без всяких сложностей будет работать на:
Документы, которые необходимо будет предоставить для выпуска сертификата на физическое лицо:
На нашем сайте Вы найдете широкий выбор сертификатов подписи кода по самым выгодным ценам. По всем вопросам о самом сертификате и о его выдаче, Вы можете обратиться в нашу тех. поддержку по-средствам:
Мы будем рады предоставить Вам сертификат максимально быстро и качественно!
Code Signing сертификаты для ПО
Сертификаты Code Signing или сертификаты разработчика подписывают программное обеспечение. Это свидетельство, что программный код является оригинальным — написан определенным разработчиком и не менялся после наложения цифровой подписи программы.
Если устанавливать софт, который не подписан соответствующим образом, операционная система выдаст предупреждение. Когда же ПО подписано, владелец компьютера при установке может получить краткую информацию его о разработчике. Это помогает убедиться, что софт безопасен.
Какими бывают Code Signing
Сертификаты выпускаются удостоверяющими центрами — это компании, которые прошли аккредитацию, получив право выпускать цифровые подписи. Сертификаты отличаются по типам подписываемого программного обеспечения. Также бывает сертификат с расширенной проверкой, выписываемые специально для приложений и драйверов в Windows 10.
Как работает цифровая подпись приложения
Сначала разработчик обращается в удостоверяющий центр и запрашивает Code Signing. Затем создает хеш кода по определенному алгоритму, шифрует его приватным ключом и получает сертификат издателя. Когда пользователь устанавливает подписанную программу, система проверяет запускает алгоритм, воссоздает хеш и сравнивает его с хешем программы. Если хеши совпадают — приложения подписаны валидным кодом.
Купить Code Signing можно только ИП и компаниям. Оформление на физическое лицо невозможно. Наша поддержка будет рада ответить на любые вопросы по сертификатам.