1. 程式人生 > >PKI/CA: Win2012 R2標準版 分散式部署AD域控環境的智慧卡登陸配置問題記錄_20180919_七俠鎮莫尛貝

PKI/CA: Win2012 R2標準版 分散式部署AD域控環境的智慧卡登陸配置問題記錄_20180919_七俠鎮莫尛貝

概述:

   PC1: DNS + IIS + AD, Win2012 R2標準版

   PC2: AD證書服務, Win2012 R2標準版,

   PC3: 智慧卡(飛天ePass3000)登陸測試客戶端.

 

1.PC1和PC2如果是克隆自同一個Win2012r2模板的虛擬機器, PC2在加入AD時會提示系統ID與AD一樣,導致無法加入域.

此時需要執行sysprep更新系統ID,如下圖:

 

2. PC2要先加入AD,再安裝AD證書服務.

3. PC2安裝AD證書服務時要以AD管理員身份執行,如下圖,輸入AD域管理員的賬號,再安裝AD證書服務.

注意: 必須是AD域管理員的賬號, PC2本機的管理員賬號是不行滴.

 

4. PC1因為未安裝AD證書服務,所以沒有企業PKI 入口.匯入第三方CA證書只能採用命令列方式:

certutil -dsPublish -f userca.cer NTAuthCA

gpupdate /force

檢視PC2的企業PKI->管理AD容器,發現證書已經匯入到  NTAuthCertificates裡了.

但實際上,PC2是有企業PKI入口的, 在PC2上通過圖形介面匯入CA證書應該也是可以的. 但mmc要以域使用者或域管理員許可權執行,不能以本機賬號許可權執行.

注意: 證書此時有紅叉,說明不受系統信任. 還需要把根證書和子CA證書匯入相應的信任儲存區才行.PC1和PC2都要匯入.

 

5.此時PC1上會自動申請一個域控制器證書.

注意這個證書的有效期是一年. 可以考慮簽發一個時間長一點的比如10年的域控制器證書替代他,省的將來證書更新麻煩.

(申請10年有效期域控證書後,客戶端登陸報錯. AD上手動申請一個KDC證書後,登陸正常. 原因暫時不清楚.)

6. 2018/9/26補充. 實現免KDC證書.

15:11 2018/9/26

第三方CA簽發域控證書要求:
1.根CA的主題要符合CA名稱,如: CN=CAname,DC=myad,DC=com (20180926補充確認: 不要求)

2.要有一個有效的CRL,可在DNS裡新增A記錄以解析crl中的域名.
3.包含證書模板名稱:DomainController
4.包含使用者備用名稱:DNS Name=ADname.myad.com        (必須有,必須正確,否則匯入到AD後,AD會自動刪除這個證書!?)
5.最後得到的pfx,要通過openssl更換csp為:微軟SChannel -LMK型   (openssl v1.0以上版本才支援?) (20180926補充確認: 不要求?!)

#!/bin/bash

pfx=dc_myca_1234.pfx
pfx_schannel=dc_myca_1234_schannel.p12

openssl pkcs12 -in $pfx -clcerts -nokeys -out cert.cer
openssl pkcs12 -in $pfx -nocerts -out cert.key -nodes


openssl pkcs12 -name "RSA SChannel DC Cert" -export -inkey cert.key -in cert.cer -out $pfx_schannel -CSP 'Microsoft RSA SChannel Cryptographic Provider' -LMK


5.CA的根證書和crl要匯入AD和CA的相應儲存區.
6.CA的根證書要匯入到AD的組策略相應儲存區
7.CA的根證書要匯入NTAuthCA
certutil -dsPublish -f root.cer NTAuthCA

gpupdate /force

 

7. openssl簽發AD域控證書方法(20181019補充)

 

CONFIG=/root/openssl/dc_cert/openssl_dc.cnf

openssl ca -config ${CONFIG} -days 3650 -extensions sign_adcert_csr -out dc_openssl.cer -in csr.pem

 

openssl.cnf:

增加:

[ sign_adcert_csr ]
#1.3.6.1.4.1.311.20.2   = BMP:DomainController
1.3.6.1.4.1.311.20.2            = DER:1E200044006F006D00610069006E0043006F006E00740072006F006C006C00650072
subjectKeyIdentifier            = hash
authorityKeyIdentifier          = keyid,issuer:always
keyUsage                        = digitalSignature,keyEncipherment
extendedKeyUsage                = clientAuth,serverAuth

subjectAltName                  = @ad_guid_dnsname

[ ad_guid_dnsname ]

#otherName=1.3.6.1.4.1.311.25.1;DER:b64f74d2fc4c40608b560e802a1fc50e
DNS=AD2012.cnooc.com.cn

 

8. 待補充.