AD系列:Windows Server 2025 安裝AD CS角色和頒發證書

什么是 Active Directory 證書服務?

Active Directory 證書服務 (AD CS) 是一個 Windows Server 角色,負責頒發和管理在安全通信和身份驗證協議中使用的公鑰基礎結構 (PKI) 證書。

頒發和管理證書

數字證書可用于對電子文檔和消息進行加密和數字簽名,以及對網絡上的計算機、用戶或設備帳戶進行身份驗證。 例如,數字證書用于提供:

  • 通過加密提供機密性。

  • 通過數字簽名提供完整性。

  • 通過將證書密鑰和計算機、用戶或計算機網絡上的設備帳戶關聯來進行身份驗證。

主要功能

AD CS 提供以下重要功能:

  • 證書頒發機構:根和從屬證書頒發機構 (CA) 用于向用戶、計算機和服務頒發證書,并管理證書的有效性。

  • 證書頒發機構 Web 注冊:Web 注冊使用戶能夠通過 Web 瀏覽器連接到 CA,以便申請證書和檢索證書吊銷列表 (CRL)。

  • 聯機響應程序:聯機響應程序服務可解碼對特定證書的吊銷狀態申請,評估這些證書的狀態,并發送回包含所申請證書狀態信息的簽名響應。

  • 網絡設備注冊服務:通過此服務,路由器和其他不具有域帳戶的網絡設備可以獲取證書。

  • TPM 密鑰證明:通過它,證書頒發機構可驗證私鑰是否受基于硬件的 TPM 保護以及 TPM 是否受 CA 信任。 TPM 密鑰證明可防止證書導出到未經授權的設備,還可將用戶標識綁定到設備。

  • 證書注冊策略 Web 服務:通過此服務,用戶和計算機能夠獲取證書注冊策略信息。

  • 證書注冊 Web 服務:通過此服務,用戶和計算機能夠通過 Web 服務執行證書注冊。 與證書注冊策略 Web 服務一起使用時,可在客戶端計算機不是域成員或域成員未連接到域時實現基于策略的證書注冊。

優點

你可以使用 AD CS,通過將個人、計算機或服務的標識與相應的私鑰進行綁定來增強安全性。 AD CS 為你提供了一種對證書的分發和使用進行管理的經濟、高效和安全的方法。 除了綁定標識和私鑰外,AD CS 還包含可用于管理證書注冊和吊銷的功能。

可以使用 Active Directory 中的現有終結點標識信息來注冊證書,這意味著可以將信息自動插入到證書中。 AD CS 還可用于配置 Active Directory 組策略,以指定允許哪些用戶和計算機使用哪些類型的證書。 組策略配置可實現基于角色或基于屬性的訪問控制。

AD CS 支持的應用領域包括安全/多用途 Internet 郵件擴展 (S/MIME)、安全的無線網絡、虛擬專用網絡 (VPN)、Internet 協議安全 (IPsec)、加密文件系統 (EFS)、智能卡登錄、安全套接字層/傳輸層安全性 (SSL/TLS) 以及數字簽名。

其他

如果要部署NPS(網絡策略服務器)也需要安裝證書服務器才能正常使用。

AD 系列文章:https://songxwn.com/categories/AD/

AD CS 安裝前提

  • 登錄操作安裝的用戶必須是域管理員、企業管理員。所以直接使用administrator 比較好。

  • 配置的服務器必須已經加入進域控。

AD CS 正式安裝

## powershell 管理員執行Install-WindowsFeature AD-Certificate -IncludeManagementTools # 安裝證書服務Add-WindowsFeature Adcs-Cert-Authority -IncludeManagementTools# 安裝證書頒發機構功能
## powershell 管理員執行Install-WindowsFeature ADCS-Web-Enrollment -IncludeManagementTools# 安裝證書Web服務功能

初始化CA證書和Web服務

初始化CA證書,指定加密算法和過期時間

## powershell 管理員執行Install-AdcsCertificationAuthority -CAType EnterpriseRootCA -HashAlgorithmName SHA256 -ValidityPeriod Years -ValidityPeriodUnits 99

安裝和初始化證書Web服務

## powershell 管理員執行Install-AdcsWebEnrollment# 安裝角色New-WebBinding -Name "Default Web Site" -Protocol "https"# IIS開啟httpsGet-ChildItem -Path Cert:\LocalMachine\My# 獲取證書指紋,找到和主機名對應的證書,復制前面的指紋。(Get-WebBinding -Name "Default Web Site" -Port 443 -Protocol "https").AddSslCertificate("7AE5AB7D969B8A37D6436B2FF926D8B0859D6E54", "my")# IIS綁定證書

Web申請證書

訪問 https://localhost/certsrv/Default.asp 進行申請

PS:此界面也可以下載CA根證書進行信任,域控環境下的計算機會自動下發此CA證書。

使用Powershell快速申請cer 格式 Web證書 - 注意域名

## powershell 管理員執行$inf = @"
[Version]
Signature="\$Windows NT$"[NewRequest]
Subject = "CN=www.songxwn.com"
KeySpec = 1
KeyLength = 2048
HashAlgorithm = sha256
KeyAlgorithm = RSA
Exportable = TRUE
RequestType = PKCS10
SMIME = FALSE
KeyUsage = 0xa0[RequestAttributes]
CertificateTemplate = WebServer
"@cd C:\mkdir C:\tempSet-Content -Path "C:\temp\mycert.inf" -Value $inf -Encoding ASCIIcertreq -new    C:\temp\mycert.inf C:\temp\mycert.req
certreq -submit C:\temp\mycert.req C:\temp\mycert.cer
certreq -accept C:\temp\mycert.cer

為域名songxwn.com 申請證書,執行過程會讓你選擇證書頒發機構,最終輸出證書文件為mycert.cer

生成Nginx可用證書

安裝openssl

## powershell 管理員執行winget.exe install ShiningLight.OpenSSL.Dev

導出PFX 證書 - 注意域名

## powershell 管理員執行# 設定常量
$Subject = "*CN=www.songxwn.com*"                  # 用你的域名/CN特征替換
$PfxPath = "C:\temp\www.songxwn.com.pfx"           # 用你的域名/CN特征替換
$Password = ConvertTo-SecureString -String "Songxwn.Password123!" -Force -AsPlainText  # 導出密碼# 找到指定證書
$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like $Subject }# 導出到PFX
Export-PfxCertificate -Cert $cert -FilePath $PfxPath -Password $Password

使用openssl 轉換證書格式 - 注意域名、路徑、密碼

## powershell 管理員執行cd "C:\Program Files\OpenSSL-Win64\bin".\openssl.exe pkcs12 -in C:\temp\www.songxwn.com.pfx -nocerts -nodes -out C:\temp\www.songxwn.com.key -password pass:Songxwn.Password123!.\openssl.exe pkcs12 -in C:\temp\www.songxwn.com.pfx -clcerts -nokeys -out C:\temp\www.songxwn.com.crt -password pass:Songxwn.Password123!

以下是用于 IIS、Nginx 等主流Web服務器的常見證書格式及其詳細說明,包括各自的文件擴展名、內容結構、適用場景以及如何進行格式轉換的方法。希望幫助你理解如何選擇和準備正確的證書格式。


證書格式介紹

主要SSL證書文件格式

1. PEM格式(常見于Linux、Nginx、Apache等)

  • 擴展名.pem / .crt / .cer / .key
  • 編碼:Base64,ASCII文本
  • 內容:頭尾分別有-----BEGIN CERTIFICATE-----/-----END CERTIFICATE-----
  • 包含內容
    • 證書(公鑰):-----BEGIN CERTIFICATE-----
    • 私鑰:-----BEGIN PRIVATE KEY----------BEGIN RSA PRIVATE KEY-----

