中国·北京市海淀区知春路113号银网中心B座2层
电话:86-010-******** 传真:86-010-********
吉大正元信息技术股份有限公司
目录
1 引言 (1)
1.2 适用网关版本 (1)
2 认证原理 (1)
3.1 承载协议 (2)
3.2 认证原文产生服务报文 (2)凝胶谱法
3.2.2 响应报文说明 (2)
3.3 认证服务报文 (3)
3.3.1 请求报文说明 (3)
3.3.2 响应报文说明 (5)
3.4 标准报文示例 (7)
3.4.1 认证原文产生服务请求报文示例 (7)
3.4.2 认证原文产生服务响应报文示例 (7)
3.4.3 认证服务请求报文示例 (7)
3.4.4 认证服务响应报文示例 (8)
空调自动控制系统4 应用改造流程 (9)
4.1 第一步:客户端请求认证原文 (9)
4.2 第二步:服务端请求认证原文 (9)
4.3 第三步:网关返回认证原文 (10)
4.4 第四步:服务端返回认证原文 (10)
4.5 第五步:客户端认证 (10)
4.6 第六步:应用服务端认证 (10)
4.7 第七步:网关返回认证响应 (10)
4.8 第八步:服务端处理 (10)
1引言
1.1服务概述
集中认证服务是吉大正元身份认证网关I(以下简称网关)面向各种应用系统提供的一种统一的、高强度的身份认证服务。通过集中认证服务应用系统可以将用户的身份凭据(证书或用户名/口令)提交给网关,网关对用户的身份凭据进行认证,认证后将认证结果、用户的身份信息及用户的属性信息返回给应用系统。集中认证服务保证了众多应用系统之间认证的权威性、安全性、用户身份的唯一性,避免了因在不同的应用系统中存在多重用户身份信息而难以管理的问题。
1.2适用网关版本
本文档所描述的集中认证应用接入改造方法适用于I2.2.2版本。
2认证原理
集中认证服务以基于X509证书的身份认证机制取代应用系统中原有的基于用户名/口令的传统身份认证机制。集中认证服务实际上包含两个服务:认证原文产生服务和认证服务,认证也分为两个过程:请求认证原文和请求身份认证。
第一个过程是为了拿到网关提供的认证原文,当用户使用应用系统的客户端程序登录应用服务器时,首先由应用系统的客户端发起,应用客户端先向应用服务端请求认证原文(该认证原文用来生成后面认证服务要用到的认证请求包),应用服务端收到请求后发出请求向网关请求认证原文,网关收到请求后会产生认证原文并将原文返回给应用服务端,应用服务端再将原文返回给应用客户端,应用客户端拿认证原文第一个过程结束。
第二个过程是进行身份认证,应用客户端拿到原文后会弹出一个对话框让用户选择要用来进行身份认证的证书,用户指定证书后应用客户端使用认证原文和用户证书产生认证请求包发给应用服务端,应用服务端收到认证请求包后向网关发起身份认证请求,网关收到请求后根据认证请求包中的内容对用户身份进行认证,认证成功后网关会将认证结果和用户的属性信息返回给应用服务端,应用服务端根据这些信息可以对用户的登录请求做出回应。如果网关对用户进行身份认证时失败,则会向应用服务端返回错误信息,应用服务端可以对这些错误信息加以处理,例如:将信息返回给客户端显示,提示用户重新登录等。
3通信报文
集中认证服务支持明文、密文(SSL)两种通讯模式,承载协议采用http协议,业务通信报文采用XML格式,分为报文头和报文体两部分内容。报文头存放通用信息,如服务类型、版本等信息;报文
体存放业务数据。
3.1承载协议
集中认证服务采用标准的http协议作为通讯承载协议,下面示例中蓝部分需要应用系统根据实际环境调整。
1.请求协议格式范例:
POST uri HTTP/1.1
Accept-Language: zh-cn
Content-Type: text/plain
Accept-Encoding: gzip, deflate
Host: ip:port
Content-Length: 发送数据长度
Connection: Keep-Alive
Cache-Control: no-cache
2.响应协议格式范例:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=UTF-8
Content-Length: 回应数据长度
Date: Wed, 08 Jul 2009 02:11:07 GMT
3.2认证原文产生服务报文
3.2.1请求报文说明
请求报文分为报文头和报文体,报文头由版本信息和服务类型两部分组成,报文体中是应用标识。
3.2.1.1报文头
<head>
<version>1.0</version>
<servicetype>OriginalService</servicetype>
</head>
✧version:报文版本信息。
✧servicetype:服务类型,网关会根据服务类型指定的服务将请求分发给该服务。
3.2.1.2报文体
<body>
<appid>testApp</appid>
</body>
✧appid:应用系统在网关注册的应用标识,网关收到请求时会检查应用标识是否已经在网关注册,如果
未注册则拒绝处理,返回错误信息。
3.2.2响应报文说明
响应报文分为报文头和报文体。报文头由版本信息、服务类型、错误信息状态和错误信息四部分组成。报文体中是认证原文。
征服者1453
3.2.2.1报文头
<head>
<version>1.0</version>
<servicetype>OriginalService</servicetype>
<messagestate>false</messagestate >
<messageCode>MESSAGE_CODE_13001001</messageCode>
<messageDesc>报文解析异常</messageDesc>
</head>
✧version:报文版本信息。
✧servicetype:服务类型,网关会根据服务类型指定的服务将请求分发给该服务。
✧messageState:表示业务是否出现异常情况。“true”表示出现了异常。当值为“true”时,“messageCode”
和“messageDesc”结点会给出错误代码及描述;“false”表示业务正常。无“messageCode”和“messageDesc”
结点。
✧messageCode:错误代码
✧messageDesc:错误描述
3.2.2.2报文体
<body>
<original>kr5wEimbU8</original>
</body>查理大帝传
✧original:认证原文。
3.3认证服务报文
3.3.1请求报文说明
请求报文分为报文头和报文体。报文头由版本信息和服务类型两部分组成。报文体由应用信息、身份信息、访问控制请求状态、用户属性请求列表四部分组成。
3.3.1.1报文头
完整的请求报文头内容如下:印度支那问题
<head>
<version>1.X</version>
<serviceType>AuthenService</serviceType>
</head>
✧version:报文版本信息。标准的BS应用系统和已经具有会话管理的CS应用系统改造时,客户端到应
用服务器申请原文,版本号为1.0;没有会话管理的CS应用系统和没有服务端的CD(客户端/数据库)应用系统改造时,客户端到网关申请原文,版本号为1.1。
✧servicetype:服务类型,AuthenService,表示请求的是集中认证服务。
两个节点的内容在报文中固定不变。
3.3.1.2报文体
典型的请求报文体内容如下:
<body>
虹膜定位
<clientInfo>
<clientIP&x.xxx</clientIP>
</clientInfo>
<appId>testApp</appId>
<authen>