本文件說明如何在 ASA 上安裝可信任的第三方 SSL 數位憑證,用於無用戶端的 SSLVPN 和 AnyConnect 連線。
本文件需要存取受信任的第三方 Certificate Authority (CA) 進行憑證註冊。第三方 CA 廠商的範例包括(但不限於)Baltimore、思科、Entrust、Geotrust、G、Microsoft、RSA、Thawte 及 VeriSign。
在您開始執行前,請確認 ASA 具有正確的時鐘時間、日期及時區。進行憑證驗證時,建議使用網路時間通訊協定 (NTP) 伺服器同步化 ASA 的時間。Cisco ASA 系列一般操作 CLI 組態設定指南 9.1 版會詳細說明在 ASA 正確設定時間和日期應採取的步驟。
本文件使用執行軟體 9.4.1 版和 ASDM 7.4(1) 版的 ASA 5500-X。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
此範例使用 GoDaddy 憑證。每個步驟皆包含 Adaptive Security Device Manager (ASDM) 程序和 CLI 對等項目。
SSL 通訊協定會要求 SSL 伺服器向用戶端提供伺服器憑證,以便用戶端執行伺服器驗證。思科建議不要使用自我簽署憑證,因為使用者可能會不當設定瀏覽器信任惡意伺服器的憑證。 如此亦可能造成使用者不便,必須在連線至安全閘道時回應安全性警告。建議使用受信任的第三方 CA,以便向 ASA 核發 SSL 憑證做為此用途。
ASA 的第三方憑證生命週期基本上會透過以下步驟進行:

產生CSR是任何X.509數位憑證生命週期的第一步。
私密/公開 Rivest-Shamir-Adleman (RSA) 或橢圓曲線數位簽章演算法 (ECDSA) 金鑰組產生後(附錄 A 會詳細說明使用 RSA 或 ECDSA 之間的差異),憑證簽署要求 (CSR) 隨即建立。
CSR是包含傳送請求的主機的公鑰和身份資訊的PKCS10格式化訊息。PKI 資料格式會說明適用於 ASA 和 Cisco IOS® 的不同憑證格式。
產生CSR的方法有三種。
Configuration > Remote Access VPN > Certificate Management並選擇 Identity Certificates.Add. 
Add a new identity certificateRadio(刪除)」按鈕。New. 
Enter new key pair nameRadio(刪除)」按鈕。識別金鑰對名稱,以供識別。Key Size。選擇General Purpose for Usage RSA。Generate Now。金鑰對已建立。Select,要定義證書主題DN,請點選並配置下表中列出的屬性: 
若要設定這些值,請從Attribute下拉式清單中選擇值,輸入值,然後按一下Add。

