Get your FREE copy of «The Ultimate Guide of SSL»
Download Ebook
SSL Certificates
Secure Sockets Layer (SSL) secures communication that happens between a web server and the browser and keeps it private, thereby reducing the risk of sensitive information being stolen. SSL certificates are used by millions of websites across the globe. In short, an SSL certificate assures that the conversation between two parties is private.
What is a Self-Signed Certificate?
A self-signed certificate is a free SSL certificate that is signed by the individual to whom it is issued. When you go for a self-signed certificate, the private key will be signed by you and not by any Certificate Authority (CA). Self-signed certificates are free and this gives website owners an opportunity to secure their websites with free SSL certificates. However, these certificates are generally used for internal testing purposes.
Standard SSL certificates are issued by Certificate Authorities using a chain of trust. Each certificate is signed by more reliable certificates and this chain extends to the root certificates. Unlike other standard SSL certificates, self-signed certificates do not use the chain of trust. These certificates are mostly used when the company wants to internally test without standard SSL certificates for which they have to pay.
Steps to Create a Self-Signed SSL for Windows Server 2012 R2
You can use a self-signed certificate for Windows Server 2012 R2. Following are the steps involved in the process of creating a self-signed SSL certificate for Windows Server 2012 R2.
Self-Signed SSL Certificate Generation Steps
- Step:1 Open the Microsoft Management Console (MMC) and go to Run, Type MMC and then click the OK button.
- Step:2 Window (MMC Console) will open, click on Add/Remove Snap-in.
- Step:3 You will find the certificate on the left panel >> select Certificates and click on Add.
- Step:4 After you click on Add, the snap-in window will pop-up. Select Computer Account and then click on the Next button.
- Step:5 Select the Local Computer on which this console runs and click Finish.
- Step:6 The certificate will then be added to your Snap-in. Select the certificate and click on OK.
- Step:7 In the console root select Personal >> Certificate >> All Tasks >> Advanced Operations >> Create Custom Request.
- Step:8 The Certificate Enrollment window will pop up. Click on Next.
- Step:9 On the next window, click on “Proceed without enrollment policy” and click Next.
- Step:10 In the Custom Request Window, select, (No Template) CNG key and PKCS#10 format and click on Next.
- Step:11 In the Certificate Information page, click on Details to expand the box and click on Properties & then Next.
- Step:12 In the Certificate Properties window >> Select the General tab >> for Friendly Name and Description. Add the domain for which you need the SSL certificate in the Friendly Name and Description.
- Step:13 Select the Subject tab and under that select Common Name under Type >> Value is the name of your domain for which you are creating the SSL certificate >> Select DNS under Type >> Value is the name of your domain. Click Add. You will see the details added to the right panel. Finally, click Apply.
- Step:14 Click on the Extensions tab and select Extended Key Usage.
- Step:15 Further, scroll down the window and click on Basic Constraints and click the checkbox “Enable this extension.“
- Step:16 Select the Private Key tab and Select Key Options and change Key size to 2048 or the largest key size available also check “Make private key exportable.”
- Step:17 In the same page, on “Select Hash Algorithm” change to SHA-256
- Step:18 Click Apply >> click OK.
- Step:19 Click Next in the Certificate information pop up.
- Step:20 On the Certificate Enrollment wizard, under Where do you want to save the offline request? Select the destination and click Finish.
Self-Signed SSL Certificate Import Steps
- Step:1 Click Certificate Enrolment Requests from the menu on the left >> Right click on Certificates >> All Tasks >> Import.
- Step:2 Click on Next.
- Step:3 In the Certificate Import wizard, select the destination and click Next.
- Step:4 Click Finish in the Complete the Certificate Import Wizard.
- Step:5 You will then see a pop up saying The import was successful. Click OK.
- Step:6 Click Certificates under Certificate Enrollment Requests, to view your certificate.
- Step:7 Double click Certificate and go to Details.
- Step:8 Click Copy to file and click Next.
- Step:9 Select your preferred format and name the file.
- Step:10 Import to Desktop and click Finish.
- Step:11 Import certificate in Personal Store.
- Step:12 Go to the Details tab to check the Signature hash algorithm.Step:13 You will see SHA-256.
Remember, when you use a self-signed certificate, you will notice a certificate error in IE if you do not install the certificate on all machines you use. This is one reason why many prefer standard SSL certificates over self-signed certificates.
Disclosure: AboutSSL appreciates your continuous support. It helps us tremendously to keep moving in the competitive SSL industry. Here most of the links which direct you to buy any SSL/TLS related service or products earns us a certain percentage of referral commission. Learn More
Сертификаты являются важной составляющей безопасности сети и информации, передаваемой по ней. Центр сертификации Windows Server 2012 R2 предоставляет возможность создавать и управлять сертификатами, используя различные криптографические алгоритмы и протоколы.
В этой подробной инструкции мы рассмотрим, как создать сертификат в Центре сертификации Windows Server 2012 R2. Мы охватим все необходимые шаги, начиная от установки и настройки Центра сертификации, и заканчивая самим процессом создания сертификата.
Шаг 1: Установка и настройка Центра сертификации Windows Server 2012 R2
Перед тем как приступить к созданию сертификата, необходимо установить и настроить Центр сертификации Windows Server 2012 R2. Для этого откройте Панель управления, найдите и запустите Управление Центром сертификации. После установки и настройки Центра сертификации, вы будете готовы к созданию сертификатов.
Шаг 2: Создание шаблона сертификата
Прежде чем создать сертификат, необходимо создать шаблон, который будет использоваться для его генерации. Шаблон определяет параметры и ограничения сертификата, такие как срок его действия, цели использования и другие. Для создания шаблона откройте Центр сертификации, перейдите в раздел «Шаблоны сертификатов» и выберите «Создать шаблон сертификата». Заполните необходимые поля, укажите параметры и сохраните шаблон.
Шаг 3: Создание сертификата
Теперь, когда у вас есть шаблон сертификата, можно приступить к его созданию. Для этого вернитесь в Центр сертификации, выберите «Выдать новый сертификат» и выберите созданный ранее шаблон. Заполните необходимые поля, укажите параметры сертификата и нажмите «Выдать». Поздравляю! Вы только что создали сертификат в Центре сертификации Windows Server 2012 R2!
Помните, что хранение и управление сертификатами требует особой осторожности и безопасности. Обеспечьте безопасность своих сертификатов, регулярно обновляйте их и удаляйте ненужные сертификаты.
Теперь вы знаете, как создать сертификат в Центре сертификации Windows Server 2012 R2. Следуйте этой инструкции и вы сможете генерировать и управлять сертификатами по своему усмотрению, обеспечивая безопасность своей сети и информации.
Содержание
- Описание Центра сертификации Windows Server 2012 R2
- Шаг 1: Установка службы Active Directory Certificate Services (AD CS)
- Регистрация в Центре сертификации Windows Server 2012 R2
- Шаг 2: Создание запроса на сертификат
- Выбор типа сертификата
- Шаг 3: Создание запроса на сертификат
- Заполнение анкеты для создания сертификата
Описание Центра сертификации Windows Server 2012 R2
Центр сертификации Windows Server 2012 R2 (Certification Authority) представляет собой компонент операционной системы Windows Server, который позволяет создавать, управлять и распространять электронные сертификаты.
Сертификаты, созданные с помощью Центра сертификации Windows Server 2012 R2, используются для аутентификации, шифрования, цифровой подписи и других операций, связанных с обеспечением безопасности информации.
Центр сертификации Windows Server 2012 R2 предоставляет гибкую систему настройки и управления сертификатами, позволяя задавать правила выдачи, сроки действия, уровень безопасности и другие параметры сертификатов.
Для работы с Центром сертификации Windows Server 2012 R2 необходимо выполнить установку роли «Удостоверяющий центр» (Certification Authority) на сервере с установленной операционной системой Windows Server 2012 R2.
После установки роли «Удостоверяющий центр» и настройки параметров, Центр сертификации Windows Server 2012 R2 готов к созданию и управлению сертификатами.
Чтобы создать сертификат в Центре сертификации Windows Server 2012 R2, необходимо выполнить следующие шаги:
- Открыть Центр сертификации Windows Server 2012 R2;
- Выбрать тип сертификата (личный или удостоверяющий центр);
- Задать параметры сертификата (имя, описание, срок действия и другие);
- Сгенерировать закрытый ключ и запрос на сертификат (Certificate Signing Request);
- Отправить запрос на сертификат на сервер Центра сертификации;
- Подтвердить запрос и получить сертификат.
Кроме того, Центр сертификации Windows Server 2012 R2 позволяет выполнять другие операции с сертификатами, такие как отзыв и повторную выдачу, управление списками отозванных сертификатов и т. д.
Использование Центра сертификации Windows Server 2012 R2 позволяет организациям эффективно управлять безопасностью информации, обеспечивать аутентификацию пользователей и компьютеров, а также обеспечивать шифрование данных для защиты от несанкционированного доступа.
Шаг 1: Установка службы Active Directory Certificate Services (AD CS)
Перед созданием сертификатов в Центре сертификации Windows Server 2012 R2 необходимо установить службу Active Directory Certificate Services (AD CS). Для этого выполните следующие действия:
- Откройте «Установку ролей и компонентов» в меню «Управление сервером».
- Перейдите на вкладку «Роли» и выберите «Active Directory Certificate Services».
- Нажмите «Далее» и принимайте все значения по умолчанию, указывая соответствующие настройки.
- На странице «Сервисы роли» активируйте «Центр сертификации» и «Веб-службы сертификатов».
- Установите все зависимости и дополнительные файлы, необходимые для работы службы, нажав «Далее».
- Пройдите через остальные страницы мастера установки, принимая значения по умолчанию, и завершите процесс установки.
- После установки службы AD CS перезагрузите сервер, если потребуется.
После завершения установки службы AD CS вы будете готовы к созданию и управлению сертификатами в Центре сертификации Windows Server 2012 R2.
Регистрация в Центре сертификации Windows Server 2012 R2
Для начала процесса регистрации необходимо выполнить следующие шаги:
- Запустите Центр сертификации Windows Server 2012 R2, нажав на соответствующую иконку в панели инструментов.
- В появившемся окне выберите опцию «Регистрация нового пользователя» и нажмите «Далее».
- Введите необходимые данные для создания учетной записи нового пользователя, такие как имя, фамилию и адрес электронной почты. Убедитесь, что выбрано правильное местоположение учетной записи.
- Выберите тип пользователя, для которого будет создан сертификат, и установите необходимые разрешения доступа.
- Подтвердите введенные данные и нажмите «Завершить» для завершения регистрации нового пользователя в Центре сертификации.
После завершения регистрации, пользователю будет назначен уникальный идентификатор и создана учетная запись в Центре сертификации Windows Server 2012 R2. Теперь вы можете приступить к созданию и выпуску сертификатов для данного пользователя и установке их на сервер для обеспечения безопасности ишифрования данных.
Регистрация в Центре сертификации Windows Server 2012 R2 является важным шагом для обеспечения безопасности и защиты вашего сервера. Следуя указанным выше инструкциям, вы сможете успешно зарегистрироваться в Центре сертификации и получить необходимые сертификаты.
Шаг 2: Создание запроса на сертификат
После настройки Центра сертификации Windows Server 2012 R2 необходимо создать запрос на сертификат, который будет отправлен в удостоверяющий центр (УЦ). Это позволит получить цифровой сертификат для использования на сервере.
Следуйте этим шагам, чтобы создать запрос на сертификат:
- Откройте консоль управления Центром сертификации, нажав клавишу Win+X и выбрав пункт «Центр сертификации».
- На панели инструментов выберите «Создание запроса на сертификат».
- В появившемся окне «Создание запроса на сертификат» укажите данные для создания сертификата, такие как имя сервера, название организации, дополнительные сведения и т. д.
- Выберите подходящий алгоритм шифрования и ключевые параметры для сертификата.
- Укажите имя файла и путь для сохранения запроса на сертификат.
- Нажмите «ОК», чтобы завершить создание запроса на сертификат.
После создания запроса на сертификат необходимо отправить его в УЦ для получения самого сертификата. Для этого обратитесь к инструкциям удостоверяющего центра.
Выбор типа сертификата
В Центре сертификации Windows Server 2012 R2 предоставляется возможность создания разных типов сертификатов в зависимости от потребностей и целей.
Основные типы сертификатов, которые можно создать, включают:
- Самоподписанный сертификат: создается самостоятельно и не требует подтверждения со стороны других организаций или учреждений. Удобен для тестирования или использования внутри организации.
- Сертификат службы Active Directory: используется для обеспечения безопасности служебных учетных записей в Active Directory.
- Сертификат шлюза Интернета: предназначен для использования в сети шлюза Интернета и обеспечивает безопасную связь с внешними ресурсами.
- Сертификат веб-службы: используется для обеспечения безопасности веб-служб и обмена данными.
- Сертификат персонала: выдается от имени конкретного пользователя и используется для идентификации его личности.
- Сертификат устройства: выдается устройству и используется для его идентификации и обеспечения безопасной коммуникации.
Выбор типа сертификата должен базироваться на конкретных потребностях организации или пользователей. При выборе типа сертификата необходимо учесть его предназначение и возможность его использования в конкретной ситуации.
Шаг 3: Создание запроса на сертификат
Чтобы создать сертификат в Центре сертификации Windows Server 2012 R2, необходимо сначала создать запрос на сертификат. Этот запрос будет содержать информацию о том, какие данные должны быть включены в сертификат.
Для создания запроса на сертификат выполните следующие действия:
- Откройте Центр сертификации Windows Server 2012 R2.
- На панели навигации выберите «Сертификаты».
- В левом главном меню выберите «Запрос на сертификат».
- Выберите тип сертификата, который вы хотите создать.
- Нажмите кнопку «Далее».
- Введите данные, которые должны быть включены в сертификат, такие как имя организации, владельца сертификата, доменное имя и другие.
- Нажмите кнопку «Далее» и укажите расположение, где будет сохранен запрос на сертификат.
- Проверьте введенные данные и нажмите кнопку «Завершить», чтобы создать запрос на сертификат.
После создания запроса на сертификат вы можете отправить его в Центр сертификации или сохранить для последующего использования. Далее вам понадобится подтвердить запрос на сертификат и получить готовый сертификат.
Заполнение анкеты для создания сертификата
Для создания сертификата в Центре сертификации Windows Server 2012 R2 требуется заполнить анкету, в которой указываются основные данные для сертификата. Ниже приведены шаги по заполнению анкеты:
Шаг 1:
Перейдите на веб-страницу Центра сертификации и выберите опцию «Создать сертификат».
Шаг 2:
Заполните следующие поля:
— Название сертификата: введите название сертификата, которое будет использоваться для его идентификации;
— Компания: указываете название вашей компании;
— Адрес электронной почты: введите вашу электронную почту;
— Страна/регион: выберите вашу страну или регион;
— Штат: укажите штат или область, где находится ваша компания;
— Город/населенный пункт: введите название города или населенного пункта, где находится ваша компания;
— Отдел/подразделение: укажите отдел или подразделение компании;
— Использовать имя субъекта из указанного субъекта запроса (CSR): установите флажок, чтобы использовать имя субъекта из CSR.
Шаг 3:
Проверьте правильность заполнения всех полей и нажмите кнопку «Создать».
После успешного заполнения анкеты и создания сертификата вы получите файл сертификата, который можно будет использовать для различных целей, например, для обеспечения безопасного соединения с сервером.
Настройка веб-сервера Центра сертификации на MS Windows Server 2012 R2
Настройка веб-сервера Центра сертификации будет заключаться в следущем:
- корректировка шаблона сертификата веб-сервера;
- создание сертификата веб-сервера;
- настройка диспетчера IIS для работы веб-сайта центра сертификации по протоколу SSL.
Корректировка шаблона сертификата для веб-сервера
Запустить Центр сертификации. Для этого нажать кнопку Пуск,
в открывшемся окне на значок стрелки в кружке.Кликнуть дважды мышкой на
Центр сертификации.
В центре сертификации переместиться на Шаблоны сертификатов,
вызвать контекстное меню, нажать на Управление:
В открывшемся окне консоли шаблонов сертификатов выбрать Веб-сервер
и дважды кликнуть на нем мышкой:
В закладке Безопасность для группы пользователейПрошедшие проверку
поставить флажок Заявка и нажать кнопку Применить:
Закрыть окно центра сертификации.
Создание сертификата для веб-сервера
Запустить оснастку mmc. Для этого нажать правой кнопкой мыши на Пуск, в открывшемся окне выбрать Выполнить. В меню запуска
введите команду MMC:
Добавить оснастку, для этого выбрать меню Файл/Добавить или удалить оснастку:
Выбрать Сертификаты и нажать кнопку Добавить:
В окне Оснастка диспетчера сертификатов выбрать учетной записи компьютера:
Создать настраиваемый запрос, для этого в окне консоли оснастки
сертификаты раскрыть меню Сертификаты (Локальный компьютер/Сертификаты
На строке Сертификаты вызвать контекстное меню Все задачи/Запросить новый сертификат:
В окне запросов сертификатов ставим флажок возле шаблона Веб-сервер.
В связи с тем, что для создания запроса необходимо ввести дополнительные сведения о пользователе,
нажимаем на строку Требуется больше данных для подачи заявки на…:
В закладке Субъект необходимо добавить значения Общее имя и Страна
. Общее имя должно соответствовать имени сервера (например,
SRV15), страна – RU. Нажимаем ОК и Заявка:
Настройка работы веб-сервера Центра сертификации протоколу SSL
Запустить Диспетчер служб IIS:
В левой части окна диспетчера выбрать Default Web Site,
затем в правой части окна – Привязки:
В появившемся окне нажать кнопку Добавить:
В окне Добавление привязки сайта выбрать тип HTTPS и
выбрать из списка созданный SSL сертификат. Назначение
сертификата должно быть Обеспечивает получение идентификации
от удаленного компьютера:
Закрыть окно. Сделать проверку работы SSL сертификата при доступе на сайт центра сертификации
через браузер. Ввести адрес – https://имя сервера/certsrv, где имя сервера вводим
самостоятельно.
При правильной настройке веб-сервера доступ к сайту будет выполнен без ошибок.
Большинству администраторов Windows, знакомых с темой PKI, известна утилита MakeCert.exe, с помощью которой можно создать самоподписанный сертификат. Эта утилита включена в состав Microsoft .NET Framework SDK и Microsoft Windows SDK. В современных версиях Windows 11/10/8.1 и Windows Server 2022/2019/2016/2012R2 вы можете создать самоподписанный сертификат с помощью встроенных командлетов PowerShell без использования дополнительных утилит.
Содержание:
- New-SelfSignedCertificate: создать самоподписанный SSL сертификат в PowerShell
- Как сгенерировать SAN (SubjectAltName) сертификат с помощью PowerShell?
- Экспорт самоподписаного сертификата в Windows
- Сгенерировать сертификат для подписи кода типа Code Signing
- Создать самоподписанный SSL сертификат SHA-256 для IIS
New-SelfSignedCertificate: создать самоподписанный SSL сертификат в PowerShell
Для создания самоподписанного сертификата в PowerShell нужно использовать командлет New-SelfSignedCertificate, входящий в состав модуля PKI (Public Key Infrastructure).
Чтобы вывести список всех доступных командлетов в модуле PKI, выполните команду:
Get-Command -Module PKI
Самоподписанные SSL сертификаты рекомендуется использовать в тестовых целях или для обеспечения сертификатами внутренних интранет служб (IIS, Exchange, Web Application Proxy, LDAPS, ADRMS, DirectAccess и т.п.), в тех случая когда по какой-то причине приобретение сертификата у внешнего провайдера или разворачивание инфраструктуры PKI/CA невозможны.
Совет. Не забывайте, что вы можете использования полноценные бесплатные SSL сертификаты от Let’s Encrypt. Например, вы можете SSL сертификат Let’s Encrypt и привязать его к сайту IIS.
Для создания сертификата нужно указать значения -DnsName (DNS имя сервера, имя может быть произвольным и отличаться от имени localhost) и -CertStoreLocation (раздел локального хранилища сертификатов, в который будет помещен сгенерированный сертификат).
Чтобы создать новый SSL сертификат для DNS имени test.contoso.com (указывается FQDN имя) и поместить его в список персональных сертификатов компьютера, выполните команду:
New-SelfSignedCertificate -DnsName test.contoso.com -CertStoreLocation cert:\LocalMachine\My
Команда вернет отпечаток нового сертификата (Thumbprint), Subject и EnhancedKeyUsageList. По умолчанию такой сертификат можно использовать для аутентификации клиента Client Authentication (1.3.6.1.5.5.7.3.2) или сервера Server Authentication (1.3.6.1.5.5.7.3.1).
Если вы запустите эту команду в PowerShell без прав администратор, появится ошибка:
New-SelfSignedCertificate : CertEnroll::CX509Enrollment::_CreateRequest: Access denied. 0x80090010 (-2146893808 NTE_PERM)
Если вы указали нестандартный криптографический провайдер CSPs (например, с помощью параметров
-KeyAlgorithm "ECDSA_secP256r1" -Provider 'Microsoft Smart Card Key Storage Provider'
), убедитесь, что он установлен на компьютере (по умолчанию используется CSP Microsoft Enhanced Cryptographic Provider). Иначе появится ошибка:
New-SelfSignedCertificate: CertEnroll::CX509Enrollment::_CreateRequest: Provider type not defined. 0x80090017 (-2146893801 NTE_PROV_TYPE_NOT_DEF).
По-умолчанию генерируется самоподписанный сертификат со следующим параметрами:
- Криптографический алгоритм: RSA;
- Размер ключа: 2048 бит;
- Допустимые варианты использования ключа: Client Authentication и Server Authentication;
- Сертификат может использоваться для: Digital Signature, Key Encipherment ;
- Срок действия сертификата: 1 год.
- Криптопровадер: Microsoft Software Key Storage Provider
Данная команда создаст новый сертификат и импортирует его в персональное хранилище компьютера. Откройте оснастку certlm.msc и проверьте, что в разделе Personal хранилища сертификатов компьютера появился новый сертификат.
С помощью командлета Get-ChildItem можно вывести все параметры созданного сертификата по его отпечатку (Thumbprint):
Get-ChildItem -Path "Cert:\LocalMachine\My" | Where-Object Thumbprint -eq 76360EAA92D958ECF2717261F75D426E6DB5B4D1 | Select-Object *
PSPath : Microsoft.PowerShell.Security\Certificate::LocalMachine\My\76360EAA92D958ECF2717261F75D426E6 DB5B4D1 PSParentPath : Microsoft.PowerShell.Security\Certificate::LocalMachine\My PSChildName : 76360EAA92D958ECF2717261F75D426E6DB5B4D1 PSDrive : Cert PSProvider : Microsoft.PowerShell.Security\Certificate PSIsContainer : False EnhancedKeyUsageList : {Client Authentication (1.3.6.1.5.5.7.3.2), Server Authentication (1.3.6.1.5.5.7.3.1)} DnsNameList : {test.contoso.com} SendAsTrustedIssuer : False EnrollmentPolicyEndPoint : Microsoft.CertificateServices.Commands.EnrollmentEndPointProperty EnrollmentServerEndPoint : Microsoft.CertificateServices.Commands.EnrollmentEndPointProperty PolicyId : Archived : False Extensions : {System.Security.Cryptography.Oid, System.Security.Cryptography.Oid, System.Security.Cryptography.Oid, System.Security.Cryptography.Oid} FriendlyName : HasPrivateKey : True PrivateKey : System.Security.Cryptography.RSACng IssuerName : System.Security.Cryptography.X509Certificates.X500DistinguishedName NotAfter : 12/2/2023 3:41:18 PM NotBefore : 12/2/2022 3:21:18 PM PublicKey : System.Security.Cryptography.X509Certificates.PublicKey RawData : {48, 130, 3, 45…} SerialNumber : 24682351DA9C59874573BA2B5BB39874 SignatureAlgorithm : System.Security.Cryptography.Oid SubjectName : System.Security.Cryptography.X509Certificates.X500DistinguishedName Thumbprint : 76360EAA92D958ECF2717261F75D426E6DB5B4D1 Version : 3 Handle : 2007435579936 Issuer : CN=test.contoso.com Subject : CN=test.contoso.com
Примечание. Срок действия такого самоподписанного сертификата истекает через 1 год с момента его создания. Можно задать другой срок действия сертификата с помощью атрибута —NotAfter.Чтобы выпустить сертификат на 3 года, выполните следующие команды:
$todaydate = Get-Date
$add3year = $todaydate.AddYears(3)
New-SelfSignedCertificate -dnsname test.contoso.com -notafter $add3year -CertStoreLocation cert:\LocalMachine\My
Можно создать цепочку сертификатов. Сначала создается корневой сертификат (CA), а на основании него генерируется SSL сертификат сервера:
$rootCert = New-SelfSignedCertificate -Subject "CN=TestRootCA,O=TestRootCA,OU=TestRootCA" -KeyExportPolicy Exportable -KeyUsage CertSign,CRLSign,DigitalSignature -KeyLength 2048 -KeyUsageProperty All -KeyAlgorithm 'RSA' -HashAlgorithm 'SHA256' -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider"
New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\My -DnsName "test2.contoso.com" -Signer $rootCert -KeyUsage KeyEncipherment,DigitalSignature
Чтобы изменить длину ключа сертификата и алгоритм шифрования, нужно использовать параметры
–KeyAlgorithm
,
–KeyLength
и
–HashAlgorithm
. Например:
New-SelfSignedCertificate -KeyAlgorithm RSA -KeyLength 2048 -HashAlgorithm "SHA256"
Если на компьютере доступен модуль TPM 2.0, можно использовать его для защиты ключа:
New-SelfSignedCertificate -Type Custom -Provider "Microsoft Platform Crypto Provider" ...
Провайдер Microsoft Platform Crypto Provider использует Trusted Platform Module чип устройства для создания ассиметричного ключа.
$Params = @{
"DnsName" = "mylocalhostname"
"CertStoreLocation" = "Cert:\\CurrentUser\\My"
"KeyUsage" = "KeyEncipherment","DataEncipherment","KeyAgreement"
"Type" = "DocumentEncryptionCert"
}
New-SelfSignedCertificate @Params
Как сгенерировать SAN (SubjectAltName) сертификат с помощью PowerShell?
Командлет New-SelfSignedCertificate позволяет создать сертификат с несколькими различными именами Subject Alternative Names (SAN).
Примечание. Утилита Makecert.exe, в отличии от командлета New-SelfSignedCertificate, не умеет создавать сертификаты с SAN.
Если создается сертификат с несколькими именами, первое имя в параметре DnsName будет использоваться в качестве CN (Common Name) сертификата. К примеру, создадим сертификат, у которого указаны следующие имена:
- Subject Name (CN): adfs1.contoso.com
- Subject Alternative Name (DNS): web-gw.contoso.com
- Subject Alternative Name (DNS): enterprise-reg.contoso.com
Команда создания сертификата будет такой:
New-SelfSignedCertificate -DnsName adfs1.contoso.com,web_gw.contoso.com,enterprise_reg.contoso.com -CertStoreLocation cert:\LocalMachine\My
Также можно сгенерировать wildcard сертификат для всего пространства имен домена, для этого в качестве имени сервера указывается *.contoso.com.
New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname *.contoso.com
Вы можете привязать сертификат не только к DNS имени, но и к IP адресу. Для этого вместе параметр -DnsName нужно использовать -TextExtension. Например:
New-SelfSignedCertificate -TextExtension @("2.5.29.17={text}IPAddress=10.10.2.3&DNS=TESTServer1&DNS=TESTServer1.local")
Как вы видите, в поле Subject Alternative Name теперь содержится IP адрес.
Экспорт самоподписаного сертификата в Windows
Для экспорта полученного сертификата c закрытым ключом в pfx файл, защищенный паролем, нужно получить его отпечаток (Thumbprint). Сначала нужно указать пароль защиты сертификата и преобразовать его в формат SecureString. Значение Thumbprint нужно скопировать из результатов выполнения команды New-SelfSignedCertificate.
$CertPassword = ConvertTo-SecureString -String “YourPassword” -Force –AsPlainText
Export-PfxCertificate -Cert cert:\LocalMachine\My\2779C0490D558B31AAA0CEF2F6EB1A5C2CA83B30 -FilePath C:\test.pfx -Password $CertPassword
Можно экспортировать открытый ключ сертификата:
Export-Certificate -Cert Cert:\LocalMachine\My\2779C0490D558B31AAA0CEF2F6EB1A5C2CA83B30 -FilePath C:\testcert.cer
Проверьте, что в указанном каталоге появился CER (PFX) файл сертификата. Если щелкнуть по нему правой клавишей и выбрать пункт меню Install Certificate, можно с помощью мастера импорта сертификатов добавить сертификат в корневые доверенные сертификаты компьютера.
Выберите Store location -> Local Machine, Place all certificates in the following store -> Trusted Root Certification Authorities.
Можно создать сертификат и сразу импортировать его в доверенные корневые сертификаты компьютера командами:
$cert=New-SelfSignedCertificate …..
$certFile = Export-Certificate -Cert $cert -FilePath C:\certname.cer
Import-Certificate -CertStoreLocation Cert:\LocalMachine\AuthRoot -FilePath $certFile.FullName
Полученный открытый ключ или сам файл сертификата можно распространить на все компьютеры и сервера в домене с помощью GPO (пример установки сертификата на компьютеры с помощью групповых политик).
Сгенерировать сертификат для подписи кода типа Code Signing
В PoweShell 3.0 командлет New-SelfSifgnedCertificate позволял генерировать только SSL сертификаты, которые нельзя было использоваться для подписывания кода драйверов и приложений (в отличии сертификатов, генерируемых утилитой MakeCert).
В версии PowerShell 5 командлет New-SelfSifgnedCertificate теперь можно использовать чтобы выпустить сертификат типа Code Signing.
Вы можете обновить версию PowerShell согласно инструкции.
Для создания самоподписанного сертфиката для подписывания кода приложений, выполните команду:
$cert = New-SelfSignedCertificate -Subject "Cert for Code Signing” -Type CodeSigningCert -CertStoreLocation cert:\LocalMachine\My
Теперь можно подписать ваш PowerShell скрипт эти сертификатом:
Set-AuthenticodeSignature -FilePath C:\PS\test_script.ps1 -Certificate $cert
Если при выполнении команды появится предупреждение UnknownError, значит этот сертификат недоверенный, т.к. находится в персональном хранилище сертификатов пользователя.
Нужно переместить его в корневые сертификаты (не забывайте периодически проверять хранилище сертификатов Windows на наличие недоверенных сертфикатов и обновлять списки корневых сертификатов):
Move-Item -Path $cert.PSPath -Destination "Cert:\CurrentUser\Root"
Теперь вы можете использовать этот самоподписанный сертификат для подписи PowerShell скриптов, драйверов или приложений.
Создать самоподписанный SSL сертификат SHA-256 для IIS
Обратите внимание, что при создании самоподписанный сертификат для IIS через консоль Internet Information Manager (пункт меню Create Self-Signed Certificate), создается сертификат с использованием алгоритма шифрования SHA-1. Такие сертификаты многими браузерами считаются недоверенными, поэтому они могут выдавать предупреждение о небезопасном подключении. Командлет New-SelfSignedCertificate позволяет создать более популярный тип сертификата с помощью алгоритма шифрования SHA-256.
Вы можете привязать самоподписанный сертификат SHA-256, созданный в PowerShell, к сайту IIS. Если вы с помощью PowerShell создали SSL сертификат и поместили его в хранилище сертификатов компьютера, он будет автоматически доступен для сайтов IIS.
Запустите консоль IIS Manager, выберите ваш сайт, затем в настройке Site Binding, выберите созданный вами сертификат и сохраните изменения.
Также можно привязать SSL сертификат к сайту IIS по его отпечатку:
New-IISSiteBinding -Name "Default Web Site" -BindingInformation "*:443:" -CertificateThumbPrint $yourCert.Thumbprint -CertStoreLocation "Cert:\LocalMachine\My" -Protocol https
Hyper Text Transfer Protocol Secure (https) website is encrypted site. Encrypted site means that website is secured. HTTPS site is secured by using Secure Sockets Layer (SSL). SSL certificates are issued by the Certificate Authority (CA). We can check that particular website is HTTPS or not by checking a ‘green colour lock‘ and https: in the address bar before the website name. For example, all banking websites are working on https. Some of the examples of secure websites are “https://www.google.com“, “https://www.facebook.com” and many more. In this article, we’ll learn the steps to install and configure SSL certificate server and CA.
Install and configure SSL certificate would encrypt (secure) our website so that no one can easily decode the information or data transferred by web servers to the clients. Sharing confidential information over internet is not safe that is why https is used to encrypt our data for safe transfer.
Steps to install and configure SSL Certificate on Windows Server 2012 R2.
1. To install and configure SSL certificate server, we need to install the “Active Directory Certificate Services” role. Open “Server Manager” and click on “Add roles and features“.
2. Please ensure that password is set for local Administrator and valid static IP address is assigned to the Server. Click next to continue.
3. Select an option “Role-based or feature-based Installation” and click on next.
4. Select the server from the pool on which we need to install and configure SSL Certificate.
5. Select the role “Active Directory Certificate Services” and click on next to continue.
6. Certain features are required to install and configure SSL Certificate Services role, click on “Add Features” to install all the dependent features.
7. Click on next to continue.
8. From features window, you can select additional features if required, however in this practical it is not required, therefore click on next to continue.
9. The name and domain settings of the computer cannot be changed after a CA has been installed on the Server. Therefore make the changes before installing the role.
10. From the “Role Services”, select “Certificate Authority” and “Certificate Authority Web Enrollment”. Certificate authority web enrollment allows users to request new, renew, revoke certificates, etc using Web console.
11. Web Server (IIS) role is required for end users to request, renew, revoke certificates.
12. Click on next to continue.
13. Add roles and features wizard, would explain about the importance of “Web Server Role”.
14. All the components of “Web Server” role are selected by default. You can add additional features by selecting them.
15. Select an option “Restart the destination server automatically if required”, this would restart the server if role requires the same.
16. Once the installation is succeeded successfully, click on “Configure Active Directory Certificate Services on the destination server” to begin the configuration wizard.
17. You need to be “Enterprise Admin” to configure Certificate services. Type the credentials of “Enterprise Admin” and click next.
18. Select the roles that we need to configure. We installed two roles i.e. “CA” and “CAWE” and click next to continue.
19. For the organizations normally we select “Enterprise CA”, ensure that this computer must be the member of domain otherwise this role would not be enabled.
20. Select “Root CA” and click on next.
21. Select an option “Create a new private key”.
22. In “Specify the cryptographics options” window, we’ll go for the default options and click on next. Make sure that “Key length” is 2048.
23. Specify the name of CA, we’ll select default options.
24. Validity period defines the validity of certificates, by default duration is 5 years but we can change it as per your Organization’s policy.
25. Information of certificate database and database log location is “C:\Windows\system32\CertLog”. You can change it if required.
26. Click on “Configure” to begin the configuration process. Click on previous if you want any modification to be done.
27. Green check confirms that configuration is successful for all the roles that we installed. Click on close to close the window.
Hope, you are clear with the steps to install and configure SSL certificate. In the future article, we’ll learn the steps to create HTTPS website.