26-keychain命令
本章節下載: 26-keychain命令 (243.06 KB)
accept-lifetime命令用來配置用來校驗接收報文時key的生命周期。
undo accept-lifetime命令用來恢複缺省情況。
【命令】
accept-lifetime daily start-day-time to end-day-time
accept-lifetime date { month-day&<1-31> | start-month-day to end-month-day }
accept-lifetime day { week-day | start-week-day to end-week-day }
accept-lifetime month { month | start-month to end-month }
accept-lifetime utc start-time start-date { duration { duration-value | infinite } | to end-time end-date }
undo accept-lifetime
【缺省情況】
未配置用來校驗接收報文時key的生命周期。
【視圖】
key視圖
【缺省用戶角色】
network-admin
context-admin
【參數】
daily:用來校驗接收報文時key在每天指定的時間內生效。
· start-day-time to end-day-time:指定每天內連續的時間範圍,start-day-time表示起始時間, end-day-time表示結束時間,格式均為HH:MM:SS(小時:分鍾:秒),HH取值範圍為0~23,MM和SS取值範圍為0~59。如果要配置成整分,則可以不輸入秒;如果要配置成整點,則可以不輸入分和秒。
date:用來校驗接收報文時key在每月指定的日期內生效。
· month-day &<1-31>:取值範圍為1~31,&<1-31>表示前麵的參數最多可以輸入31次。
· start-month-day to end-month-day:指定每月內的連續日期範圍,start-month-day表示起始日期;end-month-day表示結束日期,結束日期必須大於起始日期。
day:用來校驗接收報文時key在每周指定的日期內生效。
· week-day:取值為:mon、tue、wed、thu、fri、sat、sun。本參數可輸入多次,但不可重複。
· start-week-day to end-week-day:指定每周內的連續日期範圍,start-week-day表示起始日期;end-week-day表示結束日期,結束日期必須大於起始日期。
month:用來校驗接收報文時key在每年指定的月份內生效。
· month:取值為:jan、feb、mar、apr、may、jun、jul、aug、sep、oct、nov、dec。本參數可輸入多次,但不可重複。
· start-month to end-month:指定每年內的連續月份範圍,start-month表示起始月份;end-month表示結束月份,結束月份必須大於起始月份。
utc:絕對時間模式的生命周期,表示用來校驗接收報文時key在指定時間範圍內(如2015年9月1日8點至2015年9月3日18點)生效。
· start-time:開始時間,格式為HH:MM:SS(小時:分鍾:秒),取值範圍為0:0:0~23.59:59。如果要配置成整分,則可以不輸入秒;如果要配置成整點,則可以不輸入分和秒。
· start-date:開始日期,格式為MM/DD/YYYY(月/日/年)或YYYY/MM/DD(年/月/日),MM的取值範圍為1~12,DD的取值範圍與月份有關,YYYY的取值範圍為2000~2035。
· duration duration-value:指定key的生命周期從設置的start-time和start-date開始所持續時間,取值範圍為1~2147483646,單位為秒。
· duration infinite:表示從設置的start-time和start-date開始,key永遠可以用來驗證接收的報文。
· to:指定結束時間和日期。
· end-time:結束時間,格式為HH:MM:SS(小時:分鍾:秒),取值範圍為0:0:0~23.59:59。
· end-date:結束日期,格式為MM/DD/YYYY(月/日/年)或YYYY/MM/DD(年/月/日),MM的取值範圍為1~12,DD的取值範圍與月份有關,YYYY的取值範圍為2000~2035。
【使用指導】
隻有同時滿足如下條件的key,才是有效key,才可被應用程序用於對接收的報文進行校驗:
· 配置了認證密鑰。
· 配置了認證算法。
· 對於絕對時間模式,係統當前的絕對時間處於accept-lifetime指定的時間範圍內;對於各種周期性時間模式,係統當前的本地時間處於accept-lifetime { daily | date | day | month }指定的時間範圍內。
如果應用程序接收到的報文中攜帶key-id信息,且該key-id對應的key是有效的,則使用該key對接收到的報文進行校驗;如果該key-id對應的key是無效的,則報文校驗失敗。
如果應用程序接收到的報文中沒有攜帶key-id信息,將使用當前keychain中所有的有效key對接收到的報文進行校驗,如果接收到的報文無法通過任何一個有效key的校驗,則報文校驗失敗。
應用程序可以使用多個有效key對接收到的報文進行校驗。
【舉例】
# 在工作於絕對時間模式的keychain abc中,配置用來校驗接收報文時key 1的生命周期為2015年1月21日12時30分到2015年1月21日18點30分。
<Sysname> system-view
[Sysname] keychain abc mode absolute
[Sysname-keychain-abc] key 1
[Sysname-keychain-abc-key-1] accept-lifetime utc 12:30 2015/1/21 to 18:30 2015/1/21
# 在工作於weekly時間模式的keychain 123中,配置用來校驗接收報文的key 1在每周五生效。
<Sysname> system-view
[Sysname] keychain 123 mode periodic weekly
[Sysname-keychain-123] key 1
[Sysname-keychain-123-key-1] accept-lifetime day fri
【相關命令】
· display keychain
accept-tolerance命令用來為keychain中的key延長其在報文接收時的生命周期。
undo accept-tolerance命令用來恢複缺省情況。
【命令】
accept-tolerance { value | infinite }
undo accept-tolerance
【缺省情況】
沒有為keychain中的key延長其在報文接收時的生命周期。
【視圖】
keychain視圖
【缺省用戶角色】
network-admin
context-admin
【參數】
value:表示key的生命周期的延長時間,取值範圍為1~8640000,單位為秒。
infinite:為指定keychain中的key無限延長其在報文接收時的生命周期,即key在報文接收的過程中永久有效。
【使用指導】
當用戶需要修改認證雙方的校驗信息時,可能會出現由於校驗信息的不匹配導致的業務中斷。配置本命令後,由accept-lifetime utc指定的key的生命周期的開始和結束時間都將做相應的延長,從而避免上述情況的發生。
【舉例】
# 在工作於絕對時間模式的keychain abc中,為key延長其在報文接收時的生命周期,延長值為100秒。
<Sysname> system-view
[Sysname] keychain abc mode absolute
[Sysname-keychain-abc] accept-tolerance 100
# 在工作於絕對時間模式的keychain abc中,為key延長其在報文接收時的生命周期,延長值為無限大。
<Sysname> system-view
[Sysname] keychain abc mode absolute
[Sysname-keychain-abc] accept-tolerance infinite
【相關命令】
· display keychain
authentication-algorithm命令用來配置key的認證算法。
undo authentication-algorithm命令用來恢複缺省情況。
【命令】
authentication-algorithm { hmac-md5 | hmac-sha-1 | hmac-sha-256 | hmac-sm3 | md5 | sm3 }
undo authentication-algorithm
【缺省情況】
未配置key的認證算法。
【視圖】
key視圖
【缺省用戶角色】
network-admin
context-admin
【參數】
hmac-md5:HMAC-MD5認證算法。
hmac-sha-1:HMAC-SHA-1認證算法。
hmac-sha-256:HMAC-SHA-256認證算法。
hmac-sm3:HMAC-SM3認證算法。
md5:MD5認證算法。
sm3:SM3認證算法。
【使用指導】
如果應用程序不支持authentication-algorithm配置的認證算法,則無法使用該key進行報文校驗。
【舉例】
# 在工作於絕對時間模式的keychain abc中,配置key 1的認證算法為MD5。
<Sysname> system-view
[Sysname] keychain abc mode absolute
[Sysname-keychain-abc] key 1
[Sysname-keychain-abc-key-1] authentication-algorithm md5
【相關命令】
· display keychain
default-send-key命令用來為keychain指定一個缺省發送key。
undo default-send-key命令用來恢複缺省情況。
【命令】
default-send-key
undo default-send-key
【缺省情況】
keychain中不存在缺省發送key。
【視圖】
key視圖
【缺省用戶角色】
network-admin
context-admin
【使用指導】
當keychain中的發送key處於非活躍狀態時,可以通過使用缺省的發送key對報文進行認證。同一個keychain中,隻能將一個key指定為缺省的發送key,且需要為該缺省的發送key配置認證算法和認證密鑰。
【舉例】
# 在工作於絕對時間模式的keychain abc中,指定key 1為缺省發送key。
<Sysname> system-view
[Sysname] keychain abc mode absolute
[Sysname-keychain-abc] key 1
[Sysname-keychain-abc-key-1] default-send-key
【相關命令】
· display keychain
display keychain命令用來顯示keychain的信息。
【命令】
display keychain [ name keychain-name [ key key-id ] ]
【視圖】
任意視圖
【缺省用戶角色】
network-admin
network-operator
context-admin
context-operator
【參數】
name keychain-name:keychain名稱,為1~63個字符的字符串,區分大小寫。如果不指定本參數,則顯示所有keychain的信息。
key key-id:key的標識符,取值範圍為0~281474976710655。如果不指定本參數,則顯示屬於某keychain的全部key的信息。
【舉例】
# 顯示keychain的信息。
<Sysname> display keychain
Keychain name : abc
Mode : absolute
Accept tolerance : 0
TCP kind value : 254
TCP algorithm value
HMAC-MD5 : 5
HMAC-SHA-256 : 7
MD5 : 3
HMAC-SM3 : 52
SM3 : 51
Default send key ID : None
Active send key ID : 1
Active accept key IDs: 1 2
Key ID : 1
Key string : $c$3$vuJpEX3Lah7xcSR2uqmrTK2IZQJZguJh3g==
Algorithm : md5
Send lifetime : 01:00:00 2015/01/22 to 01:00:00 2015/01/25
Send status : Active
Accept lifetime : 01:00:00 2015/01/22 to 01:00:00 2015/01/27
Accept status : Active
Key ID : 2
Key string : $c$3$vuJpEX3Lah7xcSR2uqmrTK2IZQJZguJh3g==
Algorithm : md5
Send lifetime : 01:00:01 2015/01/25 to 01:00:00 2015/01/27
Send status : Inactive
Accept lifetime : 01:00:00 2015/01/22 to 01:00:00 2015/01/27
Accept status : Active
表1-1 display keychain命令顯示信息描述表
字段 |
描述 |
Keychain name |
keychain名稱 |
Mode |
keychain的時間模式: · absolute:絕對時間模式 · periodic daily:按天的周期性時間模式 · periodic weekly:按周的周期性時間模式 · periodic monthly:按月的周期性時間模式 · periodic yearly:按年的周期性時間模式 |
Accept tolerance |
key在報文接收時的容忍度,單位為秒 |
TCP kind value |
TCP增強認證選項中的類型值。缺省情況下為254 |
TCP algorithm value |
TCP認證算法所對應的算法ID。缺省情況下,HMAC-MD5對應的算法ID為5,HMAC-SHA-256認證算法的算法ID是7,MD5對應的算法ID為3,HMAC-SM3認證算法對應的算法ID是52,SM3認證算法對應的算法ID是51 |
Default send key ID |
缺省發送key的ID、以及缺省發送key的狀態 |
Active send key ID |
用於對發送報文進行校驗的有效key |
Active accept key IDs |
用於對接收報文進行校驗的有效key |
Key ID |
key的標識符 |
Key string |
key的認證密鑰(密文形式) |
Algorithm |
key的認證算法: · hmac-md5:HMAC-MD5認證算法 · hmac-sha-1:HMAC-SHA-1認證算法 · hmac-sha-256:HMAC-SHA-256認證算法 · hmac-sm3:HMAC-SM3認證算法 · md5:MD5認證算法 · sm3:SM3認證算法 |
Send lifetime |
用來校驗發送報文時key的生命周期 |
Send status |
用來校驗發送報文時,key是否有效: · Active:key有效 · Inactive:key無效 |
Accept lifetime |
用來校驗接收報文時key的生命周期 |
Accept status |
用來校驗接收報文時,key是否有效: · Active:key有效 · Inactive:key無效 |
key命令用來創建一個key,並進入key視圖。如果指定的key已經存在,則直接進入key視圖。
undo key命令用來刪除指定的key及key視圖下的所有配置。
【命令】
key key-id
undo key key-id
【缺省情況】
不存在key。
【視圖】
keychain視圖
【缺省用戶角色】
network-admin
context-admin
【參數】
key-id:key的標識符,取值範圍為0~281474976710655。
【使用指導】
一個keychain下可以配置多個key,各個key必須指定不同的key-id。
【舉例】
# 在工作於絕對時間模式的keychain abc中,創建標識符為1的key,並進入key視圖。
<Sysname> system-view
[Sysname] keychain abc mode absolute
[Sysname-keychain-abc] key 1
[Sysname-keychain-abc-key-1]
【相關命令】
· display keychain
keychain命令用來創建一個keychain,並進入keychain視圖。如果指定的keychain已經存在,則直接進入keychain視圖。
undo keychain命令用來刪除指定的keychain及keychain視圖下的所有配置。
【命令】
keychain keychain-name [ mode { absolute | periodic { daily | monthly | weekly | yearly } } ]
undo keychain keychain-name
【缺省情況】
不存在keychain。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
context-admin
【參數】
keychain-name:keychain名,為1~63個字符的字符串,區分大小寫。
mode:keychain工作的時間模式。
absolute:絕對時間模式。該模式的keychain中,key的生命周期是從指定的起始日期、時間到指定的結束日期、時間,各個日期和時間都是UTC(UTC,Coordinated Universal Time,國際協調時間)絕對時間,不受係統的時區和夏令時的影響。
periodic:周期性時間模式。所有周期性時間模式的keychain中,key的生命周期都是根據係統的本地時間計算的,會受到係統的時區和夏令時的影響。
daily:按天的周期性時間模式。
monthly:按月的周期性時間模式。
weekly:按周的周期性時間模式。
yearly:按年的周期性時間模式。
【使用指導】
創建keychain時必須指定其工作的時間模式。對於已存在的keychain,不可修改其工作的時間模式。進入已存在的keychain視圖時可以不指定其工作的時間模式。
【舉例】
# 創建名為abc的keychain,指定其工作在絕對時間模式下,並進入keychain視圖。
<Sysname> system-view
[Sysname] keychain abc mode absolute
[Sysname-keychain-abc]
【相關命令】
· display keychain
key-string命令用來配置key的認證密鑰。
undo key-string命令用來恢複缺省情況。
【命令】
key-string { cipher | plain } string
undo key-string
【缺省情況】
未配置key的認證密鑰。
【視圖】
key視圖
【缺省用戶角色】
network-admin
context-admin
【參數】
cipher:以密文方式設置密鑰。
plain:以明文方式設置密鑰,該密碼將以密文形式存儲。
string:密鑰字符串,區分大小寫。明文密鑰為1~255個字符的字符串,密文密鑰為33~373個字符的字符串。
【使用指導】
key的認證密鑰的明文長度有可能會超出應用程序支持的範圍,這種情況下應用程序需要截取自己支持的長度範圍的明文密鑰來對報文進行校驗。
【舉例】
# 在工作於絕對時間模式的keychain abc中,以明文形式設置key 1的密鑰為123456。
<Sysname> system-view
[Sysname] keychain abc mode absolute
[Sysname-keychain-abc] key 1
[Sysname-keychain-abc-key-1] key-string plain 123456
【相關命令】
· display keychain
send-lifetime命令用來配置用來校驗發送報文時key的生命周期。
undo send-lifetime命令用來恢複缺省情況。
【命令】
send-lifetime daily start-day-time to end-day-time
send-lifetime date { month-day&<1-31> | start-month-day to end-month-day }
send-lifetime day { week-day | start-week-day to end-week-day }
send-lifetime month { month | start-month to end-month }
send-lifetime utc start-time start-date { duration { duration-value | infinite } | to end-time end-date }
undo send-lifetime
【缺省情況】
未配置用來校驗發送報文時key的生命周期。
【視圖】
key視圖
【缺省用戶角色】
network-admin
context-admin
【參數】
daily:用來校驗發送報文時key在每天指定的時間內生效。
· start-day-time to end-day-time:指定每天內連續的時間範圍,start-day-time表示起始時間, end-day-time表示結束時間,格式均為HH:MM:SS(小時:分鍾:秒),HH取值範圍為0~23,MM和SS取值範圍為0~59。如果要配置成整分,則可以不輸入秒;如果要配置成整點,則可以不輸入分和秒。
date:用來校驗發送報文時key在每月指定的日期內生效。
· month-day &<1-31>:取值範圍為1~31,&<1-31>表示前麵的參數最多可以輸入31次。
· start-month-day to end-month-day:指定每月內的連續日期範圍,start-month-day表示起始日期;end-month-day表示結束日期,結束日期必須大於起始日期。
day:用來校驗發送報文時key在每周指定的日期內生效。
· week-day:取值為:mon、tue、wed、thu、fri、sat、sun。本參數可輸入多次,但不可重複。
· start-week-day to end-week-day:指定每周內的連續日期範圍,start-week-day表示起始日期;end-week-day表示結束日期,結束日期必須大於起始日期。
month:用來校驗發送報文時key在每年指定的月份內生效。
· month:取值為:jan、feb、mar、apr、may、jun、jul、aug、sep、oct、nov、dec。本參數可輸入多次,但不可重複。
· start-month to end-month:指定每年內的連續月份範圍,start-month表示起始月份;end-month表示結束月份,結束月份必須大於起始月份。
utc:絕對時間模式的生命周期,表示用來校驗發送報文時key在指定時間範圍內(如2015年9月1日8點至2015年9月3日18點)生效。
· start-time:開始時間,格式為HH:MM:SS(小時:分鍾:秒),取值範圍為0:0:0~23.59:59。如果要配置成整分,則可以不輸入秒;如果要配置成整點,則可以不輸入分和秒。
· start-date:開始日期,格式為MM/DD/YYYY(月/日/年)或YYYY/MM/DD(年/月/日),MM的取值範圍為1~12,DD的取值範圍與月份有關,YYYY的取值範圍為2000~2035。
· duration duration-value:指定key的生命周期從設置的start-time和start-date開始所持續時間,取值範圍為1~2147483646,單位為秒。
· duration infinite:表示從設置的start-time和start-date開始,key永遠可以用來驗證發送的報文。
· to:指定結束時間和日期。
· end-time:結束時間,格式為HH:MM:SS(小時:分鍾:秒),取值範圍為0:0:0~23.59:59。
· end-date:結束日期,格式為MM/DD/YYYY(月/日/年)或YYYY/MM/DD(年/月/日),MM的取值範圍為1~12,DD的取值範圍與月份有關,YYYY的取值範圍為2000~2035。
【使用指導】
隻有同時滿足如下條件的key,才是有效key,才可被應用程序用於對發送的報文進行校驗:
· 配置了認證密鑰。
· 配置了認證算法。
· 對於絕對時間模式,係統當前的絕對時間處於send-lifetime utc指定的時間範圍內;對於各種周期性時間模式,係統當前的本地時間處於send-lifetime { daily | date | day | month }指定的時間範圍內。
同一個keychain內的各個key使用send-lifetime指定的生命周期不可重疊,以確保在同一時刻,應用程序隻使用一個key對發送的報文進行校驗。
【舉例】
# 在工作於絕對時間模式的keychain abc下,配置用來校驗發送報文時key 1的生命周期為2015年1月21日12時30分到2015年1月21日18點30分。
<Sysname> system-view
[Sysname] keychain abc mode absolute
[Sysname-keychain-abc] key 1
[Sysname-keychain-abc-key-1] send-lifetime utc 12:30 2015/1/21 to 18:30 2015/1/21
# 在工作於weekly時間模式的keychain 123下,配置用來校驗接收報文的key 1在每周五生效。
<Sysname> system-view
[Sysname] keychain 123 mode periodic weekly
[Sysname-keychain-123] key 1
[Sysname-keychain-123-key-1] send-lifetime day fri
【相關命令】
· display keychain
tcp-algorithm-id命令用來配置keychain支持的TCP認證算法的算法ID。
undo tcp-algorithm-id命令用來恢複缺省情況。
【命令】
tcp-algorithm-id { hmac-md5 | hmac-sha-256 | hmac-sm3 | md5 | sm3 } algorithm-id
undo tcp-algorithm-id { hmac-md5 | hmac-sha-256 | hmac-sm3 | md5 | sm3 }
【缺省情況】
MD5認證算法的算法ID是3,HMAC-MD5認證算法的算法ID是5,HMAC-SHA-256認證算法的算法ID是7,SM3認證算法的算法ID是51,HMAC-SM3認證算法的算法ID是52。
【視圖】
keychain視圖
【缺省用戶角色】
network-admin
context-admin
【參數】
hmac-md5:采用HMAC-MD5認證算法,密鑰長度為16字節。
hmac-sha-256:采用HMAC-SHA-256認證算法,密鑰長度為16字節。
hmac-sm3:采用HMAC-SM3認證算法,密鑰長度為32字節。
md5:采用MD5認證算法,密鑰長度為16字節。
sm3:采用SM3認證算法,密鑰長度為32字節。
algorithm-id:認證算法的算法ID,取值範圍為1~63。
【使用指導】
建立TCP連接時使用keychain認證的應用程序,其發送和接收的TCP報文中會攜帶增強認證選項,增強認證選項中的algorithm-id字段用來表示認證算法的算法ID。由於algorithm-id不是IANA(Internet Assigned Numbers Authority,因特網地址分配組織)統一定義的,不同的廠商使用algorithm-id所代表的算法類型不盡相同。在與第三方設備互通時,本端對algorithm-id的配置必須與對端的保持一致,例如,當第三方設備中HMAC-MD5認證算法的算法ID是3時,需要在本端設備上配置tcp-algorithm-id hmac-md5 3命令才能互通。
【舉例】
# 在工作於絕對時間模式的keychain abc中,配置HMAC-MD5認證算法的算法ID為1。
<Sysname> system-view
[Sysname] keychain abc mode absolute
[Sysname-keychain-abc] tcp-algorithm-id hmac-md5 1
【相關命令】
· display keychain
tcp-kind命令用來配置TCP增強認證選項中的類型值。
undo tcp-kind命令用來恢複缺省情況。
【命令】
tcp-kind kind-value
undo tcp-kind
【缺省情況】
TCP增強認證選項中的類型值為254。
【視圖】
keychain視圖
【缺省用戶角色】
network-admin
context-admin
【參數】
kind-value:TCP增強認證選項中的類型值,取值範圍為28~255。
【使用指導】
建立TCP連接時使用keychain認證的應用程序,其發送和接收的TCP報文中會攜帶增強認證選項,通信雙方所指定的增強認證選項中的類型值必須保持一致,否則會導致報文校驗失敗。
【舉例】
# 在工作於絕對時間模式的keychain abc下,配置TCP增強認證選項中的類型值為252。
<Sysname> system-view
[Sysname] keychain abc mode absolute
[Sysname-keychain-abc] tcp-kind 252
【相關命令】
· display keychain
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!