這文章描述如何要求證書來自未加入網域的 Windows 電腦的 AD CS(Active Directory 憑證服務)。
我認為相同的原則適用於非 Microsoft 作業系統,並且可以從 OSX 或 Linux 進行相同的註冊。
問題
我如何在 OSX/Linux 上向 AD CS 請求憑證?
或者有人可以告訴我 AD CS 服務如何運作(足夠詳細),以便我可以開發替代解決方案?
答案1
我意識到這有點舊了,但現在有一個解決方案,使用證書販子+切佩切斯。如果您想自動註冊,您可以在 Samba 中設定群組原則和證書自動註冊(僅適用於 Samba 4.15+)。
對於簡單的設置,您可以安裝證書販子和切佩切斯,然後根據您的環境修改 /etc/cepces/cepces.conf。對於典型配置,您只需將該server
參數設定為 Windows CA 的 dns 名稱。
rpm 規範應該執行一個將 CA 新增到 certmonger 的腳本。如果沒有,則用 來新增getcert add-ca -c cepces -e /usr/libexec/certmonger/cepces-submit
。
然後您可以要求您的證書,例如:
# getcert request -c cepces -T Machine -I MachineCertificate -k /etc/pki/tls/private/machine.key -f /etc/pki/tls/certs/machine.crt
New signing request "MachineCertificate" added.
答案2
ADCS 註冊 Web 服務使用兩種通訊協定:[MS-XCEP]和[MS-WSTEP](微軟的實現[WS-信任]協定).
CEP(實作 [MS-XCEP])是一種註冊策略服務,用於:
- 提供可供客戶註冊的證書範本。
- 提供證書註冊服務 (CES) URI
CES(實現 [MS-WSTEP])是一種註冊服務,用於:
- 提交證書請求
- 檢索已核發的證書
- 提供代表註冊 (EOBO) 功能
相關協定規格可能適用(例如,[MS-ADTS] 和 [MS-CERTD])。
我不知道有任何適用於 Linux 作業系統的兼容客戶端,但是有一個適用於 Apple MacOS 和 iOS 的兼容模組:http://www.zevainc.com/index.php/productsandtools/licensed-products/item/91-certdeploy
答案3
我如何在 OSX/Linux 上向 AD CS 請求憑證?
如果您不需要自動執行此操作,則只需使用「Active Directory 憑證服務 Web 註冊」即可。這是一個簡單的小型網路應用程序,(除其他外)可讓您貼上任意 CSR。它並不關心它們是否源自 Windows 作業系統。
然後,Windows 管理員必須手動批准或拒絕該 CSR,然後找到一種方法來為您提供新建立的憑證。所以這僅適用於低容量吞吐量。
此處列出的基本點擊次數:http://www.whitneytechnologies.com/?p=218
答案4
我如何在 OSX/Linux 上向 AD CS 請求憑證?
CEP 和 CES 是在 Windows 系統上進行手動和自動認證註冊的服務。
在 Linux 或類似系統上 AD CS 角色NDES(網路設備註冊服務)用來。
本文應該可以讓您對該服務有一個很好的概述:https://blogs.technet.microsoft.com/jeffbutte/2016/12/16/236/