6.3 數據標識
6.3 數據標識
6.3.1 數據類型
數據類型定義了在PKI體系下各標準中用到的數據類型標簽。
| 標簽 | 說明 |
|---|---|
| SGD_CHAR | 8位,有符號字符 |
| SGD_INT8 | 8位,有符號整數 |
| SGD_INT16 | 16位,有符號整數 |
| SGD_INT32 | 32位,有符號整數 |
| SGD_INT64 | 64位,有符號整數 |
| SGD_UCHAR | 8位,無符號字符 |
| SGD_UINT8 | 8位,無符號整數 |
| SGD_UINT16 | 16位,無符號整數 |
| SGD_UINT32 | 32位,無符號整數 |
| SGD_UINT64 | 64位,無符號整數 |
| SGD_RV | 32位,無符號整數,表示函數返回值 |
| SGD_OBJ | 無符號指針類型,表示對象句柄 |
| SGD_BOOL | 32位,有符號整數,表示布爾型 |
6.3.2 數據常量標識
數據常量標識定義了在PKI體系下各標準中用到的常量的標簽及取值。
| 標簽 | 標識符 | 描述 |
|---|---|---|
| SGD_TRUE | 0x00000001 | 布爾值為真 |
| SGD_FALSE | 0x00000000 | 布爾值為假 |
6.3.3 通用數據對象標識
在數據的存儲或傳輸過程中,可能需要對某些數據的特殊性進行明確的標識,以保證目標系統能夠對接收數據進行正確的處理。
通用數據標識的編碼規則為:從低位到高位,第0位到第7位表示數據對象的屬性,第8位為1,第9位到第31位為0,例如:
SGD_USER_DATA:0000 0000 0000 0000 0000 0001 0001 0111 (0x 00 00 01 17)
<!-- /* Font Definitions */ @font-face {font-family:宋體; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 680460288 22 0 262145 0;} @font-face {font-family:黑體; panose-1:2 1 6 9 6 1 1 1 1 1; mso-font-alt:SimHei; mso-font-charset:134; mso-generic-font-family:modern; mso-font-pitch:fixed; mso-font-signature:-2147482945 953122042 22 0 262145 0;} @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-536869121 1107305727 33554432 0 415 0;} @font-face {font-family:"\@宋體"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 680460288 22 0 262145 0;} @font-face {font-family:"\@黑體"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:modern; mso-font-pitch:fixed; mso-font-signature:-2147482945 953122042 22 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0cm; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman",serif; mso-fareast-font-family:宋體; mso-font-kerning:1.0pt;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt; mso-ascii-font-family:"Times New Roman"; mso-fareast-font-family:宋體; mso-hansi-font-family:"Times New Roman"; mso-font-kerning:0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page WordSection1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.WordSection1 {page:WordSection1;} -->
| 標簽 | 標識符 | 描述 |
|---|---|---|
| SGD_KEY_INDEX | 0x00000101 | 密鑰索引 |
| SGD_SECRET_KEY | 0x00000102 | 對稱密鑰 |
| SGD_PUBLIC_KEY_SIGN | 0x00000103 | 簽名公鑰 |
| SGD_PUBLIC_KEY_ENCRYPT | 0x00000104 | 加密公鑰 |
| SGD_PRIVATE_KEY_SIGN | 0x00000105 | 簽名私鑰 |
| SGD_PRIVATE_KEY_ENCRYPT | 0x00000106 | 加密私鑰 |
| SGD_KEY_COMPONENT | 0x00000107 | 密鑰部件 |
| SGD_PASSWORD | 0x00000108 | 口令 |
| SGD_PUBLIC_KEY_CERT | 0x00000109 | 公鑰證書 |
| SGD_ATTRIBUTE_CERT | 0x0000010A | 屬性證書 |
| SGD_SIGNATURE_DATA | 0x00000111 | 數字簽名 |
| SGD_ENVELOPE_DATA | 0x00000112 | 數字信封 |
| SGD_RANDOM_DATA | 0x00000113 | 隨機數 |
| SGD_PLAIN_DATA | 0x00000114 | 明文數據 |
| SGD_CIPHER_DATA | 0x00000115 | 密文數據 |
| SGD_DIGEST_DATA | 0x00000116 | 摘要數據 |
| SGD_USER_DATA | 0x00000117 | 用戶數據 |
| 0x00000118~0x000001FF^1)^ | 為其他數據對象預留 |
6.3.4 證書解析項標識
在實現身份鑒別、授權管理、訪問控制等安全機制時,需要解析證書項以獲取公鑰證書信息,在這種情況下需要通過標識符指定證書項內容。
證書解析項標識的編碼規則為:從低位到高位,第0位到第7位表示證書解析項的內容,第8位到第31位為0,例如:
SGD_EXT_KEYUSAGE_INFO:0000 0000 0000 0000 0000 0000 0001 0011 (0x 00 00 00 13)
| 標簽 | 標識符 | 描述 |
|---|---|---|
| SGD_CERT_VERSION | 0x00000001 | 證書版本 |
| SGD_CERT_SERIAL | 0x00000002 | 證書序列號 |
| SGD_CERT_ISSUER | 0x00000005 | 證書頒發者信息 |
| SGD_CERT_VALID_TIME | 0x00000006 | 證書有效期 |
| SGD_CERT_SUBJECT | 0x00000007 | 證書擁有者信息 |
| SGD_CERT_DER_PUBLIC_KEY | 0x00000008 | 證書公鑰信息 |
| SGD_CERT_DER_EXTENSIONS | 0x00000009 | 證書擴展項信息 |
| SGD_EXT_AUTHORITYKEYIDENTIFIER_INFO | 0x00000011 | 頒發者密鑰標識符 |
| SGD_EXT_SUBJECTKEYIDENTIFIER_INFO | 0x00000012 | 證書持有者密鑰標識符 |
| SGD_EXT_KEYUSAGE_INFO | 0x00000013 | 密鑰用途 |
| SGD_EXT_PRIVATEKEYUSAGEPERIOD_INFO | 0x00000014 | 私鑰有效期 |
| SGD_EXT_CERTIFICATEPOLICIES_INFO | 0x00000015 | 證書策略 |
| SGD_EXT_POLICYMAPPINGS_INFO | 0x00000016 | 策略映射 |
| SGD_EXT_BASICCONSTRAINTS_INFO | 0x00000017 | 基本限制 |
| SGD_EXT_POLICYCONSTRAINTS_INFO | 0x00000018 | 策略限制 |
| SGD_EXT_EXTKEYUSAGE_INFO | 0x00000019 | 擴展密鑰用途 |
| SGD_EXT_CRLDISTRIBUTIONPOINTS_INFO | 0x0000001A | CRL發布點 |
| SGD_EXT_NETSCAPE_CERT_TYPE_INFO | 0x0000001B | Netscape屬性 |
| SGD_EXT_SELFDEFINED_EXTENSION_INFO | 0x0000001C | 私有的自定義擴展項 |
| SGD_CERT_ISSUER_CN | 0x00000021 | 證書頒發者通用名 |
| SGD_CERT_ISSUER_O | 0x00000022 | 證書頒發者組織 |
| SGD_CERT_ISSUER_OU | 0x00000023 | 證書頒發者組織機構 |
| SGD_CERT_SUBJECT_CN | 0x00000031 | 證書擁有者通用名 |
| SGD_CERT_SUBJECT_O | 0x00000032 | 證書擁有者組織 |
| SGD_CERT_SUBJECT_OU | 0x00000033 | 證書擁有者組織機構 |
| SGD_CERT_SUBJECT_EMAIL | 0x00000034 | 證書擁有者電子信箱 |
| SGD_CERT_NOTBEFORE_TIME | 0x00000035 | 證書起始日期 |
| SGD_CERT_NOTAFTER_TIME | 0x00000036 | 證書截至日期 |
| 0x00000080~0x000000FF^1)^ | 為其他證書解析項預留 |
6.3.5 時間戳信息項標識
在時間戳系統的實現及時間戳的應用過程中,需要解析時間戳信息,在這種情況下需要通過標識符指定時間戳信息項的內容。
時間戳信息項標識的編碼規則為:從低位到高位,第0位到第7位表示時間戳信息項的內容,第8位、第10位到第31位為0,第9位為1,例如:
SGD_SOURCE_OF_TIME:0000 0000 0000 0000 0000 0010 0000 0110 (0x 00 00 02 06)
| 標簽 | 標識符 | 描述 |
|---|---|---|
| SGD_TIME_OF_STAMP | 0x00000201 | 簽發時間 |
| SGD_CN_OF_TSSIGNER | 0x00000202 | 簽發者的通用名 |
| SGD_ORINGINAL_DATA | 0x00000203 | 時間戳請求的原始信息 |
| SGD_CERT_OF_TSSERVER | 0x00000204 | 時間戳服務器的證書 |
| SGD_CERTCHAIN_OF_TSSERVER | 0x00000205 | 時間戳服務器的證書鏈 |
| SGD_SOURCE_OF_TIME | 0x00000206 | 時間源的來源 |
| SGD_TIME_PRECISION | 0x00000207 | 時間精度 |
| SGD_RESPONSE_TYPE | 0x00000208 | 響應方式 |
| SGD_SUBJECT_COUNTRY_OF_TSSIGNER | 0x00000209 | 簽發者國家 |
| SGD_SUBJECT_ORGNIZATION_OF_TSSIGNER | 0x0000020A | 簽發者組織 |
| SGD_SUBJECT_CITY_OF_TSSIGNER | 0x0000020B | 簽發者城市 |
| SGD_SUBJECT_EMAIL_OF_TSSIGNER | 0x0000020C | 簽發者電子信箱 |
| 0x00000280~0x000002FF^1)^ | 為其他時間戳信息項預留 |
6.3.6 單點登錄標識
在單點登錄系統中,存在一些數據標識用于唯一的表示某一用戶或某一服務提供者。
單點登錄標識項的編碼規則為:從低位到高位,第0位到第7位表示單點登錄標識項的內容,第8位到第31位為0,例如:
SGD_SP_ID:0000 0000 0000 0000 0000 0000 0000 0001 (0x 00 00 00 01)
| 標簽 | 標識符 | 描述 |
|---|---|---|
| SGD_SP_ID | 0x00000001 | 服務提供者唯一標識數據 |
| SGD_SP_USER_ID | 0x00000002 | 服務提供者用戶標識數據,在服務提供者內唯一 |
| SGD_IDP_ID | 0x00000003 | 身份鑒別提供者唯一標識數據 |
| SGD_IDP_USER_ID | 0x00000004 | 身份鑒別提供者用戶標識數據,在身份鑒別提供者內唯一 |
6.3.7 數據編碼格式標識
數據在存儲或傳輸時需要按照約定的格式進行編碼,以保證不同應用或不同應用系統之間的互聯互通性。編碼格式標識符需要與通用數據標識符或證書解析項標識符等進行“或”運算后使用,作為數據的附加屬性,表示數據對象符合指定編碼格式。
數據編碼格式標識的編碼規則為:從低位到高位,第0位到第23位為0,第24位到第31位表示數據編碼格式,例如:
SGD_ENCODING_DER:0000 0001 0000 0000 0000 0000 0000 0000 (0x 01 00 00 00)
GB/T 33560-2017 信息安全技術 密碼應用標識規范
推薦文章: