ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

D365本地环境(on-premises)IIS证书过期后延长(Certificate rotation)

D365本地环境(on-premises)IIS证书过期后延长(Certificate rotation)

本地环境证书过期了,出现如下画面,云端环境(Cloud Hosted)上次解决了云端环境是按使用时长收费的,为了节省费用,也是因为本地环境(on-premises)更快(本地机性能更好,云端需要更好,可以的,加钱,不同配置收费标准不一样)

image

在网上找了很多文章(查资料一定要用Google或其他办法查国外的,国内的资料很少),感觉都不全面,花了差不多1整天时间才解决,参考文章如下:

Rotate Secrets (SSL certificate) using LCS for the Dynamics 365 for Finance & SC Cloud hosted environments

On-premises certificate rotation

D365 开发环境证书到期替换处理_d365环境过期-CSDN博客

Certificate rotation - Finance & Operations | Dynamics 365 | Microsoft Learn

但是感觉说得不全面,导致半天没办法解决,因为全面整理下,做个记录

1,进入开发环境,打开PowerShell

image

 2,输入命令

a, 输入cd cert:\LocalMachine\My,切换到路径cert:\LocalMachine\My

b,接着输入如下命令查看证书的过期情况,并找出指纹(Thumbprint)

ls | Select-Object NotAfter,Thumbprint,Subject | Where-Object -Property Subject -like "CN=DeploymentsOnebox.*" | Sort-Object -Property Subject,NotAfter
ls | Select-Object NotAfter,Thumbprint,Subject | Where-Object -Property Subject -like "CN=*cloud.onebox.dynamics.com*" | Sort-Object -Property Subject,NotAfter

以上是查两类,两句也可以分别查,也可以一起查,查出来的效果如下(截图示例只查了后一句,实际两句最好一起查,接着往下看就直到为何要):

image

c, 依次输入如下2行命令,获得新的指纹(Thumbprint)

$Thumbprint = (get-childitem -Path 275E5AAE5FB40B1D1C46E860FD0B31EE5FF99741)   ----原来的,“275E5AAE5FB40B1D1C46E860FD0B31EE5FF99741”从上一步骤查询获得

New-SelfSignedCertificate -CloneCert $Thumbprint -NotAfter (Get-Date).AddMonths(120)   ----新的,过期日设置在10年后
执行完毕后,效果如下

image

“169F21C6C48B05D9A5C5C9424CB865CD3B1A2052” 即是新指纹,把新的,原来的都记录下来,等下要替换

d,重复c步骤重新执行若干次(b步骤查出有多少个过期的,那么就要执行多少次)

 f,再次执行b步骤命令查看是否所有的已都延期,效果如下

image

 可以看到,原来的一个变成了2个,一个是过期的,一个是延了10年的,copy新旧的对应关系,用于下一步骤的替换

3,替换旧指纹为新指纹

进入本地机C:\AOSService\webroot,找到如下3个文件

image

 接着用记事本打开也可以,总之查找出里面原来的指纹,替换成新的指纹,上述涉及到多少个就替换多少次

一半用Visual studio把三个一起打开一起替换比较简单(可以替换All open documents,一次把3个搞定),如下图

image

 4,导出证书

a,打开Mange computer certificates

image

 b,  进入Personal --> Certificates,可以看到很多证书都有2份,就是我们上述步骤整出来的,接着选择新延长的证书,按下图步骤导出

image

 

image

 

image

 

image

 

image

 

image

 

5,导入证书

进入Trust Root Certification Authorities --> Certifites

image

image

 

 

image

 

image

 

image

 

6,查看下证书在IIS的有效期是否更新了,有时需要重新绑定下,还可能需要重启下IIS,还可能需要重启下本地虚拟机,总之不成就依次做

image

 

image

 

返回列表