Windows Server 2025搭建CA服务器


为了解决有些时候需要签发长时效证书,但又不想花钱。所以准备自己搞一个CA自签发证书。分享一下搭建过程。

这种方式适合于个人或企业内部私有使用,不适合公共对外使用,因为涉及安装CA根证书,对普通用户不太友好且繁琐。

服务器操作系统的安装配置这里就不赘述了,和安装一般的Windows差不多。文中所说的都是比较傻瓜的操作,如果有自定义需求,欢迎留言讨论。登录操作系统后,打开“服务器管理器”-“添加角色和功能”,出现如下界面,然后下一步:

如果在当前主机上安装,则保持默认,乖乖下一步。我这里是在当前主机安装,至于远程安装自己摸索一下吧,查不太多。

选择服务器环节,基本都是保持默认,然后下一步。

在下图界面中,勾选红框内的选项。

此时系统会弹出提示,需要安装一些必要组件,乖乖听话添加功能即可。

功能安装界面,没有什么特别需要安装的功能,直接下一步即可。

下面将开始对CA进行安装前的配置,如下图:

为了方便证书的申请,我需要增加web申请页面,所以需要将下图红框中的选项勾选。

此时操作系统提示需要添加一些必要的功能,保持默认添加相关的功能即可。

因为添加了Web申请证书的功能,所以需要配置IIS服务器,下面开始IIS安装配置。

保持默认选项,直接下一步即可。除非你有特殊需求或者很清楚自己在干什么,否则不要修改安装选项。

安装前的确认,可以勾选自动重启服务器的选项。

然后就开始了安装过程,等待出现下图界面,点击红框里的内容准备开始安装后的配置。

凭据界面保持默认,直接下一步。

角色服务中将下图红框中的选项一并勾选。

因为我们当前没有AD环境,所以这里只能默认选择独立CA。

因为这是我们当前搭建的第一个CA服务器,所以选择第一个选项“根CA”。

又因为是首次创建CA,自然没有私钥,所以下图的界面中也选择第一个选项。

加密方式根据自己需求选择,不知道选啥的就乖乖的保持默认,点击下一步即可。

公共名称可以根据自己的需求修改,我这里就保持默认了。默认规则就是主机名+“-CA”组成。

选择一下你需要的CA根证书的有效期,建议选长的。

证书数据库的保存位置,没有特殊需求的就保持默认吧。

确认配置信息,确认无误后点击“配置”按钮开始配置进程。

出现下面的界面则表示配置完成了。

这时可以使用浏览器访问下图中的地址来申请证书了。但是下图中明显发生了403错误。这个问题现在只在Windows Server 2025上遇到过。

我当时天真的认为通过https方式访问就没问题了。结果就是下图的样子。

导致这个问题的原因是,Windows Server 2025要求访问这个页面时使用https,但是系统默认的配置中并没有在IIS服务器上绑定https。以前的版本没有遇到这个问题,以前都是http直接访问的。现在的巨硬操作系统真是一言难尽啊。

解决方案如下,首先进入IIS管理器,然后按照红框编号依次操作。

点击“添加”按钮,如下图。

进行如下图中的配置,证书那选自己的CA证书,别找着我的来,那样永远也找不到。

添加后的信息如下图。

然后再使用https登录certsrv页面就正常了。

下面开始申请证书操作,首先找一个要申请证书的服务器,或者随便找个Linux主机都行。执行下面的语句生成私钥。密钥加密长度随自己,不用非得2048,当然越长越好。

执行如下图中的命令,使用私钥生成证书申请文件,之后需要填写国家、省份、组织名称等信息。重点是红框里的内容。这里就是你的域名,我图中的写法称为泛域名,也就是只要是test.web能在域名里匹配到,不管域名前面是www还是test等其他的,就能使用这个证书加密信息。当然你也可以写单一域名。

打开并复制证书申请文件的全部内容。

打开证书申请页面,点击“申请证书”。

点击“高级证书申请”。

将刚刚复制出来的证书申请文件内容贴到文本框里,下面的属性框里可以用来设置证书有效期等参数。

将如下的参数填写到参数框,你将申请一个有效期为3年的证书。

ValidityPeriod: Years
ValidityPeriodUnits: 3

但是这里在Windows Server 2025又会遇到问题,就是会提示你有效期太长了,不能申请这么长的有效期。可以通过证书模板修改。但是坑爹的是非AD环境中没有证书模板。Windows Server 2025之前的版本没有这个问题,加参数直接可以申请。这里不自觉的又想吐槽一下巨硬。

提交申请后会有下图这样的一个反馈页面。

在服务器管理工具中打开证书管理工具,然后在“挂起的申请”中可以看到刚刚提交的证书申请。

选择对应的证书,右键“颁发”,然后在“颁发的证书”中可以看到相应的证书,在这里也可以进行吊销证书等操作。

此时再次登录certsrv页面,点击下图中红框中选项来查看证书申请。

证书颁发后会显示下图的界面。

点击证书链接后就可以下载证书了,需要啥格式,自己选择。

到这里实际文章已经写完了。但是我觉得都已经写了这么多了,那就再多说两句。因为是自签发证书,所以必须在需要使用证书的主机上安装CA根证书后才能有效的使用自签发证书。

还是进入certsrv页面,点击下图红框中的选项。

然后在页面中选择对应的CA证书、编码格式,然后下载CA证书。

之后就是安装证书,Windows下双击证书,然后安装证书,选择将证书保存到“受信任的证书颁发机构”,即可完成CA证书安装。

Linux下安装证书的方式我只列举Debian的方式,CentOS系的操作系统我不怎么使,没法做验证,所以这里不写了,需要的可以自行搜索或者问问AI。

使用root执行下面的命令即可在Debian安装CA证书。

mv ca.crt /usr/local/share/ca-certificates/
update-ca-certificates