本文檔介紹如何在由ASDM管理的Cisco ASA軟體上請求、安裝、信任和續訂特定型別的證書。
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
此文檔處理的證書型別為:
用於EAP身份驗證協定的安全套接字層(SSL)、傳輸層安全(TLS)和IKEv2 rfc7296要求SSL/TLS/IKEv2伺服器為客戶端提供伺服器證書,以便客戶端執行伺服器身份驗證。建議使用受信任的第三方 CA,以便向 ASA 核發 SSL 憑證做為此用途。
思科建議不要使用自我簽署憑證,因為使用者可能會不當設定瀏覽器信任惡意伺服器的憑證。 使用者在連線到安全網關時可能會遇到安全警告,這可能會中斷其工作流。
安裝受信任的CA證書時,可以使用證書身份驗證來驗證不同型別的VPN連線。使用validation-usage trustpoint命令(Configuration > Device Management > Certificate Management >CA Certificates >Add -> More Options... > >Advanced>選擇Validation Usage選項)對其進行控制。
validation-usage型別為:
ipsec-client:驗證IPsec客戶端連線。ssl-client:驗證SSL客戶端連線。ssl-server:驗證SSL伺服器證書。
Navigate to:
Configuration > Device Management > Certificate Management > CA Certificates.
a) Select a wanted trustpoint and click Edit.
b) Navigate to Advanced and uncheck all Validation Usage options.
trustpoint public-root-ca no validation-usage

預設情況下,受信任的CA證書可用於對連線到任何隧道組的VPN IPSEC對等體或遠端訪問VPN使用者進行身份驗證。需要設計適當的授權。
使用證書和隧道組對映以確保僅授權證書用於特定隧道組。設定指向無訪問隧道組的預設隧道組對映規則,以限制未經授權的訪問。
僅以下各項允許證書身份驗證:
由於tunnel-group-map default-group no_access命令,預設情況下將具有其他證書的使用者分配給no_access tunnel-group。由於tunnel-group-map enable rules命令,證書對映規則的優先順序高於group-url。瞭解group-url無助於繞過證書對映規則。
Navigate to:
Configuration > Remote Access VPN > Network (Client) Access > Group Policies > Add > General > More Options
a) Uncheck Inherit next to Simultaneous Logins and set the value 0.
b) Uncheck Inherit next to Banner and set a wanted massage, for example NO ACCESS GROUP POLICY.
group-policy no_access_gp internal
group-policy no_access_gp attributes
banner value NO ACCESS GROUP POLICY
vpn-simultaneous-logins 0
同時登入設定為0
2.為使用者配置隧道組以及阻止VPN訪問的隧道組。
Navigate to:
Configuration > Remote Access VPN > Network (Client) Access > Secure Client Connection Profiles. Click Add and configure:
a) Authentication method as Certificate.
b) Group Policy - for the no_access tunnel group use no_access_gp where simultaneous logins is set to 0.
tunnel-group mgmt-tunnel type remote-access tunnel-group mgmt-tunnel general-attributes address-pool vpn_pool default-group-policy mgmt-tunnel tunnel-group mgmt-tunnel webvpn-attributes authentication certificate ! tunnel-group users_access type remote-access tunnel-group users_access general-attributes default-group-policy user_access_gp address-pool vpn_pool tunnel-group users_access webvpn-attributes authentication certificate ! tunnel-group no_access type remote-access tunnel-group no_access general-attributes default-group-policy no_access_gp address-pool vpn_pool tunnel-group no_access webvpn-attributes authentication certificate
無訪問隧道組
3.為使用者建立證書對映,並使用證書對映進行隧道組對映:
Navigate to: Configuration > Remote Access VPN > Advanced > Certificate to Secure Client and Clientless SSL VPN Connection Profile Maps.
a) Click Add to configure Certificate to Connection Profile Maps.
b) Select New and configure a certificate group map name, for example mgmt_tunnel_map or users_access_map.
c) Select a corresponding connection profile/tunnel group from the drop-down menu at Mapped to Connection Profile.
d) Click Add to configure Mapping Criteria.
e) Select: Field: Subject, Component: Organizational Unit (OU), Operator: Equals, Value: machines or users.
d) Select: Field: Issuer, Component: Common Name (CN), Operator: Equals, Value: example.com.
crypto ca certificate map mgmt_tunnel_map 10
issuer-name attr cn eq example.com
subject-name attr ou eq machines
crypto ca certificate map users_access_map 10
issuer-name attr cn eq example.com
subject-name attr ou eq users
!
webvpn
(...)
certificate-group-map mgmt_tunnel_map 10 mgmt-tunnel
certificate-group-map users_access_map 10 users_access
證書到安全客戶端連線配置檔案對映
4.啟用隧道組對映並配置預設隧道組,以便在使用者證書與任何其他證書對映不匹配時拒絕訪問。
Navigate to: Configuration > Remote Access VPN > Network (Client) Access > Advanced > IPsec > Certificate to Connection Profile Maps > Policy.
a) Check Use the configure rules to match a certificate to a Connection Profile.
b) Check Default to Connection Profile and select from the drop-down menu the no-access connection profile/tunnel group.
tunnel-group-map enable rules tunnel-group-map default-group no_access
啟用證書對映和預設連線配置檔案如需更多詳細設定說明,請參閱Cisco檔案:
可以通過兩種方式從證書頒發機構(CA)請求證書並在ASA上安裝:
在需要身份證書的裝置上建立CSR,使用在裝置上建立的金鑰對。
CSR包含:
將CSR傳遞給證書頒發機構(CA),以便在PKCS#10表單中簽名。
簽名的證書以PEM形式從CA返回。








| 屬性 | 說明 |
|---|---|
| CN | 用於訪問防火牆的名稱(通常為完全限定域名,例如vpn.example.com)。 |
| OU | 組織內您所在部門的名稱。 |
| O | 您的組織/公司的合法註冊名稱。 |
| 思 | 國家/地區代碼(2個不帶標點的字母代碼)。 |
| ST | 組織所在的狀態。 |
| L | 組織所在的城市。 |
| EA | 電子郵件地址 |





安裝步驟假設CA對CSR進行簽名,並提供PEM編碼的(.pem,.cer, .crt)身份證書和CA證書捆綁包。






必須將ASA配置為使用新的身份證書,以便在指定的介面上終止的WebVPN會話。


現在,新的身份證書正在使用。
PKCS12檔案(.p12或.pfx格式)包含身份證書、金鑰對和CA證書。 它由CA建立(對於萬用字元證書),或從其他裝置匯出。它是二進位制檔案,不能使用文本編輯器檢視。




必須將ASA配置為使用新的身份證書,以便在指定的介面上終止的WebVPN會話。


CSR註冊證書的證書續訂要求您建立和註冊新的信任點。它必須具有不同的名稱(例如,帶有登記年度字尾的舊名稱)。 它可以使用與舊證書相同的引數和金鑰對,也可以使用不同的引數和金鑰對。







| 屬性 |
說明 |
|---|---|
| CN |
用於訪問防火牆的名稱(通常為完全限定域名,例如vpn.example.com)。 |
| OU |
組織內您所在部門的名稱。 |
| O |
您的組織/公司的合法註冊名稱。 |
| 思 |
國家/地區代碼(2個不帶標點的字母代碼) |
| ST |
組織所在的狀態。 |
| L |
組織所在的城市。 |
| EA |
電子郵件地址 |





安裝步驟假設CA對CSR進行簽名,並提供PEM編碼(.pem、.cer、.crt)的新身份證書和CA證書捆綁包。
簽名身份證書的CA證書可以安裝在為身份證書建立的信任點中。如果身份證書是由中間CA簽名的,則此CA證書可以安裝在身份證書信任點中。所有CA證書在層次結構中的上游,並且可安裝在單獨的CA信任點中。



在本範例中,新憑證的簽署方式與舊憑證的CA憑證相同。同一個CA證書與兩個信任點關聯。




必須將ASA配置為使用新的身份證書,以便在指定的介面上終止的WebVPN會話。


PKCS12已註冊證書的證書續訂要求您建立和註冊新的Trustpoint。它必須具有不同的名稱(例如,帶有登記年度字尾的舊名稱)。
PKCS12檔案(.p12或.pfx格式)包含身份證書、金鑰對和CA證書。 例如,它是由CA建立(在使用萬用字元憑證的情況下),或是從不同的裝置匯出。它是二進位制檔案,不能使用文本編輯器檢視。
身份證書、CA證書和金鑰對必須捆綁到單個PKCS12檔案中。




必須將ASA配置為對在指定介面上終止的WebVPN會話使用新的身份證書。


使用以下步驟驗證第三方廠商憑證的成功安裝以及用於SSL VPN連線。

如果SSL證書安裝失敗,則會在CLI上收集此debug命令以收集診斷資訊。
問:什麼是PKCS12?
A.在加密中,PKCS12定義了一個存檔檔案格式,建立該格式是為了將許多加密對象儲存為一個檔案。它通常用於捆綁私鑰及其X.509證書,或捆綁信任鏈的所有成員。
問:什麼是CSR?
A.在公鑰基礎設施(PKI)系統中,證書簽名請求(也稱為CSR或證書請求)是從申請人傳送到公鑰基礎結構的註冊機構以申請數位身份證書的消息。它通常包含可為其頒發證書的公鑰、用於標識已簽名證書的資訊(如主題中的域名)以及完整性保護(如數位簽章)。
問:PKCS12的密碼在哪裡?
A.將證書和金鑰對匯出到PKCS12檔案時,在export命令中給出口令。要匯入PKCS12檔案,密碼必須由CA伺服器的所有者或從其他裝置匯出PKCS12的人員提供。
根本和標識有什麼區別?
A.在密碼學和電腦保安領域,根證書是標識根證書頒發機構(CA)的公鑰證書。 根證書是自簽名的(如果證書是由交叉簽名的根頒發的,則證書可以具有多個信任路徑),並構成基於X.509的公鑰基礎架構(PKI)的基礎。公鑰證書也稱為數位證書或身份證書,是一種用於證明公鑰所有權的電子文檔。證書包括有關金鑰的資訊、有關其所有者(稱為主題)的標識的資訊以及驗證證書內容的實體(稱為頒發者)的數位簽章。 如果簽名有效,並且檢查證書的軟體信任頒發者,那麼它就可以使用該金鑰與證書使用者進行安全通訊。
我安裝了證書,為什麼它不工作?
A.這可能出於多種原因,例如:
1.雖然配置了證書和信任點,但它們尚未繫結到使用該證書和信任點的進程。例如,使用的信任點不會繫結到終止Cisco Secure Access AnyConnect VPN客戶端連線的外部介面。
2.已安裝PKCS12檔案,但由於PKCS12檔案中缺少中間CA證書而出現錯誤。將中間CA證書作為受信任的,但沒有根CA證書作為受信任的客戶端,無法驗證整個證書鏈並將伺服器身份證書報告為不受信任。
3.使用不正確的屬性填充的證書可能會導致安裝失敗或客戶端錯誤。例如,某些屬性使用錯誤的格式進行編碼。另一個原因是標識證書缺少主體備用名稱(SAN),或者用於訪問伺服器的域名沒有作為SAN存在。
問:安裝新證書是否需要維護視窗或導致停機時間?
A.安裝新證書(身份或CA)不會帶來干擾,不會導致停機或需要維護視窗。啟用要用於現有服務的新證書是一種更改,需要更改請求/維護視窗。
問:可以新增或更改證書以斷開已連線使用者的連線?
答:不,當前已連線的使用者保持連線。該證書在建立連線時使用。使用者重新連線後,會使用新憑證。
問:如何使用萬用字元建立CSR?還是主題備用名稱(SAN)?
A.目前,ASA/FTD無法使用萬用字元建立CSR;但是此程式可以使用OpenSSL來完成。若要產生CSR和ID金鑰,您可以執行以下命令:
openssl genrsa -out id.key 2048
openssl req -out id.csr -key id.key -new
使用完全限定域名(FQDN)屬性配置信任點時,由ASA/FTD建立的CSR包含具有該值的SAN。CA在簽署CSR時可以新增更多SAN屬性,或可以使用OpenSSL建立CSR
問:證書更換是否立即生效?
A.新伺服器身份證書僅用於新連線。新證書可以在更改後立即使用,但可以與新連線一起使用。
問題: 如何檢查安裝是否成功?
A.用於驗證的CLI命令:show crypto ca cert <trustpointname>
問:如何從身份證書、CA證書和私鑰生成PKCS12?
A. 可以使用OpenSSL使用以下命令來建立PKCS12:
openssl pkcs12 -export -out p12.pfx -inkey id.key -in id.crt -certfile ca.crt
問:如何匯出證書以將其安裝到新ASA中?
A.
使用CLI:使用命令:crypto ca export <trustpointname> pkcs12 <password>
使用ASDM:


問:如果使用ECDSA金鑰,則SSL證書生成過程是否不同?
A.配置的唯一區別是金鑰對生成步驟,在該步驟中可生成ECDSA金鑰對,而不是RSA金鑰對。其他步驟皆維持不變。
問:是否總是需要生成新的金鑰對?
答:金鑰對生成步驟是可選的。可以使用現有金鑰對,或者如果隨證書匯入PKCS12金鑰對。請參閱選擇金鑰對名稱部分,瞭解相應的註冊/重新註冊型別。
問:為新的身份證書生成新的金鑰對是否安全?
A.只要使用新的金鑰對名稱,此過程就是安全的。在這種情況下,舊金鑰對不會更改。
問:在更換防火牆(如RMA)時,是否需要再次生成金鑰?
A.新防火牆的設計沒有在舊防火牆上提供金鑰對。
運行配置的備份不包含金鑰對。使用ASDM完成的完全備份可以包含金鑰對。
可以在身份證書失敗之前通過ASDM或CLI從ASA匯出。在故障轉移對的情況下,使用write standby命令將證書和金鑰對同步到備用裝置。如果替換了故障轉移對中的一個節點,則配置基本故障轉移並將配置推送到新裝置就足夠了。
如果裝置丟失了金鑰對,並且沒有備份,則必須使用新裝置上存在的金鑰對對新證書進行簽名。
| 修訂 | 發佈日期 | 意見 |
|---|---|---|
5.0 |
29-May-2026
|
由於結構/語法而更新了間距、標題和重寫了幾個句子。 |
4.0 |
15-Nov-2024
|
已更新機器翻譯和格式。 |
3.0 |
25-Jul-2024
|
更新的Alt文本、樣式問題、表達式以及標點/大寫。 |
2.0 |
22-Apr-2023
|
已更新參與者清單。 |
1.0 |
19-Apr-2023
|
初始版本 |