常見用法:

  • Nginx、Apache、Tomcat、HAProxy 等服務器,分別要求證書文件和私鑰文件。

示例:

-----BEGIN CERTIFICATE-----
MIIRDzCCAiagAwIBAgIQHxQp...
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqh...
-----END PRIVATE KEY-----

2. DER格式(常見于Java、Windows)

  • 擴展名.der / .cer
  • 編碼:二進制
  • 內容:僅證書,不包含私鑰
  • 應用:主要用于Java平臺(如Tomcat keystore/JKS導入),或有的Windows/IIS。

用法補充:

  • DER格式常作為證書數量較多或須用二進制格式時使用。

3. PFX/P12格式(IIS/Windows,部分Linux也支持)

  • 全稱:PKCS#12
  • 擴展名.pfx / .p12
  • 內容:證書(公鑰)+ 私鑰 + 可選CA根證書,全部打包在一個文件中,并用密碼保護
  • 編碼:二進制
  • 典型應用:IIS、Windows Server、Azure、IIS Express、某些支持SSL的Windows應用。

注意事項:

  • 導入PFX時須輸入密碼(PFX/P12導出時必須指定密碼)。

4. P7B/P7C格式(僅含證書,不含私鑰)

  • 全稱:PKCS#7
  • 擴展名.p7b / .p7c
  • 內容:只含公鑰證書簽名鏈,不包含私鑰
  • 編碼:ASCII(Base64)或二進制
  • 應用場景:CA連帶證書鏈傳遞,IIS、Java等平臺的證書鏈導入

IIS和Nginx的證書格式要求及部署說明

