本文檔介紹如何將Cisco IOS®路由器配置為證書頒發機構(CA)伺服器。此外,還演示了如何註冊另一個Cisco IOS路由器,以便從CA伺服器獲取IPsec身份驗證的根證書和ID證書。
本文件沒有特定需求。
本文中的資訊係根據以下軟體和硬體版本:
兩台運行Cisco IOS軟體版本12.3(4)T3的Cisco 2600系列路由器。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
此文件使用以下網路設定:
第一步是生成Cisco IOS CA伺服器使用的RSA金鑰對。在路由器(R1)上生成RSA金鑰,如以下輸出所示:
R1(config)#crypto key generate rsa general-keys label cisco1 exportable The name for the keys will be: cisco1 Choose the size of the key modulus in the range of 360 to 2048 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes. How many bits in the modulus [512]: % Generating 512 bit RSA keys ...[OK] R1(config)# *Jan 22 09:51:46.116: %SSH-5-ENABLED: SSH 1.99 has been enabled
注意:必須對計畫用於證書伺服器的金鑰對(key-label)使用相同的名稱(透過crypto pki server cs-label 命令)。
將金鑰導出到非易失性RAM (NVRAM)或TFTP(根據您的配置)。本例中使用的是NVRAM。根據您的實作,您可能想要使用單獨的TFTP伺服器來儲存憑證資訊。
R1(config)#crypto key export rsa cisco1 pem url nvram: 3des cisco123 % Key name: cisco1 Usage: General Purpose Key Exporting public key... Destination filename [cisco1.pub]? Writing file to nvram:cisco1.pub Exporting private key... Destination filename [cisco1.prv]? Writing file to nvram:cisco1.prv R1(config)#
如果使用TFTP伺服器,則可以重新匯入產生的金鑰組,如以下命令所示:
crypto key import rsa key-label pem [usage-keys] {terminal | url url} [exportable] passphrase
注意:如果您不想讓金鑰從憑證伺服器匯出,請在金鑰匯出為不可匯出的金鑰組後,將它匯回憑證伺服器。這樣,便無法再次取下金鑰。
要驗證生成的金鑰對,請發出show crypto key mypubkey rsa命令。
輸出直譯器工具(僅供註冊客戶使用) (OIT)支援某些show指令。使用OIT檢視對show命令輸出的分析。
R1#show crypto key mypubkey rsa % Key pair was generated at: 09:51:45 UTC Jan 22 2004 Key name: cisco1 Usage: General Purpose Key Key is exportable. Key Data: 305C300D 06092A86 4886F70D 01010105 00034B00 30480241 00CC2DC8 ED26163A B3642376 FAA91C2F 93A3825B 3ABE6A55 C9DD3E83 F7B2BD56 126E0F11 50552843 7F7CA4DA 3EC3E2CE 0F42BD6F 4C585385 3C43FF1E 04330AE3 37020301 0001 % Key pair was generated at: 09:51:54 UTC Jan 22 2004 Key name: cisco1.server Usage: Encryption Key Key is exportable. Key Data: 307C300D 06092A86 4886F70D 01010105 00036B00 30680261 00EC5578 025D3066 72149A35 32224BC4 3E41DD68 38B08D39 93A1AA43 B353F112 1E56DA42 49741698 EBD02905 FE4EC392 7174EEBF D82B4475 2A2D7DEC 83E277F8 AEC590BE 124E00E1 C1607433 5C7BC549 D532D18C DD0B7AE3 AECDDE9C 07AD84DD 89020301 0001
Cisco IOS CA伺服器僅支援透過簡易憑證註冊通訊協定(SCEP)完成的註冊。因此,為了做到這一點,路由器必須運行內建Cisco IOS HTTP伺服器。要啟用該伺服器,請使用ip http server命令:
R1(config)#ip http server
請完成以下步驟:
請務必記住,憑證伺服器必須使用與您剛才手動產生的金鑰組相同的名稱。
該標籤與生成的金鑰對標籤匹配:
R1(config)#crypto pki server cisco1
啟用憑證伺服器後,您可以使用預先設定的預設值,或透過CLI為憑證伺服器的功能指定值。
database url命令可指定寫出CA伺服器的所有資料庫條目時使用的位置。如果未指定此命令,則所有資料庫條目都將寫入快閃記憶體。
R1(cs-server)#database url nvram:
注意:如果您使用TFTP伺服器,則URL必須是tftp://<ip_address>/directory。
設定資料庫層級:
R1(cs-server)#database level minimum
此命令控制證書註冊資料庫中儲存的資料型別:
Minimum -儲存足夠的資訊僅為在不發生衝突的情況下繼續簽發新證書。預設值。
Names -除了minimal級別中提供的資訊外,還包括每個證書的序列號和主題名稱。
Complete -除了minimal級別和names級別中提供的資訊外,還將簽發的每個證書寫入資料庫中。
注意:使用complete關鍵字會生成大量資訊。如果使用此關鍵字,您還應透過database url命令指定在其中儲存資料的外部TFTP伺服器。
將CA頒發者名稱配置為指定的DN字串。在此範例中,會使用cisco1.cisco.com的CN (一般名稱)、RTP的L (位置)和US的C (國家/地區):
R1(cs-server)#issuer-name CN=cisco1.cisco.com L=RTP C=US
指定CA憑證或憑證的存留時間(天)。
有效值範圍從 1天到1825天。預設的CA證書有效期為三年,預設的證書有效期為一年。證書有效期的最長期限比CA證書有效期短一個月。舉例來說:
R1(cs-server)#lifetime ca-certificate 365 R1(cs-server)#lifetime certificate 200
定義憑證伺服器使用的CRL存留時間(小時)。有效期的最大值為336小時(兩週)。預設值為168小時(一週)。
R1(cs-server)#lifetime crl 24
定義憑證撤銷清單發佈點(CDP),以用於憑證伺服器所發行的憑證。
URL必須是HTTP URL。例如,我們的伺服器IP地址為172.18.108.26:
R1(cs-server)#cdp-url http://172.18.108.26/cisco1cdp.cisco1.crl
發出no shutdown 命令以啟用CA伺服器:
R1(cs-server)#no shutdown
注意:只有在完全配置證書伺服器之後,才發出此命令。
請遵循此程式。
在R2上配置主機名、域名並生成RSA金鑰。
要將路由器的主機名配置為R2,請使用hostname命令:
Router(config)#hostname R2 R2(config)#
請注意,在您輸入hostname命令之後,路由器的主機名立即發生了更改。
要在路由器上配置域名,請使用ip domain-name命令:
R2(config)#ip domain-name cisco.com
要生成R2金鑰對,請使用crypto key generate rsa命令:
R2(config)#crypto key generate rsa The name for the keys will be: R2.cisco.com Choose the size of the key modulus in the range of 360 to 2048 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes. How many bits in the modulus [512]: % Generating 512 bit RSA keys ...[OK]
在全局配置模式下使用以下命令以向CA宣告路由器應使用(在本示例中為Cisco IOS CA)並指定信任點CA的特徵:
crypto ca trustpoint cisco enrollment retry count 5 enrollment retry period 3 enrollment url http://14.38.99.99:80 revocation-check none
注意: crypto ca trustpoint命令結合了現有的crypto ca identity 命令和crypto ca trusted-root 命令,從而能夠以單個命令提供組合功能。
使用crypto ca authenticate cisco命令(cisco是信任點標籤)以便從CA伺服器檢索根證書:
R2(config)#crypto ca authenticate cisco
請使用crypto ca enroll cisco命令(cisco是信任點標籤)進行註冊並生成:
R2(config)#crypto ca enroll cisco
成功向Cisco IOS CA伺服器進行註冊之後,使用show crypto ca certificates命令應該就可以看到所簽發的證書。以下是該命令的輸出。命令顯示詳細的證書資訊,這些資訊與在Cisco IOS CA伺服器中配置的引數相對應:
R2#show crypto ca certificates Certificate Status: Available Certificate Serial Number: 02 Certificate Usage: General Purpose Issuer: cn=cisco1.cisco.com l=RTP c=US Subject: Name: R2.cisco.com hostname=R2.cisco.com CRL Distribution Point: http://172.18.108.26/cisco1cdp.cisco1.crl Validity Date: start date: 15:41:11 UTC Jan 21 2004 end date: 15:41:11 UTC Aug 8 2004 renew date: 00:00:00 UTC Jan 1 1970 Associated Trustpoints: cisco CA Certificate Status: Available Certificate Serial Number: 01 Certificate Usage: Signature Issuer: cn=cisco1.cisco.com l=RTP c=US Subject: cn=cisco1.cisco.com l=RTP c=US Validity Date: start date: 15:39:00 UTC Jan 21 2004 end date: 15:39:00 UTC Jan 20 2005 Associated Trustpoints: cisco
輸入以下命令以將金鑰儲存到永久快閃記憶體:
hostname(config)#write memory
輸入以下命令以儲存組態:
hostname#copy run start
使用本節內容,確認您的組態是否正常運作。
輸出直譯器工具(僅供註冊客戶使用) (OIT)支援某些show指令。使用OIT檢視對show命令輸出的分析。
show crypto ca certificates -顯示證書。
show crypto key mypubkey rsa -顯示金鑰對。
!% Key pair was generated at: 09:28:16 EST Jan 30 2004 !Key name: ese-ios-ca ! Usage: General Purpose Key ! Key is exportable. ! Key Data: ! 30819F30 0D06092A 864886F7 0D010101 05000381 8D003081 89028181 00AF2198 ! C56F1A8F 5AC501FF ADFB1489 1F503F91 CA3C3FA3 9FB2C150 FFCBF815 2AA73060 ! E79AF510 E292C171 C6804B45 0CAAD4AF 5834AB85 B204208B 3960D20D 9B51AF7B ! ACF12D3D F5BC6EAE 77186AE9 1471F5A4 443CE5B5 1336EC33 5FEB3398 002C15EE ! 9F8FD331 83490D8A 983FBBE1 9E72A130 121A3B97 A3ACD147 C37DA3D6 77020301 0001 !% Key pair was generated at: 09:28:17 EST Jan 30 2004 !Key name: ese-ios-ca.server ! Usage: Encryption Key ! Key is exportable. ! Key Data: ! 307C300D 06092A86 4886F70D 01010105 00036B00 30680261 0096456A 01AEC6A5 ! 0049CCA7 B41B675E 5317328D DF879CAE DB96A739 26F2A03E 09638A7A 99DFF8E9 ! 18F7635D 6FB6EE27 EF93B3DE 336C148A 6A7A91CB 6A5F7E1B E0084174 2C22B3E2 ! 3ABF260F 5C4498ED 20E76948 9BC2A360 1C799F8C 1B518DD8 D9020301 0001
crypto pki server ese-ios-ca info crl -顯示證書撤銷清單(CRL)。
! Certificate Revocation List: ! Issuer: cn=ese-ios-ca,ou=ESE,o=Cisco Systems Inc,l=Raleigh,st=NC ! This Update: 09:58:27 EST Jan 30 2004 ! Next Update: 09:58:27 EST Jan 31 2004 ! Number of CRL entries: 0 ! CRL size: 300 bytes
crypto pki server ese-ios-ca info requests -顯示掛起的註冊請求。
! Enrollment Request Database: ! ReqID State Fingerprint SubjectName ! --------------------------------------------------------------
show crypto pki server -顯示當前的Public Key Infrastructure (PKI)伺服器狀態。
! Certificate Server status: enabled, configured ! Granting mode is: manual ! Last certificate issued serial number: 0x1 ! CA certificate expiration timer: 10:58:20 EDT Jun 21 2005 ! CRL NextUpdate timer: 09:58:26 EST Jan 31 2004 ! Current storage dir: nvram: ! Database Level: Names - subject name data written as .cnm
crypto pki server cs-label grant { all | tranaction-id } -同意所有或特定的SCEP請求。
crypto pki server cs-label reject { all | tranaction-id } -拒絕所有或特定的SCEP請求。
crypto pki server cs-label password generate [ minutes ]— 為SCEP請求生成一次性密碼(OTP)(分鐘-密碼的有效時間長度(以分鐘為單位)。有效範圍為1至1440分鐘。預設值為60分鐘。
注意:一次只能有一個OTP有效。如果產生第二個OTP,則先前的OTP不再有效。
crypto pki server cs-label revoke certificate-serial-number - 根據序列號撤銷證書。
crypto pki server cs-label request pkcs10 {url url | terminal} [pem] -向請求資料庫中增加base64或PEM PKCS10證書註冊請求。
crypto pki server cs-label info crl -顯示有關當前CRL狀態的資訊。
crypto pki server cs-label info request -顯示所有未解決的證書註冊請求。
有關其他驗證資訊,請參閱本文檔的驗證生成的金鑰對部分。
有關故障排除資訊,請參閱IP安全故障排除-瞭解和使用debug命令。
注意:在許多情況下,您可以在刪除和重新定義CA伺服器時解決這些問題。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
30-Mar-2004 |
初始版本 |