Прежде чем мы начнем, давайте сначала узнаем об PKI.
Сертификат — это файл, содержащий открытый ключ и некоторую идентифицирующую информацию. существованиеPKI,Сертификаты выдаются доверенной третьей стороной (называемой центром сертификации).,CA), выданный из,Центр сертификации подтверждает личность владельца сертификата и связанного с ним открытого ключа. Однако,Мы также можем создать самозаверяющий сертификат, то есть сертификат подписан самим владельцем сертификата (а не центром сертификации).
Самозаверяющие сертификаты полезны во многих сценариях, особенно в средах тестирования и разработки. Однако, поскольку они не подписаны доверенным центром сертификации, использование самозаверяющих сертификатов в общедоступном Интернете может вызвать проблемы с доверием.
существовать Windows , мы можем использовать PowerShell из New-SelfSignedCertificate
cmdlet Приходить Создать самозаверяющий сертификат. Ниже приводится создание самозаверяющий пример сертификата:
$param = @{
"DnsName" = "mylab.wang.io";
"CertStoreLocation" = "Cert:\CurrentUser\My";
"NotAfter" = (Get-Date).AddYears(10);
"KeySpec" = "KeyExchange";
"KeyExportPolicy" = "Exportable";
}
New-SelfSignedCertificate @param
Этот код создает новый самозаверяющий сертификат и назначает его текущему пользователю. "My" Сертификат находится на хранении.
После создания сертификата,Мы можем экспортировать это в файл,Для использования в других устройствах или приложениях. существовать PowerShell , мы можем использовать Export-PfxCertificate
и Export-Certificate
cmdlets экспортировать сертификат.
Export-PfxCertificate
cmdlet Экспортируйте сертификат и его закрытый ключ. PFX файл (также известный как PKCS#12 документ). Этот тип файла содержит всю информацию о сертификате, включая закрытый ключ, поэтому его необходимо защитить. Ниже приведен экспорт PFX Файл из примера:
$pwd = ConvertTo-SecureString -String "Admin_123456" -Force -AsPlainText
Get-ChildItem -Path 'Cert:\CurrentUser\My' | Where-Object { $_.Subject -match "mylab.wang.io" } | Export-PfxCertificate -FilePath C:\Users\Administrator\Desktop\cert\mylab.wang.io.pfx -Password $pwd
Этот код начинается с "My" Узнайте в хранилище сертификатов, что имя субъекта содержит "mylab.wang.io" изсертификат
забронировать и экспортировать его как PFX документ. Экспортированные файлы зашифрованы и защищены паролем. "Admin_123456"。
Export-Certificate
cmdlet Тогда экспортный сертификат CER файл (также известный как X.509 Сертификат). Этот тип файла содержит только часть сертификата с открытым ключом и не содержит закрытого ключа, поэтому его можно использовать публично везде, где это необходимо. Ниже приведен экспорт CER Файл из примера:
Get-ChildItem -Path Cert:\CurrentUser\My\ | Where-Object { $_.Subject -match "mylab.wang.io" } | Export-Certificate -FilePath C:\Users\Administrator\Desktop\cert\mylab.wang.io.cer
Полный сценарий:
$param = @{
"DnsName" = "mylab.wang.io";
"CertStoreLocation" = "Cert:\CurrentUser\My";
"NotAfter" = (Get-Date).AddYears(10);
"KeySpec" = "KeyExchange";
"KeyExportPolicy" = "Exportable";
}
New-SelfSignedCertificate @param
$pwd = ConvertTo-SecureString -String "Admin_123456" -Force -AsPlainText
Get-ChildItem -Path 'Cert:\CurrentUser\My' | Where-Object { $_.Subject -match "mylab.wang.io" } | Export-PfxCertificate -FilePath C:\Users\Administrator\Desktop\cert\mylab.wang.io.pfx -Password $pwd
Get-ChildItem -Path Cert:\CurrentUser\My\ | Where-Object { $_.Subject -match "mylab.wang.io" } | Export-Certificate -FilePath C:\Users\Administrator\Desktop\cert\mylab.wang.io.cer
Подвести итог
сертификат Книгазаключается в защите сетевых коммуникацийиданныеизважный инструмент。существовать Windows , мы можем использовать PowerShell создать и Экспорт самозаверяющего сертификата。虽然自签名сертификат Книгасуществоватьобщественный Интернетможет вызвать проблемы с доверием,Но они являются очень полезными инструментами в средах тестирования и разработки. Если вам нужен сертификат, который широко распространен в общедоступном Интернете,следует рассмотреть возможность начать с признанногоизсертификат Книга颁发机构获取сертификат Книга。
Надеюсь, вы нашли эту статью полезной,И узнал несколько новых трюков PowerShell! Если у вас есть какие-либо вопросы или вам нужно более подробное объяснение,Добро пожаловать, чтобы оставить сообщение в области комментариев