(1)IIS

  • 推薦格式.pfx (PKCS#12,含私鑰)
  • 支持格式:導入向導也支持 .cer / .crt,但必須提前在Windows證書管理器導入私鑰
  • 部署說明
    • 在證書向導中引入PFX文件,輸入私鑰導出密碼即可全部配置。
    • 如僅有.cer/.crt則需用“證書管理器—導入”方式。

如何轉換為PFX格式:

# 合并已有證書文件和私鑰生成pfx
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt -certfile chain.crt

(2)Nginx

  • 推薦格式:PEM格式(明文Base64)
    • server.crt :服務器公鑰證書
    • server.key :服務器私鑰
    • 可選 fullchain.crt:已拼接的主證書+CA證書鏈
  • 部署說明
    • ssl_certificate (指定公鑰或fullchain)
    • ssl_certificate_key (指定私鑰)

示例Nginx配置片段:

ssl_certificate     /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
# 若有CA證書鏈,建議如下配置
# 或將鏈直接拼接寫入server.crt

拼接證書鏈方法(主證書在前,鏈一路向下拼接):

cat server.crt intermediate.crt root.crt > fullchain.crt

不同格式之間的轉換方法

  1. PEM轉PFX

    openssl pkcs12 -export -out server.pfx \-inkey server.key -in server.crt -certfile ca_bundle.crt
    
  2. PFX轉PEM

    openssl pkcs12 -in server.pfx -out server.pem -nodes
    # 生成帶有證書和私鑰的pem,自己分離出來
    
  3. PEM轉DER

    openssl x509 -in server.crt -outform der -out server.der
    
  4. DER轉PEM

    openssl x509 -in server.der -inform der -out server.crt
    
  5. P7B轉PEM

    openssl pkcs7 -print_certs -in server.p7b -out server.crt
    

總結表格

文件格式擴展名包含內容PEM/DER編碼場景服務器舉例 (主要支持)
PEM.crt/.pem/.key/.cer公鑰、私鑰PEM (Base64)Nginx/Apache等Nginx、Apache、Tomcat等
DER.der/.cer僅證書DER (二進制)Java/IIS/WinJava Keystore、部分Windows/IIS
PFX/P12.pfx/.p12公鑰+私鑰+CA鏈DER(二進制)IIS/WindowsIIS、Azure、Windows
P7B/P7C.p7b/.p7c僅公鑰證書鏈PEM/DER證書鏈傳遞IIS、Java

微軟官方文檔

https://learn.microsoft.com/en-us/windows-server/networking/core-network-guide/cncg/server-certs/install-the-certification-authority

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/81276.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/81276.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/81276.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

kubernetes》》k8s》》Service 、Ingress 區別

K8S>>Service 資料 K8S >>Ingress 資料 Ingress VS Service 物理層數據鏈路層網絡層傳輸層會話層表示層應用層 Ingress是一種用于暴露HTTP和HTTPS路由的資源,它提供了七層(應用層)的負載均衡功能。Ingress可以根據主機名、…

【java WEB】恢復補充說明

Server 出現javax.servlet.http.HttpServlet", according to the project’s Dynamic Web Module facet version (3.0), was not found on the Java Build Path. 右鍵項目 > Properties > Project Facets。Dynamic Web Module facet version選4.0即可 還需要在serv…

VMware 創建虛擬機+簡易安裝Ubuntu的詳細操作步驟

VMware 創建虛擬機安裝Ubuntu的詳細操作步驟 一、創建虛擬機1.1 點擊創建新的虛擬機1.2 選擇自定義創建虛擬機1.3 選擇虛擬機的硬件兼容性1.4 安裝客戶機操作系統1.5 簡易安裝信息1.6 命名虛擬機名稱1.7 處理器配置1.8 虛擬機內核選擇1.9 網絡類型1.9 選擇I/O 控制器類型1.10 選…

GCC-C語言“自定義段”

一、起因 事情的起因是這樣的,在看別人代碼時,發現了一種很有意思的寫法,因為本人主要是以應用層開發為主,所以對這種寫法還是比較少見的,所以研究了一下,就牽扯出了一些知識點,這里先賣個關子,繼續往下看。 二、經過 發現了一串這樣的代碼 static void do_mac(mcmd_…

【信息系統項目管理師-論文真題】2021上半年論文詳解(包括解題思路和寫作要點)

更多內容請見: 備考信息系統項目管理師-專欄介紹和目錄 文章目錄 試題1:論信息系統項目的合同管理1、寫作要點2、解題思路項目合同管理的過程項目合同主要的條款內容試題2:論信息系統項目的范圍管理1、寫作要點2、解題思路項目范圍管理的過程核心范圍對應的需求跟蹤矩陣項目…

python2反編譯部分

文章目錄 1、所需環境2、確認打包工具(沒成功)3、 解包.exe文件(以PyInstaller為例) - useful【***總的來說這一步對我有用】4、定位關鍵文件 - useful5、 修復.pyc文件頭(關鍵步驟!)- maybe-ig…

基于STM32的中點圓算法,畫空心圓的函數

中點圓算法(Midpoint Circle Algorithm)是一種高效繪制圓的算法,它利用圓的對稱性和整數運算來避免浮點計算,非常適合嵌入式系統使用。 空心圓繪制函數實現 /*** brief 使用中點圓算法繪制空心圓* param x0: 圓心x坐標* param y0: 圓心y坐標* param…

Android Kotlin 項目完整集成 Bugly 異常監控指南

Android Kotlin 項目集成 Bugly 異常監控完整指南 一、Bugly 簡介 Bugly 是騰訊提供的專業移動應用異常監控平臺,支持: 崩潰報告(Java/Native)錯誤分析性能監控熱更新功能(需額外配置) 二、集成步驟 1…

【電腦維修】MERCURY水星無線網卡導致 Windows 網絡適配器無法連接的一種情況

故障現象 Powershell 無法啟動, Terminal 無法啟動, CMD 無法啟動。 操作1 重新拔插 MERCURY 無線USB網卡,上述各種終端恢復相應。 分析 應該是MERCURY驅動故障導致卡死 操作2 磁盤出現 MERCURY 盤。里面是一個 MERCURY.exe 驅動安裝程…

Docker 打上 Tag 和 Push 的意思

在 Docker 中,打 Tag(Tagging) 和 Push(Pushing) 是兩個關鍵操作,用于管理鏡像的版本并上傳到鏡像倉庫(如 Docker Hub、阿里云 ACR、Harbor 等)。 1. 打 Tag(Tagging&…

簡化excel校驗提高開發效率

業務背景:上傳excel文件進行基礎數據校驗,然而東西太多寫著寫著就...自然成了測試的KPI了 解決思路:使用現有的注解處理,原理使用validate注解原理 直接上干貨,一行代碼搞定校驗: ValidateUtils.validat…

基于Koa實現的服務端渲染 ?

前段時間剛寫完畢業論文,現在一上來就是“基于”,哈哈。🤯 這篇文章持續更新,涉及到的技術棧是Koa、Vue和Vite (用React手搓服務端渲染好麻煩)。但是現在能上生產的服務端渲染估計是Next(配合Re…

Linux運維——Vim基礎

Vim基礎 一、移動光標1.1、基礎移動1.2、屏幕滾動 二、編輯操作2.1、插入模式2.2、刪除與修改2.3、復制粘貼 三、搜索與替換3.1、搜索3.2、替換 4、分屏與窗口管理4.1、分屏操作4.2、窗口調整 五、宏與批量操作六、效率技巧七、操作符7.1、內置操作符7.2、操作符 文本對象&…

git操作合集

更新文件 在 Git 中更新已經上傳到倉庫的文件 1、檢查當前狀態 首先,打開終端或命令行工具,進入你的 Git 倉庫目錄(即包含 .git 文件夾的目錄)。運行以下命令來查看當前倉庫的狀態: git status 此命令會顯示哪些文…

【筆記】深度學習模型訓練的 GPU 內存優化之旅⑤:內存分配篇

開設此專題,目的一是梳理文獻,目的二是分享知識。因為筆者讀研期間的研究方向是單卡上的顯存優化,所以最初思考的專題名稱是“顯存突圍:深度學習模型訓練的 GPU 內存優化之旅”,英文縮寫是 “MLSys_GPU_Memory_Opt”。…

SQL Server 存儲過程開發手冊

SQL Server 存儲過程開發手冊(更新版) 根據要求,重新整理并加入了事務控制、異常日志記錄和返回狀態碼的設計。以下是詳細說明: 1. 總則 1.1 目標 本手冊旨在為 SQL Server 存儲過程的編寫提供一套完整的規范,確保系…

深海科技服務博客簡介

人人可學,人人可用,IT與AI不是高不可攀! 博客宗旨 深海科技服務博客致力于: 推廣IT與AI的實際應用,降低入門門檻,讓更多個人和中小企業能夠以最少投入、高效實現信息化、智能化。 分享開源免費軟件、簡單…

本地大模型編程實戰(29)查詢圖數據庫NEO4J(2)

上一篇文章 用大語言模型LLM查詢圖數據庫NEO4J(1) 介紹了使用GraphQACypherChain查詢NEO4J。用它實現簡單快捷,但是不容易定制,在生產環境中可能會面臨挑戰。 本文將基于langgraph 框架,用LLM(大語言模型)查詢圖數據庫NEO4J。它可以定義清晰復…

RPG_5.角色動畫

1.創建一個動畫實例 2.創建該實例的c子類 3.繼續創建該類的子類,但是作用是用來鏈接(以后會詳細解釋) 4.基于PlayerAnimInstance類創建一個子類 5.目前一共創建了四個c類, 最基的類 角色的類 玩家控制的角色的類 玩家控制的角…

Sigmoid函數導數推導詳解

Sigmoid函數導數推導詳解 在邏輯回歸中,Sigmoid函數的導數推導是一個關鍵步驟,它使得梯度下降算法能夠高效地計算。 1. Sigmoid函數定義 首先回顧Sigmoid函數的定義: g ( z ) 1 1 e ? z g(z) \frac{1}{1 e^{-z}} g(z)1e?z1? 2. 導…