OK.「新增身份證書」對話方塊出現,並填充「證書主題DN」欄位。
FQDN欄位中,輸入用於從Internet訪問裝置的FQDN。按一下OK.OK,,然後按一下Add Certificate.「A prompt(顯示提示)」 ,將CSR儲存到本地電腦上的檔案中。 
Browse,,選擇儲存CSR的位置,並以.txt副檔名儲存檔案。 在 ASDM 中,當系統產生 CSR 或安裝 CA 憑證後,信任點會自動建立。在CLI中,必須手動建立信任點。
! Generates 2048 bit RSA key pair with label SSL-Keypair. MainASA(config)# crypto key generate rsa label SSL-Keypair modulus 2048 INFO: The name for the keys are: SSL-Keypair Keypair generation process begin. Please wait... ! Define trustpoint with attributes to be used on the SSL certificate MainASA(config)# crypto ca trustpoint SSL-Trustpoint MainASA(config-ca-trustpoint)# enrollment terminal MainASA(config-ca-trustpoint)# fqdn (remoteasavpn.url) MainASA(config-ca-trustpoint)# subject-name CN=(asa.remotevpn.url),O=Company Inc,C=US,
St=California,L=San Jose MainASA(config-ca-trustpoint)# keypair SSL-Keypair MainASA(config-ca-trustpoint)# exit ! Initiates certificate signing request. This is the request to be submitted via Web or
Email to the third party vendor. MainASA(config)# crypto ca enroll SSL-Trustpoint WARNING: The certificate enrollment is configured with an fqdn that differs from the system fqdn. If this certificate is used for VPN authentication this may cause connection problems. Would you like to continue with this enrollment? [yes/no]: yes % Start certificate enrollment .. % The subject name in the certificate is: subject-name CN=(remoteasavpn.url),
O=Company Inc,C=US,St=California,L=San Jose % The fully-qualified domain name in the certificate will be: (remoteasavpn.url), % Include the device serial number in the subject name? [yes/no]: no Display Certificate Request to terminal? [yes/no]: yes Certificate Request: -----BEGIN CERTIFICATE REQUEST-----
MIIDDjCCAfYCAQAwgYkxETAPBgNVBAcTCFNhbiBKb3NlMRMwEQYDVQQIEwpDYWxp
Zm9ybmlhMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLQ29tcGFueSBJbmMxGjAYBgNV
BAMTEXZwbi5yZW1vdGVhc2EuY29tMSAwHgYJKoZIhvcNAQkCFhF2cG4ucmVtb3Rl
YXNhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK62Nhb9ktlK
uR3Q4TmksyuRMqJNrb9kXpvA6H200PuBfQvSF4rVnSwKOmu3c8nweEvYcdVWV6Bz
BhjXeovTVi17FlNTceaUTGikeIdXC+mw1iE7eRsynS/d4mzMWJmrvrsDNzpAW/EM
SzTca+BvqF7X2r3LU8Vsv6Oi8ylhco9Fz7bWvRWVtO3NDDbyolC9b/VgXMuBitcc
rzfUbVnm7VZDOf4jr9EXgUwXxcQidWEABlFrXrtYpFgBo9aqJmRp2YABQ1ieP4cY
3rBtgRjLcF+S9TvHG5m4v7v755meV4YqsZIXvytIOzVBihemVxaGA1oDwfkoYSFi
4CzXbFvdG6kCAwEAAaA/MD0GCSqGSIb3DQEJDjEwMC4wDgYDVR0PAQH/BAQDAgWg
MBwGA1UdEQQVMBOCEXZwbi5yZW1vdGVhc2EuY29tMA0GCSqGSIb3DQEBBQUAA4IB
AQBZuQzUXGEB0ix1yuPK0ZkRz8bPnwIqLTfxZhagmuyEhrN7N4+aQnCHj85oJane
4ztZDiCCoWTerBS4RSkKEHEspu9oohjCYuNnp5qa91SPrZNEjTWw0eRn+qKbId2J
jE6Qy4vdPCexavMLYVQxCny+gVkzPN/sFRk3EcTTVq6DxxaebpJijmiqa7gCph52
YkHXnFne1LQd41BgoLlCr9+hx74XsTHGBmI1s/9T5oAX26Ym+B2l/i/DP5BktIUA
8GvIY1/ypj9KO49fP5ap8al0qvLtYYcCcfwrCt+OojOrZ1YyJb3dFuMNRedAX37t
DuHNl2EYNpYkjVk1wI53/5w3
-----END CERTIFICATE REQUEST----- Redisplay enrollment request? [yes/no]: no ! Displays the PKCS#10 enrollment request to the terminal. Copy this from the terminal
to a text file to submit to the third party CA.
OpenSSL會使用OpenSSL config檔案來擷取CSR產生中使用的屬性。此程序會導致 CSR 和私密金鑰產生。
若為 Windows:預設情況下,實用程式安裝在C:\Openssl\bin.此位置的Open a command prompt中。
若為 Mac OSX/Linux:在需要的目錄中開啟「終端機」視窗以建立 CSR。
[req] default_bits = 2048 default_keyfile = privatekey.key distinguished_name = req_distinguished_name req_extensions = req_ext [req_distinguished_name] commonName = Common Name (eg, YOUR name) commonName_default = (asa.remotevpn.url) countryName = Country Name (2 letter code) countryName_default = US stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = California localityName = Locality Name (eg, city) localityName_default = San Jose 0.organizationName = Organization Name (eg, company) 0.organizationName_default = Company Inc [req_ext] subjectAltName = @alt_names
[alt_names] DNS.1 = *.remoteasa.com
openssl req -new -nodes -out CSR.csr -config openssl.cnf
# Sample CSR Generation: openssl req -new -nodes -out CSR.csr -config openssl.cnf
Generate a 2048 bit RSA private key ...................................................................................+++ ........................................+++ writing new private key to 'privatekey.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Common Name (eg, YOUR name) [(asa.remotevpn.url)]: Country Name (2 letter code) [US]: State or Province Name (full name) [California]: Locality Name (eg, city) [San Jose]: Organization Name (eg, company) [Company Inc]:
將儲存的 CSR 提交至第三方 CA 廠商。憑證核發後,CA 會提供身分識別憑證和 CA 憑證安裝於 ASA。
下一步是從 CA 取得簽署的 CSR。CA提供新產生的PEM編碼身分識別憑證,或提供PKCS12憑證以及CA憑證套件組合。
如果CSR是在ASA外部(通過OpenSSL或在CA本身)產生的,則具有私鑰和CA證書的PEM編碼身份證書可作為單獨的檔案使用。 附錄B提供了將這些元素捆綁到單個PKCS12檔案(.p12或.pfx格式)中的步驟。
在本文件中,我們使用 GoDaddy CA 做為範例,將身分識別憑證核發至 ASA。此程式與其他CA供應商不同。在繼續操作之前,請仔細閱讀CA文檔。
購買後,在SSL證書的初始設定階段,導航到GoDaddy Account並檢視SSL證書。其中必定會有新的憑證。 按一下Manage「繼續」。

