Как выдать сертификат windows

Как выпустить самоподписанный SSL сертификат и заставить ваш браузер доверять ему

Все крупные сайты давно перешли на протокол https. Тенденция продолжается, и многие наши клиенты хотят, чтобы их сайт работал по защищенному протоколу. А если разрабатывается backend для мобильного приложения, то https обязателен. Например, Apple требует, чтобы обмен данными сервера с приложением велся по безопасному протоколу. Это требование введено с конца 2016 года.

На production нет проблем с сертификатами. Обычно хостинг провайдер предоставляет удобный интерфейс для подключения сертификата. Выпуск сертификата тоже дело не сложное. Но во время работы над проектом каждый разработчик должен позаботиться о сертификате сам.
В этой статье я расскажу, как выпустить самоподписанный SSL сертификат и заставить браузер доверять ему.

Чтобы выпустить сертификат для вашего локального домена, понадобится корневой сертификат. На его основе будут выпускаться все остальные сертификаты. Да, для каждого нового top level домена нужно выпускать свой сертификат. Получить корневой сертификат достаточно просто.
Сначала сформируем закрытый ключ:

Затем сам сертификат:

Нужно будет ввести страну, город, компанию и т.д. В результате получаем два файла: rootCA.key и rootCA.pem

Переходим к главному, выпуск самоподписанного сертификата. Так же как и в случае с корневым, это две команды. Но параметров у команд будет значительно больше. И нам понадобится вспомогательный конфигурационный файл. Поэтому оформим все это в виде bash скрипта create_certificate_for_domain.sh

Первый параметр обязателен, выведем небольшую инструкцию для пользователя.

Создадим новый приватный ключ, если он не существует или будем использовать существующий:

Запросим у пользователя название домена. Добавим возможность задания “общего имени” (оно используется при формировании сертификата):

Чтобы не отвечать на вопросы в интерактивном режиме, сформируем строку с ответами. И зададим время действия сертификата:

В переменной SUBJECT перечислены все те же вопросы, который задавались при создании корневого сертификата (страна, город, компания и т.д). Все значение, кроме CN можно поменять на свое усмотрение.

Сформируем csr файл (Certificate Signing Request) на основе ключа. Подробнее о файле запроса сертификата можно почитать в этой статье.

Формируем файл сертификата. Для этого нам понадобится вспомогательный файл с настройками. В этот файл мы запишем домены, для которых будет валиден сертификат и некоторые другие настройки. Назовем его v3.ext. Обращаю ваше внимание, что это отдельный файл, а не часть bash скрипта.

Да, верно, наш сертификат будет валидным для основного домена, а также для всех поддоменов. Сохраняем указанные выше строки в файл v3.ext

Возвращаемся в наш bash скрипт. На основе вспомогательного файла v3.ext создаем временный файл с указанием нашего домена:

Переименовываем сертификат и удаляем временный файл:

Скрипт готов. Запускаем его:

Получаем два файла: mysite.localhost.crt и device.key

Читайте также:  Драйвера на видеокарту gtx 730 2gb виндовс 10 64 бит

Теперь нужно указать web серверу пути к этим файлам. На примере nginx это будет выглядеть так:

Запускаем браузер, открываем https://mysite.localhost и видим:

Браузер не доверяет этому сертификату. Как быть?

Нужно отметить выпущенный нами сертификат как Trusted. На Linux (Ubuntu и, наверное, остальных Debian-based дистрибутивах) это можно сделать через сам браузер. В Mac OS X это можно сделать через приложение Keychain Access. Запускаем приложение и перетаскиваем в окно файл mysite.localhost.crt. Затем открываем добавленный файл и выбираем Always Trust:

Обновляем страницу в браузере и:

Успех! Браузер доверяет нашему сертификату.

Сертификатом можно поделиться с другими разработчиками, чтобы они добавили его к себе. А если вы используете Docker, то сертификат можно сохранить там. Именно так это реализовано на всех наших проектах.

Делитесь в комментариях, используете ли вы https для локальной разработки?

Максим Ковтун,
Руководитель отдела разработки

Источник

Создание сертификата для подписания пакета

В этой статье объясняется, как создать и экспортировать сертификат для подписывания пакета приложений с помощью инструментов PowerShell. рекомендуется использовать Visual Studio для упаковки приложений UWP и упаковки настольных приложений, но вы по-прежнему можете упаковать приложение вручную, если вы не использовали Visual Studio для разработки приложения.

Предварительные требования

