hgjgh 发表于 2017-12-28 18:34:05

Windows申请免费SSL证书

$domain1 = "www.domain.com"  
$alias2 = "www$(get-date -format yyyyMMddHH)"
  

  

  
$domain2 = "us.domain.com"
  
$alias2 = "us$(get-date -format yyyyMMddHH)"
  

  
$multiNameCert = "multiNameCert$(get-date -format yyyyMMddHH)"
  

  
$certPassword = "pa$$word"
  
$mail = "lu@shaobin.cn"
  
$path = "D:\证书\path\"
  

  

  

  

  
#1 导入模块
  
Import-Module ACMESharp
  

  

  

  
#2 初始化存储证书和相关信息
  
Initialize-ACMEVault
  

  

  

  
#3 注册用户信息
  
New-ACMERegistration -Contacts mailto:$mail -AcceptTos
  

  

  

  
#4 创建域名
  
New-ACMEIdentifier -Dns $domain1 -Alias $alias1
  

  

  

  
#验证域名所有权( 5.1 IIS验证 和5.2 DNS验证 方式选择 一个就可以 )
  
#5.1.1 基于IIS验证(IIS的站点名和验证的域名要一致)
  
Complete-ACMEChallenge $alias1 -ChallengeType http-01 -Handler iis -HandlerParameters @{ WebSiteRef = '$domain1' }
  

  
#5.1.2 提交申请
  
Submit-ACMEChallenge $alias1 -ChallengeType http-01
  

  

  
#5.2.1 基于DNS 认证(需要添加一条TXT记录)
  
Complete-ACMEChallenge $alias1 -ChallengeType dns-01 -Handler manual
  

  
#5.2.2 提交申请
  
Submit-ACMEChallenge <Mark> -ChallengeType dns-01
  

  
#5.2.3 验证DNS
  
(Update-ACMEIdentifier $alias1 -ChallengeType dns-01).Challenges | Where-Object {$_.Type -eq "dns-01"}
  

  

  

  
#6 查看Let's Encrypt的验证结果
  
Update-ACMEIdentifier $alias1
  

  

  

  
# 重复4-6流程 添加第2个域名
  

  

  

  
#7 创建证书(-AltRefs 多域名一起提交)
  
New-ACMECertificate $alias1 -Generate -AltRefs $alias1,$alias2 -Alias $multiNameCert
  

  

  

  
#8 提交证书
  
Submit-ACMECertificate $multiNameCert
  

  

  

  
#9 更新证书
  
Update-ACMECertificate $multiNameCert
  

  

  

  

  

  

  
#10 下载证书文件
  

  
#下载私钥
  
Get-ACMECertificate $multiNameCert -ExportKeyPEM "$path$multiNameCert.key.pem"
  
#下载证书签名请求(CSR)
  
Get-ACMECertificate $multiNameCert -ExportCsrPEM "$path$multiNameCert.csr.pem"
  
#下载LE证书
  
Get-ACMECertificate $multiNameCert -ExportCertificatePEM "$path$multiNameCert.crt.pem"
  
#下载CA中间证书
  
Get-ACMECertificate $multiNameCert -ExportIssuerPEM "$path$multiNameCert-issuer.crt.pem" -ExportIssuerDER "$path$multiNameCert-issuer.crt"
  
#下载IIS用的pfx文件
  
Get-ACMECertificate $multiNameCert -ExportPkcs12 "$path$multiNameCert.pfx" -CertificatePassword $certPassword
  
页: [1]
查看完整版本: Windows申请免费SSL证书