接著會顯示提供 CSR 的頁面(如圖所示)。
根據輸入的 CSR,CA 會判斷要核發憑證的網域名稱。
確認此網域名稱符合 ASA 的 FQDN。

提交請求後,GoDaddy將在頒發證書之前驗證該請求。在驗證證書請求後,GoDaddy將證書頒發給帳戶。然後可以下載該證書以便在ASA上安裝。按一下頁面上的Download,以便繼續操作。

選擇Other「Server Type」並下載certificate zip 套件組合。

.zip 檔案包含身分識別憑證和 GoDaddy CA 憑證鏈結套件做為兩項個別 .crt 檔案。請繼續安裝SSL證書,以便在ASA上安裝這些證書。
SSL 憑證可以下列兩種方式,透過 ASDM 或 CLI 在 ASA 安裝:
提供的安裝步驟已假設 CA 會提供經 PEM 編碼(.pem、.cer、.crt)的身分識別憑證和 CA 憑證套件
Configuration > Remote Access VPN > Certificate Management,,然後選擇CA Certificates。
Configuration > Remote Access VPN > Certificate Management,然後選擇Identity Certificates。Install.Install from a file按一下選項單選按鈕,然後選擇PEM編碼的身份證書,或者在文本編輯器中開啟PEM編碼的證書,然後將第三方供應商提供的base64身份證書複製並貼上到文本欄位中。 
Add Certificate. 
Configuration > Remote Access VPN > Advanced > SSL Settings.Edit.
OK.Apply.「The new certificate now is used for all WebVPN sessions that terminated on the interface specified.(新證書現在用於終止於指定介面的所有WebVPN會話。)」MainASA(config)# crypto ca authenticate SSL-Trustpoint
Enter the base 64 encoded CA certificate. End with the word"quit"on a line by itself
-----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h /t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf ReYNnyicsbkqWletNw+vHX/bvZ8= -----END CERTIFICATE----- quit INFO: Certificate has these attributes: Fingerprint: 96c25031 bc0dc35c fba72373 1e1b4140 Do you accept this certificate? [yes/no]: yes Trustpoint 'SSL-Trustpoint' is a subordinate CA and holds a non self-signed certificate. Trustpoint CA certificate accepted. % Certificate successfully imported
!!! - Installing Next-level SubCA in the PKI hierarchy.
!!! - Create a separate trustpoint to install the next subCA certificate (if present)
in the hierarchy leading up to the Root CA (including the Root CA certificate)
MainASA(config)#crypto ca trustpoint SSL-Trustpoint-1
MainASA(config-ca-trustpoint)#enrollment terminal
MainASA(config-ca-trustpoint)#exit
MainASA(config)#
MainASA(config)# crypto ca authenticate SSL-Trustpoint-1
Enter the base 64 encoded CA certificate.
End with the word "quit" on a line by itself
-----BEGIN CERTIFICATE-----
MIIEfTCCA2WgAwIBAgIDG+cVMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVT
MSEwHwYDVQQKExhUaGUgR28gRGFkZHkgR3JvdXAsIEluYy4xMTAvBgNVBAsTKEdv
IERhZGR5IENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMTAx
MDcwMDAwWhcNMzEwNTMwMDcwMDAwWjCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHku
Y29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1
dGhvcml0eSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv3Fi
CPH6WTT3G8kYo/eASVjpIoMTpsUgQwE7hPHmhUmfJ+r2hBtOoLTbcJjHMgGxBT4H
Tu70+k8vWTAi56sZVmvigAf88xZ1gDlRe+X5NbZ0TqmNghPktj+pA4P6or6KFWp/
3gvDthkUBcrqw6gElDtGfDIN8wBmIsiNaW02jBEYt9OyHGC0OPoCjM7T3UYH3go+
6118yHz7sCtTpJJiaVElBWEaRIGMLKlDliPfrDqBmg4pxRyp6V0etp6eMAo5zvGI
gPtLXcwy7IViQyU0AlYnAZG0O3AqP26x6JyIAX2f1PnbU21gnb8s51iruF9G/M7E
GwM8CetJMVxpRrPgRwIDAQABo4IBFzCCARMwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9BUFuIMGU2g/eMB8GA1Ud
IwQYMBaAFNLEsNKR1EwRcbNhyz2h/t2oatTjMDQGCCsGAQUFBwEBBCgwJjAkBggr
BgEFBQcwAYYYaHR0cDovL29jc3AuZ29kYWRkeS5jb20vMDIGA1UdHwQrMCkwJ6Al
oCOGIWh0dHA6Ly9jcmwuZ29kYWRkeS5jb20vZ2Ryb290LmNybDBGBgNVHSAEPzA9
MDsGBFUdIAAwMzAxBggrBgEFBQcCARYlaHR0cHM6Ly9jZXJ0cy5nb2RhZGR5LmNv
bS9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAWQtTvZKGEacke+1bMc8d
H2xwxbhuvk679r6XUOEwf7ooXGKUwuN+M/f7QnaF25UcjCJYdQkMiGVnOQoWCcWg
OJekxSOTP7QYpgEGRJHjp2kntFolfzq3Ms3dhP8qOCkzpN1nsoX+oYggHFCJyNwq
9kIDN0zmiN/VryTyscPfzLXs4Jlet0lUIDyUGAzHHFIYSaRt4bNYC8nY7NmuHDKO
KHAN4v6mF56ED71XcLNa6R+ghlO773z/aQvgSMO3kwvIClTErF0UZzdsyqUvMQg3
qm5vjLyb4lddJIGvl5echK1srDdMZvNhkREg5L4wn3qkKQmw4TRfZHcYQFHfjDCm
rw==
-----END CERTIFICATE-----
quit
INFO: Certificate has the following attributes:
Fingerprint: 81528b89 e165204a 75ad85e8 c388cd68
Do you accept this certificate? [yes/no]: yes
Trustpoint 'SSL-Trustpoint-1' is a subordinate CA and holds a non self-signed certificate.
Trustpoint CA certificate accepted.
% Certificate successfully imported
BGL-G-17-ASA5500-8(config)#
!!! - Similarly create additional trustpoints (of the name "SSL-Trustpoint-n",
where n is number thats incremented for every level in the PKI hierarchy) to
import the CA certificates leading up to the Root CA certificate.
!!! - Importing identity certificate (import it in the first trustpoint that was
created namely "SSL-Trustpoint") MainASA(config)# crypto ca import SSL-Trustpoint certificate
WARNING: The certificate enrollment is configured with an fqdn that differs from the system fqdn. If this certificate will be used for VPN authentication this may cause connection problems. Would you like to continue with this enrollment? [yes/no]: yes
% The fully-qualified domain name in the certificate will be: (asa.remotevpn.url)
Enter the base 64 encoded certificate. End with the word "quit" on a line by itself
----BEGIN CERTIFICATE-----
MIIFRjCCBC6gAwIBAgIIJc1zqYQHBgUwDQYJKoZIhvcNAQELBQAwgbQxCzAJBgNV
BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRow
GAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UECxMkaHR0cDovL2NlcnRz
LmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQDEypHbyBEYWRkeSBTZWN1
cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwHhcNMTUwNzIyMTIwNDM4WhcN
MTYwNzIyMTIwNDM4WjA/MSEwHwYDVQQLExhEb21haW4gQ29udHJvbCBWYWxpZGF0
ZWQxGjAYBgNVBAMTEXZwbi5yZW1vdGVhc2EuY29tMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEArrY2Fv2S2Uq5HdDhOaSzK5Eyok2tv2Rem8DofbTQ+4F9
C9IXitWdLAo6a7dzyfB4S9hx1VZXoHMGGNd6i9NWLXsWU1Nx5pRMaKR4h1cL6bDW
ITt5GzKdL93ibMxYmau+uwM3OkBb8QxLNNxr4G+oXtfavctTxWy/o6LzKWFyj0XP
tta9FZW07c0MNvKiUL1v9WBcy4GK1xyvN9RtWebtVkM5/iOv0ReBTBfFxCJ1YQAG
UWteu1ikWAGj1qomZGnZgAFDWJ4/hxjesG2BGMtwX5L1O8cbmbi/u/vnmZ5Xhiqx
<snip>
CCsGAQUFBwIBFitodHRwOi8vY2VydGlmaWNhdGVzLmdvZGFkZHkuY29tL3JlcG9z
aXRvcnkvMHYGCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Au
Z29kYWRkeS5jb20vMEAGCCsGAQUFBzAChjRodHRwOi8vY2VydGlmaWNhdGVzLmdv
ZGFkZHkuY29tL3JlcG9zaXRvcnkvZ2RpZzIuY3J0MB8GA1UdIwQYMBaAFEDCvSeO
zDSDMKIz1/tss/C0LIDOMEYGA1UdEQQ/MD2CEXZwbi5yZW1vdGVhc2EuY29tghV3
d3cudnBuLnJlbW90ZWFzYS5jb22CEXZwbi5yZW1vdGVhc2EuY29tMB0GA1UdDgQW
BBT7en7YS3PH+s4z+wTRlpHr2tSzejANBgkqhkiG9w0BAQsFAAOCAQEAO9H8TLNx
2Y0rYdI6gS8n4imaSYg9Ni/9Nb6mote3J2LELG9HY9m/zUCR5yVktra9azdrNUAN
1hjBJ7kKQScLC4sZLONdqG1uTP5rbWR0yikF5wSzgyMWd03kOR+vM8q6T57vRst5
69vzBUuJc5bSu1IjyfPP19z1l+B2eBwUFbVfXLnd9bTfiG9mSmC+4V63TXFxt1Oq
xkGNys3GgYuCUy6yRP2cAUV1lc2tYtaxoCL8yo72YUDDgZ3a4PyO1EvC1FOaUtgv
6QNEOYwmbJkyumdPUwko6wGOC0WLumzv5gHnhil68HYSZ/4XIlp3B9Y8yfG5pwbn
7puhazH+xgQRdg==
-----END CERTIFICATE-----
quit
INFO: Certificate successfully imported
! Apply the newly installed SSL certificate to the interface accepting SSL connections
MainASA(config)# ssl trust-point SSL-Trustpoint outside
在ASA上未生成CSR的情況下(例如萬用字元證書或生成UC證書),身份證書和私鑰作為單獨的檔案或單個捆綁的PKCS12檔案(.p12或pfx格式)接收。 若要安裝此型別的憑證,請完成以下步驟。
Configuration > Remote Access VPN > Certificate Management,,然後選擇 Identity Certificates.Add.Import the identity certificate from a file選按鈕。

Configuration > Remote Access VPN > Advanced,至並選擇 SSL Settings.Edit.
OK.Apply.按一下「New certificate is now used for all WebVPN sessions that terminated on the interface(新證書現在用於終止於指定介面的所有WebVPN會話)」。MainASA(config)# crypto ca trustpoint SSL-Trustpoint-PKCS12 MainASA(config-ca-trustpoint)# enrollment terminal MainASA(config-ca-trustpoint)# exit MainASA(config)# crypto ca import SSL-Trustpoint-PKCS12 pkcs12 cisco123 Enter the base 64 encoded pkcs12. End with the word "quit" on a line by itself: -----BEGIN PKCS12----- MIISNwIBAzCCEfEGCSqGSIb3DQEHAaCCEeIEghHeMIIR2jCCEdYGCSqGSIb3DQEH BqCCEccwghHDAgEAMIIRvAYJKoZIhvcNAQcBMBsGCiqGSIb3DQEMAQMwDQQIWO3D hDti/uECAQGAghGQ9ospee/qtIbVZh2T8/Z+5dxRPBcStDTqyKy7q3+9ram5AZdG Ce9n5UCckqT4WcTjs7XZtCrUrt/LkNbmGDVhwGBmYWiOS7npgaUq0eoqiJRK+Yc7 LN0nbho6I5WfL56/JiceAMlXDLr/IqqLg2QAApGdN+F5vANsHse2GsAATewBDLt7 Jy+SKfoNvvIw9QvzCiUzMjYZBANmBdMCQ13H+YQTHitT3vn2/iCDlzRSuXcqypEV q5e3heiOO75lE8TDLWmO3PMvwIZqi8yzWesjcTt1Kd4FoJBZpB70/v9LntoIUOY7 kIQM8fHb4ga8BYfbgRmG6mkMmO1STtbSvlvTa19WTmdQdTyCa+G5PkrryRsy3Ww1 lkGFMhImmrnNADF7HmzbyslVohQZ7h09iVQY9krJogoXHjmQYxG9brf0oEwxSJDa mGDhhESh+s/WuFSV9Z9kiTXpJNZxpTASoWBQrrwmO5v8ZwbjbVNJ7sVdbwpUl6d+ NNFGR7LTqO8hpupeeJnY9eJc2yYqeAXWXQ5kLOZo6/gBEdGtEaZBgCFK9JZ3bl3A xqxGifanWPnLYG611NKuNjTgbjhnEEYI2uZzU0qxnlKa8zyXw+lzrKuJscDbkAPZ wKtw8K+p4OzXVHhuANo6MDvffNRY1KQDtyK1inoPH5ksVSE5awkVam4+HTcqEUfa 16LMana+4QRgSetJhU0LtSMaQfRJGkha4JLq2t+JrCAPz2osARlTsBOjQBNq6YNj 0uB+gGk2Gl8Q5Nln6K1fz0XBFZLWEDBLsaBRO5MAnE7wWtO0+4awGYqVdmIF1lkf XIRKAiQEr1pZ6BVPuvsCNJxaaUHzufhYI2ZAckasKBZOT8/7YK3fnAaGoBCz4cHa o2EEQhq2aYb6YTv0+wtLEWGHzsbGZEM/u54XmsXAI7g28LGJYdfWi509KyV+Ac1V KzHqXZMM2BbUQCNcTF5JIMiW+r62k42FdahfaQb0vJsIe/IwkAKG7y6DIQFs0hwg ZlPXiDbNr1k4e8L4gqupMKWg853PY+oY22rLDC7bul1CKtixIYBCvbn7dAYsI4GQ l6xXhNu3+iye0HgbUQQCfTU/mBrA0ZO+bpKjWOCfqNBuYnZ6kUEdCI7GFLH9QqtM K7YinFLoHwTWbi3MsmqVv+Z4ttVWy7XmikoO2nMynJMP6/CNV8OMxMKdC2qm+c1j s4QlKcAmFsQmNp/7SIP1wnvOc6JbUmC1O520U/r8ftTzn8C7WL62W79cLK4HOr7J sNsZnOz0JOZ/xdZT+cLTCtVevKJOQMK3vMsiOuy52FkuF3HnfrmBqDkbR7yZxELG RCEL0EDdbp8VP0+IhNlyz1q7975SscdxFSL0TvjnHGFWd14ndoqN+bLhWbdPjQWV l3W2NCI95tmHDLGgp3P0OlS+RjdCEGGMg+9cpgBfFC1JocuTDIEcUbJBY8QRUNiS /ubyUagdzUKt1ecfb9hMLP65ZNQ93VIw/NJKbIm7b4P/1Zp/lFP5eq7LkQPAxE4/ bQ4mHcnwrs+JGFkN19B8hJmmGoowH3p4IEvwZy7CThB3E1ejw5R4enqmrgvHqpQe B7odN1OFLAHdo1G5BsHExluNEsEb4OQ0pmKXidDB5B001bJsr748fZ6L/LGx8Al3 <snip> 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 qJSzcwh0hgICBAA= -----END PKCS12----- quit INFO: Import PKCS12 operation completed successfully
!!! Link the SSL trustpoint to the appropriate interface MainASA(config)# ssl trust-point SSL-Trustpoint-PKCS12 outside
使用以下步驟確認是否成功安裝第三方廠商憑證,並用於 SSLVPN 連線。
Configuration > Remote Access VPN > Certificate Management,至並選擇 Identity Certificates.
MainASA(config)# show crypto ca certificate
Certificate
Status: Available
Certificate Serial Number: 25cd73a984070605
Certificate Usage: General Purpose
Public Key Type: RSA (2048 bits)
Signature Algorithm: SHA256 with RSA Encryption
Issuer Name:
cn=Go Daddy Secure Certificate Authority - G2
ou=http://certs.godaddy.com/repository/
o=GoDaddy.com\, Inc.
l=Scottsdale
st=Arizona
c=US
Subject Name:
cn=(asa.remotevpn.url)
ou=Domain Control Validated
OCSP AIA:
URL: http://ocsp.godaddy.com/
CRL Distribution Points:
[1] http://crl.godaddy.com/gdig2s1-96.crl
Validity Date:
start date: 12:04:38 UTC Jul 22 2015
end date: 12:04:38 UTC Jul 22 2016
Associated Trustpoints: SSL-Trustpoint
CA Certificate
Status: Available
Certificate Serial Number: 07
Certificate Usage: General Purpose
Public Key Type: RSA (2048 bits)
Signature Algorithm: SHA256 with RSA Encryption
Issuer Name:
cn=Go Daddy Root Certificate Authority - G2
o=GoDaddy.com\, Inc.
l=Scottsdale
st=Arizona
c=US
Subject Name:
cn=Go Daddy Secure Certificate Authority - G2
ou=http://certs.godaddy.com/repository/
o=GoDaddy.com\, Inc.
l=Scottsdale
st=Arizona
c=US
OCSP AIA:
URL: http://ocsp.godaddy.com/
CRL Distribution Points:
[1] http://crl.godaddy.com/gdroot-g2.crl
Validity Date:
start date: 07:00:00 UTC May 3 2011
end date: 07:00:00 UTC May 3 2031
Associated Trustpoints: SSL-Trustpoint
CA Certificate
Status: Available
Certificate Serial Number: 1be715
Certificate Usage: General Purpose
Public Key Type: RSA (2048 bits)
Signature Algorithm: SHA256 with RSA Encryption
Issuer Name:
ou=Go Daddy Class 2 Certification Authority
o=The Go Daddy Group\, Inc.
c=US
Subject Name:
cn=Go Daddy Root Certificate Authority - G2
o=GoDaddy.com\, Inc.
l=Scottsdale
st=Arizona
c=US
OCSP AIA:
URL: http://ocsp.godaddy.com/
CRL Distribution Points:
[1] http://crl.godaddy.com/gdroot.crl
Validity Date:
start date: 07:00:00 UTC Jan 1 2014
end date: 07:00:00 UTC May 30 2031
Associated Trustpoints: SSL-Trustpoint-1
...(and the rest of the Sub CA certificates till the Root CA)
驗證WebVPN是否使用新證書。

在使用 GoDaddy CA 情況下,憑證可透過產生的 CSR 重設金鑰。
導覽至GoDaddy帳戶,然後在SSL Certificates下按一下Manage。

按一下「檢視狀態以取得需要的網域名稱。

按一下「Manage」以提供選項,以便對憑證重新建立金鑰。

展開「重設憑證金鑰」選項,然後新增 CSR。

儲存並繼續執行下一步。GoDaddy根據提供的CSR頒發新證書。
將憑證連同金鑰一併匯出至 PKCS12 檔案。
使用此指令以透過 CLI 從原始 ASA 匯出憑證:
ASA(config)#crypto ca exportpkcs12
ASDM配置:

使用此指令以透過 CLI 將憑證匯入目標 ASA:
ASA(config)#crypto ca importpkcs12
ASDM配置:

此程序亦可使用以下步驟,透過 ASDM 的備份/還原功能完成:
Tools > Backup Configuration. Tools > Restore Configuration.以下提供多種方法,可用於透過 VPN 負載平衡環境專用的 SSL 憑證設定 ASA。
當 CSR 已提交至產生的 CA 和憑證,請將此 PEM 憑證匯入至產生 CSR 的 ASA。完成後,以PKCS12格式將此證書匯出並匯入到其他成員ASA上。
無需手動將證書從主ASA複製到輔助ASA,因為只要配置了狀態故障切換,證書在ASA之間同步。如果在容錯移轉初始設定時,未在待命裝置上看見憑證,請發出指令 write standby 以強制同步。
唯一的配置差異是金鑰對生成步驟,在此步驟中生成ECDSA金鑰對,而不是RSA金鑰對。其他步驟皆維持不變。
用於生成ECDSA金鑰的CLI命令如下所示:
MainASA(config)# cry key generate ecdsa label SSL-Keypair elliptic-curve 256 INFO: The name for the keys will be: SSL-Keypair Keypair generation process begin. Please wait...
如果 SSL 憑證安裝失敗,以下偵錯指令皆會收集於 CLI:
debug crypto ca 255
debug crypto ca messages 255
debug crypto ca transactions 255
在較新的軟體版本中,需使用單一的debug指令:
debug crypto ca 14
使用9.4(1)及更高版本的ASA上的外部介面上帶有有效第三方SSL證書的不可信證書警告。
解決方案:
當 RSA 金鑰組搭配使用憑證時,就會發生此問題。從9.4(1)開始的ASA版本上,預設情況下啟用所有ECDSA和RSA密碼,並使用最強密碼(通常是ECDSA密碼)進行協商。若發生此問題,ASA 會展示自我簽署憑證,而非目前設定的 RSA 型憑證。在介面上安裝基於RSA的憑證且受到Cisco錯誤ID CSCuu追蹤時,有一個增強功能可用於變更行為02848
建議的操作:透過以下 CLI 指令停用 ECDSA 加密:
ssl cipher tlsv1.2 custom "AES256-SHA:AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:
DES-CBC3-SHA:DES-CBC-SHA:RC4-SHA:RC4-MD5"
或者,使用ASDM導航到Configuration > Remote Access VPN > Advanced,Encryption(加密)部分下選擇SSL Settings.Tlsv1.2 Cipher version,然後使用自定義字串AES256-SHA:AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DES-CBC3-SHA:DES-CBC-SHA:RC4-SHA:DHA RC4-MD5
ECDSA 演算法屬於橢圓曲線密碼編譯 (ECC) 的一部份,且使用橢圓曲線產生公開金鑰;而 RSA 演算法會使用兩個質數與一個更小的數字的產品產生公開金鑰。這表示透過 ECDSA 即可達到與 RSA 相同層級的安全性,而且使用更小的金鑰就能實現。如此可縮短運算時間,並為使用 ECDSA 憑證的網站延長連線時間。
有關下一代加密的文檔提供了更深入的資訊。
若為 Windows:依預設,公用程式會安裝於 C:\Openssl\bin。在此位置開啟命令提示字元。
若為 Mac OSX/Linux:在需要的目錄中開啟「終端機」視窗以建立 PKCS12 憑證。
將私密金鑰、身分識別憑證及根 CA 憑證鏈結合併至 PKCS12 檔案。輸入密碼短語以保護您的PKCS12證書。
strong> openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
openssl base64 -in certificate.pfx -out certificate.p12
接著,匯入上一步產生的憑證以搭配 SSL 使用。
預設信任點驗證 — 使用行為
安裝受信任的CA證書時,可使crypto ca trustpoint authenticate,用該證書使用證書身份驗證來驗證不同型別的VPN連線。它通過trustpoint命validation-usage令控制。validation-usage型別為:
ipsec-client:驗證IPsec客戶端連線。ssl-client:驗證SSL客戶端連線。ssl-server:驗證SSL伺服器證書。預設情況下,該命令允許驗證ipsec-client和ssl-client。
預設配置風險
建議的操作
禁用非預期信任點的驗證使用。如果CA證書不是用於對VPN對等體或使用者進行身份驗證,請禁用該信任點的驗證使用。
配置示例:
trustpoint public-root-ca no validation-usage
預設情況下,受信任的CA證書可用於對連線到任何隧道組的VPN對等體或使用者進行身份驗證。需要設計適當的授權。
建議的操作
使用證書對映和隧道組對映以確保僅授權證書用於特定隧道組。設定預設隧道組對映規則,該規則指向無訪問隧道組,以限制未經授權的訪問。
組態範例
僅以下各項允許證書身份驗證:
由於使用命令,預設情況下將具有其他證書的使用者分配到no_access tunnel-grouptunnel-group-map default-group no_access中。由於使用命令,證書對映規則優先於group-tunnel-group-map enable rulesurl。瞭解group-url無助於繞過證書對映規則。
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 group-url https://ftd.example.com/mgmt enable ! tunnel-group users_access type remote-access tunnel-group usets_access general-attributes default-group-policy user_access_gp address-pool vpn_pool tunnel-group users_access webvpn-attributes authentication certificate group-url https://ftd.example.com/users enable ! 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 ! group-policy no_access_gp internal group-policy no_access_gp attributes banner value NO ACCESS GROUP POLICY (...) vpn-simultaneous-logins 0 ! crypto ca certificate map mgmt_tunnel 10 issuer-name attr cn eq example.com subject-name attr ou eq machines crypto ca certificate map users 10 issuer-name attr cn eq example.com subject-name attr ou eq users ! webvpn (...) certificate-group-map mgmt_tunnel 10 mgmt-tunnel certificate-group-map no-access 10 users_access ! tunnel-group-map enable rules tunnel-group-map default-group no_access
有關更詳細的配置說明,請參閱以下Cisco文檔:
| 修訂 | 發佈日期 | 意見 |
|---|---|---|
6.0 |
21-Sep-2026
|
重新認證 — 更新的格式。 |
5.0 |
17-Oct-2024
|
更新的SEO、Alt文本、機器翻譯、樣式要求和格式。 |
4.0 |
20-Aug-2024
|
更新了SEO連結並刪除了不必要的螺栓。 |
3.0 |
03-Aug-2023
|
— 解決CCW錯誤 — 新增替代文字到影象 |
1.0 |
18-Feb-2016
|
初始版本 |