Если вы не хотите идти в проблему создания полноценного single-tier или two-tier PKI инфраструктуры (которая была бы тема для ServerFault, а не StackOverflow), вы можете договориться с makecert.exe
, чтобы создать подписанный с ним самозаписываемый сертификат ЦС и сертификаты хоста.
Создание сертификата CA, как это:
& makecert.exe -pe -r `
-n "CN=TestCA" `
-ss my `
-sr LocalMachine `
-a sha256 `
-sky signature `
"TestCA.cer"
Затем создать сертификат для хоста:
$cn = if ($env:USERDNSDOMAIN) {
"$env:COMPUTERNAME.$env:USERDNSDOMAIN"
} else {
$env:COMPUTERNAME
}
& makecert.exe -pe `
-n "CN=$cn" `
-ss my `
-sr LocalMachine `
-a sha256 `
-sky exchange `
-eku 1.3.6.1.5.5.7.3.1 `
-in "TestCA" `
-is my `
-ir LocalMachine `
-sp "Microsoft RSA SChannel Cryptographic Provider" `
-sy 12 `
"$cn.cer"
Си-Эн (Common Name) является предметом вашего сертификата и сертификатов хозяевах должен соответствовать полному домену компьютера.
Если вы хотите создать сертификаты хоста для других хостов, кроме вашего локального компьютера, вам необходимо установить $cn
на имя/FQDN другого компьютера. Для того, чтобы получить сертификат и закрытый ключ к компьютеру назначения export как из хранилища сертификатов (<serial>
это серийный номер сертификата):
& certutil.exe -exportPFX -f -privatekey -p "password" "<serial>" computer.pfx
Копия computer.pfx
на компьютер, для которого генерируется сертификат и импортировать его как это:
& certutil.exe -importPFX -f -privatekey C:\path\to\computer.pfx
Вам будет предложено указать пароль, указанный вами при экспорте сертификата.
На всех машинах, которые должны использовать сертификаты, подписанные вашим TestCA нужно импортировать TestCA.cer
под Доверенные корневые центры сертификации для учетной записи компьютера.
& certutil.exe -f -addstore ca C:\path\to\TestCA.cer
makecert.exe
Обратите внимание, что не доступна в качестве отдельной загрузки больше, но вы можете получить его от Windows SDK (скачать файл ISO и запустите программу установки SDK Tools из вложенной \setup\WinSDKTools
).
Обратите также внимание, что использование самодельного СА, такого как , сильно обескуражено для любой производственной среды.
thank u. Я хочу, чтобы сервер мог размещаться из любого места в Интернете. поэтому мне нужен CA, теперь я делаю CA. но где я могу его поместить? Команда следующая: makecert -n «CN = PowerShell_test» -a sha1 -eku 1.3.6.1.5.5.7.3.3 -r - sv xxl.pvk xxl.cer -ss xxl -sr localMachine и есть xxl.cer в моей папке?где я могу положить его на работу https и почему я набираю «Enter», но эти комментарии не начинаются со следующей строки? thank u – rookie
В принципе, СА - это не что иное, как самоподписанный SSL-ключ и сертификат. Ключ используется для подписания других сертификатов, а сертификат используется для проверки сертификатов, подписанных с ключом. Вот почему вам нужно развернуть сертификат CA ('TestCA.cer' в моем примере) на каждый хост, где вы хотите использовать сертификат, подписанный этим центром сертификации. –
Какой кошмар для базового варианта использования WinRM. –