Упакованное или распакованное приложение
Приложение, содержащее файл AppxManifest.xml. При создании сертификата, который будет использоваться для подписывания окончательного пакета приложений, потребуется сослаться на этот файл манифеста. Сведения о том, как вручную упаковать приложение, см. в разделе Создание пакета приложений с помощью инструмента MakeAppx.exe.

Командлеты инфраструктуры открытых ключей (PKI)
Вам потребуются командлеты PKI для создания и экспорта сертификата для подписи. Дополнительные сведения см. в разделе Командлеты инфраструктуры открытых ключей.

Создание самозаверяющего сертификата.

Самозаверяющий сертификат полезен для тестирования приложения, прежде чем вы будете готовы опубликовать его в магазине. Выполните действия, описанные в этом разделе, чтобы создать самозаверяющий сертификат.

При создании и использовании самозаверяющего сертификата только пользователи, которые устанавливают и доверяют сертификату, могут запускать приложение. Это легко реализовать для тестирования, но это может препятствовать установке дополнительных пользователей в приложение. Когда вы будете готовы опубликовать приложение, рекомендуется использовать сертификат, выданный доверенным источником. Эта система централизованного доверия помогает убедиться, что экосистема приложений имеет уровни проверки для защиты пользователей от вредоносных субъектов.

Определение субъекта вашего упакованного приложения

Чтобы использовать сертификат для подписывания пакета приложений, значение в поле сертификата «Субъект» должно совпадать с данными в разделе «Издатель» манифеста вашего приложения.

Например, раздел «Идентификатор» файла AppxManifest.xml вашего приложения должен выглядеть примерно следующим образом:

«Издатель» в данном случае — «CN=Contoso Software, O=Contoso Corporation, C=US», и именно его следует использовать для создания сертификата.

Использование командлета New-SelfSignedCertificate для создания сертификата

Используйте командлет PowerShell New-SelfSignedCertificate для создания самозаверяющего сертификата. Командлет New-SelfSignedCertificate имеет несколько параметров для настройки, однако в этой статье мы сконцентрируемся на создании простого сертификата, который будет работать вместе с SignTool. Дополнительные примеры и варианты использования этого командлета см. в статье New-SelfSignedCertificate.

Основываясь на файле AppxManifest.xml из предыдущего примера, используйте следующий синтаксис для создания сертификата. В строке с повышенными привилегиями PowerShell:

Обратите внимание на следующие сведения о некоторых параметрах.

Кэйусаже. Этот параметр определяет, для чего может использоваться сертификат. Для самозаверяющего сертификата этот параметр должен иметь значение дигиталсигнатуре.

Читайте также:  Как поставить на ноутбук драйвер микрофона

Текстекстенсион: этот параметр включает параметры для следующих расширений:

Расширенное использование ключа (EKU). это расширение указывает дополнительные цели, для которых может использоваться сертифицированный открытый ключ. Для самозаверяющего сертификата этот параметр должен включать строку расширения «2.5.29.37 = 1.3.6.1.5.5.7.3.3″, которая указывает, что сертификат должен использоваться для подписывания кода.

Основные ограничения. это расширение указывает, является ли сертификат центром сертификации (ЦС). Для самозаверяющего сертификата этот параметр должен включать строку расширения «2.5.29.19 = «, которая указывает на то, что сертификат является конечной сущностью (а не центром сертификации).

После выполнения этой команды сертификат будет добавлен в локальное хранилище сертификатов, как указано в параметре «-CertStoreLocation». Результат выполнения команды также будет выдавать отпечаток сертификата.

Сертификат можно просмотреть в окне PowerShell, выполнив следующие команды:

Это позволит отобразить все сертификаты в вашем локальном хранилище.

Экспорт сертификата

Чтобы экспортировать сертификат из локального хранилища в файл обмена личной информацией (PFX), используйте командлет Export-PfxCertificate.

При использовании командлета Export-PfxCertificate следует либо создать и использовать пароль, либо с помощью параметра «-ProtectTo» указать, какие пользователи или группы могут осуществлять доступ к файлу без пароля. Обратите внимание, что если вы не используете параметр «-Password» или «-ProtectTo», отобразится ошибка.

Использование пароля

Использование ProtectTo

После создания и экспорт сертификата вы готовы подписать пакет приложений с помощью SignTool. Следующий шаг в процессе упаковки вручную описан в разделе Подпись пакета приложения с использованием инструмента SignTool.

Вопросы безопасности

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

Источник

Получение цифрового сертификата и создание цифровой подписи

