小编rod*_*nce的帖子

使用PowerShell创建自签名证书

我使用的是类似于在这里找到的代码来创建在IIS中使用自签名证书: http://blogs.technet.com/b/vishalagarwal/archive/2009/08/22/generating-a-certificate-自签名-使用- PowerShell的和certenroll-interfaces.aspx

工作正常,但我想给它一个友好的名称,以便在我想将证书分配给动态创建的站点时更容易找到它.

任何人都知道如何更改上面的设置友好名称(我尝试了似乎显而易见的无济于事).

有更好的方法通过PowerShell创建一个不提示用户输入信息的证书吗?

跟进我正在使用的脚本 - 基于上面的url但转换为cmdlet:

function Add-SelfSignedCertificate
{
    [CmdletBinding()]
    param
    (
            [Parameter(Mandatory=$True, ValueFromPipelineByPropertyName=$True)]
            [Alias('cn')]
            [string]$CommonName
    )

    $name = new-object -com "X509Enrollment.CX500DistinguishedName.1"
    $name.Encode("CN=$CommonName", 0)

    $key = new-object -com "X509Enrollment.CX509PrivateKey.1"
    $key.ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
    $key.KeySpec = 1
    $key.Length = 1024
    $key.SecurityDescriptor = "D:PAI(A;;0xd01f01ff;;;SY)(A;;0xd01f01ff;;;BA)(A;;0x80120089;;;NS)"
    $key.MachineContext = 1
    $key.Create()

    $serverauthoid = new-object -com "X509Enrollment.CObjectId.1"
    $serverauthoid.InitializeFromValue("1.3.6.1.5.5.7.3.1")
    $ekuoids = new-object -com "X509Enrollment.CObjectIds.1"
    $ekuoids.add($serverauthoid)
    $ekuext = new-object -com "X509Enrollment.CX509ExtensionEnhancedKeyUsage.1"
    $ekuext.InitializeEncode($ekuoids)

    $cert = new-object -com "X509Enrollment.CX509CertificateRequestCertificate.1"
    $cert.InitializeFromPrivateKey(2, $key, "")
    $cert.Subject = …
Run Code Online (Sandbox Code Playgroud)

powershell ssl-certificate

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

powershell ×1

ssl-certificate ×1