附 錄 B (資料性附錄) 請求與返回消息處理示例
A.1 概述
本附錄描述了7至8章所述各請求與返回消息的解析規則、接口調用方式及消息示例,供應用參考。在應用時,應根據實際情況生成相應的參數內容。為簡便起見,示例中省略了證書信息的中間部分并以“…”代替。
A.2 消息解析步驟示例
對6.1節所述消息編碼的解析步驟示例如下:
a) 消息接收方確定消息字符串的首字符與尾字符分別為‘{’與‘}’;
b) 使用‘,’作為分隔符將消息字符串分割成若干名稱/值對;
c) 獲取相應的名稱/值對后,搜索第一個 ‘:’作為分隔符,將名稱/值對解析為名稱和值兩部分;
d) 確定名稱和值均以‘“’與‘”’作為起始與結束;
e) 將名稱的內容與本部分7至8章規定的各參數的參數標識相同的名稱/值對進行處理。對名稱未在本部分7至8章參數標識中出現的名稱/值對,可忽略或根據業務需要進行處理;
f) 如果存在多個名稱相同的名稱/值對,且格式符合本部分的規定,可根據需要僅接收最后出現的名稱/值對中的值或報錯處理;
g) 確認收到的數據中值的長度符合本部分7至8章所規定的消息長度;
h) 確認收到的數據中包含所以必選的參數所對應的名稱/值對,且這些參數的值符合本部分定義的參數類型。
A.3 接口調用示例
本部分規定的各接口的調用方式可采用異步調用或同步調用兩種方式,相應的調用方式示例如下:
a) 當應用服務提供方通過異步調用方式調用接口時,在請求消息中通過return_url參數發送一個供eID服務平臺使用的結果返回地址。eID服務平臺會在收到應用服務提供方發送的消息后返回確認消息。應用服務提供方可根據網絡與應用實際情況制定超時時間,在超時時間內未收到eID服務平臺的同步返回結果,則進行請求失敗處理。隨后,eID服務平臺會通過參數中return_url中包含的結果返回將業務處理結果返回給應用服務提供方,應用服務提供方在接收到eID服務平臺的處理結果之后,向eID服務平臺返回確認消息,其內容為:{“received”:“true”},表示已接收到結果。如果eID服務平臺在一定時間內未收到應用服務提供方的接收確認,會根據策略按一定間隔重復發送直到達到最大重試次數或收到應用服務提供方的接收確認,應用服務提供方采用重復消息判定機制對此進行處理。
b) 當應用服務提供方通過同步調用方式調用接口時,eID服務平臺會保持會話,待處理完所有業務以后,按照7至8章中的定義直接返回相關參數。應用服務提供方可根據網絡與應用實際情況制定超時時間,在超時時間內未收到eID服務平臺的同步返回結果,則進行請求失敗處理。
A.4 注冊請求與返回消息示例
A.4.1 注冊請求消息示例
如7.1節所示注冊請求消息示例如下。
{
"app_info": "An Example Service Provider",
"app_name": "example_sp",
"app_org": "example_org",
"app_domain": "https://www.eid-service.cn",
"ip_addr": "101.230.3.98",
"return_url": "https://www.eid-service.cn/return_url"
}
A.4.2 注冊返回消息示例
如7.2節所示注冊返回消息示例如下。
{
"app_info": " An Example Service Provider ",
"app_name": "example_sp",
"app_org": "example_org",
"app_domain": "https://www.eid-service.cn",
"ip_addr": "101.230.3.98",
"sign_cert": " CERT=0123456789ABCDEF",
"app_id": "01QT1601011010101111",
"app_key": "NzcxRUYzREJGRjVGMUNEQzMyQjlDNTcyOTMwNDc2MTkxOTk4QjJCRjdDQjk4MUQ3RjVCMzkyMDI2NDVGMDkzMQ==",
"server_url": " https://www.eid.cn/server_url ",
"server_cert": "MIIDYz...+75H3TmAzw=="
}
A.5 桌面驗證請求與返回消息示例
A.5.1 桌面驗證請求消息示例
如8.4節所示桌面驗證請求消息示例如下。
{
"message_type": "02",
"app_id": "01QT1601011010101111",
"sign_type": "1.2.156.10197.1.501",
"signature": "NkQzRkJBMjZFQUIyQTEwNTRGNUQxOTgzMzJFMzM1ODE3QzhBQzQ1M0VEMjZEMzM5MUNENDQzOUQgODI1QkYyNUI=",
"return_url": " https://www.eid-service.cn/return_url ",
"biz_sequence_id": "F6F242C3BFFB4F7690C9CE719A2FE9B7",
"apply_time": "2016-08-16 09:01:23",
"biz_type": "01",
"eid_user_info": "vGrRdDdHn5U1XDhZXGFV00xptpFuyUmdyGkTTE+FNXb8Jx5zTEJCU3uJ7wkq+/qcbSCRsuiwnO8lsBDOG/LoRg==",
"eid_sign_info": " MzEyNEM1Njg4RDk1RjBBMTAyNTJBOUJFRDAzM0JFQzg0NDM5REEzODQ2MjFCNkQ2RkFENzdGOTRCNzRBOTU1Ng==",
"sign_algorithm_id": " 1.2.156.10197.1.501",
"data_to_sign": " ZqL+WkQxr0bJ6VHBN1k8DH0dH3hLJ113",
"extension": "some_extension"
}
A.5.2 桌面驗證返回消息示例
如8.5節所示桌面驗證請求消息示例如下。
{
"message_type": "12",
"result": "1",
"sign_type": "1.2.156.10197.1.501",
"signature": " NkQzRkJBMjZFQUIyQTEwNTRGNUQxOTgzMzJFMzM1ODE3QzhBQzQ1M0VEMjZEMzM5MUNENDQzOUQgODI1QkYyNUI=",
"biz_sequence_id": " F6F242C3BFFB4F7690C9CE719A2FE9B7",
"return_time": "2013-01-01 11:11:11",
"eID_code": "2016-08-16 09:02:02",
"user_account": "useraccount",
"extension": "some_extension "
}
A.6 移動驗證請求與返回消息示例
A.6.1 移動驗證請求消息示例
如8.4節所示移動驗證請求消息示例如下,在應用時,應根據實際情況生成相應的參數內容。
{
"message_type": "02",
"app_id": "01QT1601011010101111",
"sign_type": "1.2.156.10197.1.501",
"signature": "NkQzRkJBMjZFQUIyQTEwNTRGNUQxOTgzMzJFMzM1ODE3QzhBQzQ1M0VEMjZEMzM5MUNENDQzOUQgODI1QkYyNUI=",
"return_url": " https://www.eid-service.cn/return_url ",
"biz_sequence_id": "F6F242C3BFFB4F7690C9CE719A2FE9B7",
"apply_time": "2016-08-16 09:01:23",
"user_phone": "13012345678",
"biz_type": "03",
"security_class": "1",
"extension": "some_extension "
}
A.6.2 移動驗證返回消息示例
如8.5節所示移動驗證請求消息示例如下,在應用時,應根據實際情況生成相應的參數內容。
{
"message_type": "12",
"result": "1",
"sign_type": "1.2.156.10197.1.501",
"signature": " NkQzRkJBMjZFQUIyQTEwNTRGNUQxOTgzMzJFMzM1ODE3QzhBQzQ1M0VEMjZEMzM5MUNENDQzOUQgODI1QkYyNUI=",
"biz_sequence_id": " F6F242C3BFFB4F7690C9CE719A2FE9B7",
"return_time": "2013-01-01 11:11:11",
"eID_code": "2016-08-16 09:02:02",
"extension": "some_extension "
}
GB/T 36629.3—2018 信息安全技術 公民網絡電子身份標識安全技術要求 第3部分:驗證服務消息及其處理規則
推薦文章: