先前,先后弄windows server2008 以及现在的windows server2012 操作ad域 很大时间浪费在了操作证书上,希望大家可以通过此文档可以更快的解决ssl证书的问题。有问题可随时联系我。

注意:host文件要记得修改!!!host文件要记得修改!!!host文件要记得修改!!!

本着应用隔离的原则,建议把证书服务部署在一台独立的windows server 2012 r2虚拟机之中。证书服务器可以不用考虑高可用,因证书服务宕掉后,除了不能继续颁发证书和不能访问证书吊销信息,并不影响证书的其他验证。

  • 证书服务的导出
    1.win+r 后 输入 mmc 
  • 2.文件 添加/删除管理单元 新建证书 选择本地计算机 如图


  • 3.完成之后,右键 所有任务 申请新证书,做ldap 连接ad域只需要勾选域控制器即可

  • win关闭ldap服务 windows server ldap_win关闭ldap服务

  • ‘’
    4.申请成功,右键所有任务 导出 不要私钥 base64 编码
  • win关闭ldap服务 windows server ldap_windowsserver2012_02


  • win关闭ldap服务 windows server ldap_ldap_03

  • 5.用远程桌面的连接 高级勾选即可导出到桌面位置
  • 6.导出根域控证书(ldap需要域控根证书以及域名证书)
  • 域控根证书在下方安装证书服务就会添加到受信任的根证书办法机构
  • 到其中找到 跟上面申请的证书导出方法一致
     

导入java 库中 我的路径是

导入
keytool -import -file D:\nb.cer -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -alias nb

keytool -import -file D:\nb12.cer -keystore "D:/Program Files/Java/jdk1.8.0_201/jre/lib/security/cacerts" -alias nb12

查看
keytool -list -keystore "%JAVA_HOME%\jre\lib\security\cacerts"| findstr /i nb

删除

keytool -delete -alias parent -keystore "D:/Program Files/Java/jdk1.8.0_201/jre/lib/security/cacerts" -storepass changeit

keytool -delete -alias parent -keystore "D:/Program Files/Java/jdk1.8.0_201/jre/lib/security/cacerts" -storepass changeit
 

也可以用GUI 图形化工具查看

GUI 操作java 证书库工具|

链接:https://pan.baidu.com/s/1Oniam0qPzFnn5Wos8ddrMA 
提取码:3gxt 
复制这段内容后打开百度网盘手机App,操作更方便哦、

最终导入到本地的两个证书如下图

win关闭ldap服务 windows server ldap_ldap_04


 

证书路径不是如下图的话 可以先将域控根证书安装到本地计算机

win关闭ldap服务 windows server ldap_ad域_05


 

用GUI可视化工具查看如下图

win关闭ldap服务 windows server ldap_java_06


用可视化工具的话 需要注意 保存!!!保存!!!保存!!!

  • 证书服务的安装

证书服务的安装很简单,运行服务器管理器,添加角色与功能,选择”Active Directory证书服务“,

win关闭ldap服务 windows server ldap_ad域_07

在角色服务中选择”证书颁发机构“与”证书颁发机构WEB注册” (不是证书注册web服务)两项,证书颁发机构WEB注册也就是传统的http://<ca-ip>/certsrv注册方式,虽然大多数情况下可以不用此方式申请证书,但在某些特殊情况还是会用到(比如某些非微软的第三方应用),所以请安装上。

win关闭ldap服务 windows server ldap_ad域_08

其他步骤选择默认。

  • 安装后的配置

安装完成后,在服务器管理器的右上角会有一个***的三角图标,点击它,

win关闭ldap服务 windows server ldap_win关闭ldap服务_09


选择企业CA,

win关闭ldap服务 windows server ldap_java_10

选择根CA,对于一般企业来说,就一台根CA足矣,不用搞得太复杂。

win关闭ldap服务 windows server ldap_java_11


 

在接下来的选项中选择创建新的私钥,加密选项默认,密钥长度至少2048位,其他选项默认。

  • 高级配置

虽然在上面的安装完成后,基本的证书服务就可以用了,但在生产环境中,还建议进行以下配置:

  1. 修改服务器级别颁发的证书有效期,如改为10年
  2. 创建一个自定义的企业用的证书模板(计算机类)
  3. 调整CRL发布期,尽量长(如果安全性要求高,则要调短)
  4. 配置HTTP方式访问CRL和AIA,并且内外可访问
  5. 创建EFS恢复代理
  6. 关于证书续订
  7. 修改服务器级别颁发的证书有效期

默认情况下,证书的有效期只有两年,即使你证书模板配置了大于两年也没用,需要在证书服务器上修改下面这个总开关:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\<caname>下面的"ValidityPeriodUnits",默认为2,修改成需要的年限,修改后要重启证书服务。

在企业环境中,如果不修改这里,每两年都去续订或更新证书也是件麻烦事(比如邮件系统用的证书),对于安全合规要求不是很高的环境可以调高这里的年限。

  1. 创建一个自定义的企业用的证书模板(计算机类)

默认情况下,用户能从MMC中申请“计算机”类型的证书,但此证书所有参数固定,不能添加自定义的域名(CN和SAN),且不能导出私钥,不适合生产环境,需要新建一个适合生产的模板,以便自动申请相关证书,步骤如下:

运行mmc,添加证书模板,然后选中计算机模板,再选复制模板,就会基于计算机模板复制出一个新模板,我们可以基于此模板定义出适合自己的模板,计算机模板既适合服务器身份验证,也适合客户端身份验证,这点与WEB服务器模板有所不同,WEB服务器只适合服务器身份验证,不同用途的模板适合不同的场景,在Exchange和LYNC的部署中,通常只要是计算机类型的证书即可(比如你申请一个用户类型的证书是没有用的)。

win关闭ldap服务 windows server ldap_ldap_12


然后在复制模板的兼容性标签选默认设置(如果不是选windows server 2003兼容设置,比如更高版本,则不能通过web方式申请),

win关闭ldap服务 windows server ldap_java_13


在常规标签下,有效期设置为10年,续订期也设置长一点,如一年,如果续订期太短,过了续订期就只有新申请证书,而不能利用原有证书,这会导致很多麻烦事(比如去相关应用更换证书)。

win关闭ldap服务 windows server ldap_win关闭ldap服务_14


在请求处理标签,选择允许导出私钥。

win关闭ldap服务 windows server ldap_windowsserver2012_15


在使用者名称标签,选择在请求中提供,这样你就可以很方便地自定义公用名和使用者备用名称,比如多域名或通配符证书。

win关闭ldap服务 windows server ldap_ad域_16

最后返回证书颁发机构,右击证书模板,选择新建,选要颁发的证书模板。

win关闭ldap服务 windows server ldap_win关闭ldap服务_17

然后选择刚才新建的证书模板,这样就可以通过MMC,WEB方式申请此类型的证书了。如果不加到证书颁发机构下的证书模板下,是不能通过MMC/WEB方式申请此类型证书的。

win关闭ldap服务 windows server ldap_java_18

win关闭ldap服务 windows server ldap_ldap_19

可以找一台加域客户端或服务器进行验证,运行mmc,添加证书(计算机)插件,在个人>证书下右击,选所有任务,选申请新证书。

win关闭ldap服务 windows server ldap_ad域_20

win关闭ldap服务 windows server ldap_win关闭ldap服务_21

选择相应证书模板,并点配置设置,

win关闭ldap服务 windows server ldap_windowsserver2012_22

在公用名填入使用者名称,然后备用名称DNS栏填入其他域名或通配符。最后确定申请,正常马上就能看到证书。

win关闭ldap服务 windows server ldap_windowsserver2012_23

  1. 调整CRL发布期

右击吊销的证书,在CRL发布间隔填写1年,取消发布增量CRL。这样做的目的不是增强安全性,是减少工作量,毕竟大部分环境还没有很高的CRL要求。

win关闭ldap服务 windows server ldap_java_24

  1. 配置HTTP方式访问CRL,并且内外可访问

默认情况下,CRL证书吊销列表通过LDAP方式访问,但此方式域网络之外是无法访问的,为了让内外都能访问,并简化部署,建议把CRL分发点设置成通过HTTP方式访问,并发布到外网,实现内外统一访问。

进入证书颁发机构属性,选择扩展标签,选CRL分发点,首先取消发布到LDAP,这个东西只能内部访问,外部又不能访问,所以取消它,只保留HTTP的方式访问CRL。

win关闭ldap服务 windows server ldap_java_25

然后选中上面的http一行,再点下面的添加,添加如下地址,ca.cme-cq.com为内外网都能访问的域名,指向实际的证书服务器,最后面的jdjt-rootca.crl是证书颁发机构的名字与crl扩展名组合。

win关闭ldap服务 windows server ldap_win关闭ldap服务_26

确定后如下图勾选。

win关闭ldap服务 windows server ldap_java_27

完成后手动发布一下CRL。

win关闭ldap服务 windows server ldap_ad域_28

win关闭ldap服务 windows server ldap_win关闭ldap服务_29

注意这些CRL实际是发布在system32\certsrv\certenroll之下的(关联到了IIS的CertEnroll目录,所以通过HTTP能够访问),红框中的crl为吊销列表。

win关闭ldap服务 windows server ldap_ad域_30

win关闭ldap服务 windows server ldap_java_31

参照上面CDP同理修改AIA位置,取消LDAP发布,并添加http路径,路径与CRL发布路径仅后面文件名不一样,这里就是前面system32\certsrv\certenroll路径下crt文件名。

win关闭ldap服务 windows server ldap_ldap_32

win关闭ldap服务 windows server ldap_windowsserver2012_33

接着就是要在内外部DNS服务器上添加ca.cme-cq.com的解析,外部要访问还需要在边缘防火墙进行发布,建议使用TMG(TMG可以部署成旁路),TMG可以通过不同的域名来实现对同一IP和80端口的重复利用。

完成后到客户端申请一个证书,检查CRL分发点位置和颁发机构信息访问两个设置是否如我们配置一样。

win关闭ldap服务 windows server ldap_ad域_34

win关闭ldap服务 windows server ldap_ldap_35

并测试是否能够访问。

win关闭ldap服务 windows server ldap_win关闭ldap服务_36

  1. 创建EFS恢复代理

有个别用户会使用EFS加密,但由于不了解相关知识,没有意识到备份自己的证书与私钥,导致重装系统后原来EFS文件再也不能打开(重装系统后私钥和证书都被删除了,虽然公钥在证书颁发机构有,但私钥如前面原理所说,他是只保存在用户电脑上的)。作为一种救援手段,管理员需要提前创建至少一个EFS恢复代理,这样当用户找到你时,你才可以扮演救世主,不然你也只能耸耸肩。其实操作很简单,打开组策略管理,编辑默认的default domain policy,在计算机配置>windows设置>安全设置>公钥策略下,右击加密文件系统,选择创建数据恢复代理程序,就会自动以当前用户创建一个恢复代理,

win关闭ldap服务 windows server ldap_win关闭ldap服务_37

双击此证书,可以看到证书目的是文件恢复,

win关闭ldap服务 windows server ldap_java_38

切换到详细信息,点复制到文件,把恢复代理证书与私钥备份出来,以备急用。

win关闭ldap服务 windows server ldap_ldap_39

win关闭ldap服务 windows server ldap_windowsserver2012_40

win关闭ldap服务 windows server ldap_ldap_41

完成后在用户端刷新组策略,可以见到相关加密文件属性中已经有了恢复代理。

win关闭ldap服务 windows server ldap_ldap_42

那如果是用户出现问题,怎么恢复呢?

步骤是登录用户桌面,把此pfx证书导入当前用户,此时就能够打开了。

  1. 关于证书续订

证书续订需要在续订期之内进行,进入mmc,找到相应证书,选所有任务>高级操作>使用相同的密钥续订此证书

win关闭ldap服务 windows server ldap_ad域_43