В этой статье объясняется, как получить или создать цифровую подпись для использования в документах Office. Дополнительные информацию о том, как использовать их в документах Office, см. в документе Добавление и удаление цифровой подписи в файлах Office.

Что такое цифровая подпись?

Цифровая подпись (удостоверение) чаще называется цифровым сертификатом. Для цифрового подписания документа Office требуется действующий цифровой сертификат. Цифровые сертификаты обычно выдаются доверенным центром сертификации (ЦС) — надежной сторонней организацией, которая выпускает цифровые сертификаты. Существует множество коммерческих центров сертификации, у которых вы можете приобрести или бесплатно получить цифровой сертификат. Многие учреждения, правительственные организации и предприятия также могут выдавать свои собственные сертификаты.

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

Получение цифровой подписи от центра сертификации или партнера Майкрософт

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

Создание цифрового сертификата

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

  • Какую версию Windows вы используете?
  • Windows 10
  • Windows 8
  • Windows 7, Windows Vista или Windows XP
Читайте также:  Драйвера hp compaq presario cq60 410er драйвера

Перейдите в папку C:\Program Files (x86)\Microsoft Office\root\ (или C:\Program Files\Microsoft Office\root\Office16, если вы работаете с 64-битной версией Office)

Запустите программу SelfCert.exe. Откроется диалоговое окно Создание цифрового сертификата.

В поле Имя вашего сертификата введите описательное имя сертификата.

Нажмите кнопку ОК.

Когда появится сообщение «SelfCert: успех», нажмите кнопку ОК.

Перейдите в папку C:\Program Files\Microsoft Office\ \.

Запустите программу SelfCert.exe. Откроется диалоговое окно Создание цифрового сертификата.

В поле Имя вашего сертификата введите описательное имя сертификата.

Нажмите кнопку ОК.

Когда появится сообщение «SelfCert: успех», нажмите кнопку ОК.

Нажмите кнопку Пуск и выберите по очереди пункты Все программы, Microsoft Office, Средства Microsoft Office и Средство создания цифровых сертификатов для проектов VBA. Откроется диалоговое окно Создание цифрового сертификата.

В поле Имя вашего сертификата введите описательное имя сертификата.

Нажмите кнопку ОК.

Когда появится сообщение «SelfCert: успех», нажмите кнопку ОК.

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

Откройте Internet Explorer.

В меню Сервис выберите пункт Свойства обозревателя, а затем откройте вкладку Содержание.

Нажмите кнопку Сертификаты и откройте вкладку Личные.

Важно: Если подписать документ с применением собственного цифрового сертификата и поделиться им, то другие пользователи не смогут проверить достоверность вашей цифровой подписи. Им придется вручную указать, что они доверяют вашему самозаверяющему сертификату.

Получение цифровой подписи

Если вы пытаетесь подписать документ Office 2007 без цифрового сертификата, появится диалоговое окно Получение цифрового удостоверения и вам будет предложено выбрать, как вы хотите получить цифровую подпись.

У вас есть два варианта:

Подробнее о каждом варианте см. в следующих разделах.

Получение цифровой подписи от партнера Майкрософт

Если вы выбрали вариант Получить цифровое удостоверение от партнера Майкрософт в диалоговом окне Получение цифрового удостоверения, вы будете перенаправлены на веб-сайт Microsoft Office, где вы можете приобрести цифровой сертификат одного из сторонних центров сертификации (ЦС).

Если предполагается обмениваться документами, содержащими цифровую подпись, с другими людьми и при этом позволять получателям документов проверять подлинность цифровой подписи, рекомендуется получить цифровой сертификат у известного стороннего центра сертификации.

Создание собственной цифровой подписи

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

Создание собственного цифрового сертификата

В диалоговом окне Получение цифрового удостоверения выберите параметр Создать свое цифровое удостоверение.

Важно: Диалоговое окно Получение цифрового удостоверения появится только в том случае, если попытаться поставить цифровую подпись в документе, не имея цифрового сертификата.

В диалоговом окне Создание цифрового удостоверения введите следующие сведения для цифровой подписи:

В поле Имя введите свое имя.

В поле Адрес электронной почты введите свой адрес электронной почты.

В поле Организация введите название организации или компании.

В поле Расположение укажите свое географическое местоположение.

Примечание: Если подписать документ с применением собственного цифрового сертификата и поделиться им, то другие пользователи не смогут проверить достоверность вашей цифровой подписи. Ваша цифровая подпись может быть проверена только на том компьютере, где она была создана.

Источник

Adblock
detector