如何创建有效期超过一年的自签名证书 - WKB200306
文章编号: 200306点击此处访问英文版本文章
目的
创建有效期在一年以上的自签名证书。 虽然自签名证书不太适合生产系统,但在某些情况下,自签名证书是部署的最佳选择,至少在客户可以从内部 CA 或第三方 CA 获取服务器证书之前是这样。方 CA。 自签名证书的有效期通常为一年,但通过此过程,可以生成有效期为任意时间长度的证书。
环境
- Windows Server 2012、2016、2019
步骤
使用 PowerShell v4.0 或更高版本:
- 使用管理员权限打开 PS 控制台。
- 在控制台中运行以下命令。 它将使用计算机的完全限定的域名作为“颁发给”、“颁发者”和“使用者备用名称”来生成新的自签名证书;自当前日期起三年内有效;使用 2048 位的密钥长度;以及“友好名称”作为计算机的 FQDN。 它将存储在“LocalMachine\Personal”证书存储区中,并将自动显示在 IIS 管理器\服务器证书中:
- New- SelfSignedCertificate -FriendlyName ([System.Net.Dns]::GetHostEntry("").HostName) -DnsName ([System.Net.Dns]::GetHostEntry("").HostName) -KeyUsage DigitalSignature,keyEncipherment -KeyLength 2048 -NotBefore (Get-Date) -NotAfter (Get-Date).AddYears(3) -CertStoreLocation Cert:\LocalMachine\My
附加信息
此工具还可以创建颁发给主机名(而不是完全限定的域名)的证书,适用于需要通过 HTTPS 和主机名访问服务器的极少数情况。
优于其他方法的方法是使用 PowerShell New- SelfSignedCertificate cmdlet,因为与其他已知方法相比,它可以更好地控制证书的属性。 特别是,如果 Web 服务器证书上的 Key Usage(密钥用法)属性不包括 DigitalSignature(数字签名),某些 Web 浏览器会拒绝自签名证书。 使用 cmdlet 可以精确控制所生成证书的每个属性。
id200306,