- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CA认证接口
第三方系统与湖北省烟草 CA系统对接说明
一、 湖北省烟草 CA认证系统简介
湖北省烟草(商业)公司 CA系统是依据中国烟草总公司关于行业
CA 体系建设要求进行建设,并结合湖北省烟草(商业)公司的实际
业务需求,实现基于数字证书的安全管理平台,主要功能包括:用户
接入、用户授权、用户认证、行为审计、流量净化等功能。
湖北省 CA系统中用户认证主要采取两种方式进行处理:
一是基于 VPN的安全网关论证方式;
此认证方式为正常访问认证方式,用户在插入 CA的 USB-KEY后,
用户与安全网关之间建立加密的安全通道(VPN),并通过论证客户
端提供的 API接口获取 CA证书绑定的用户账号和密码,自动进行基
于表单提交的方式,实现用户登录操作。
二是基于 HTTPS的反向代理安全网关的认证方式;
此认证方式为备用认证方式,在第一种认证设备出现问题后才会
启用。用户通过反向代理安全网关,请求使用系统功能或访问系统页
面时,安全网关会要求浏览器提交 CA数字证书信息,安全网关会将
数字证书信息提交到被请求的服务器中,系统获取用户证书信息后,
查询证书对应的用户名,完成系统登录功能。
二、 CA认证接口说明
1. 基于VPN的CA认证接口实现说明
1) CA认证接口示例
a) 引入 CA认证接口
在登录页面的head部分中引入如下内容:
script src=:2/F8AccList.js?app=xxx type=text/javascript/script
script src=:1002/F8AccList.js?app=xxx type=text/javascript/script
其中“xxx” 红色部分为 CA系统为需要集成的第三方系统分配的
系统名称。
b) 实现自动登录脚本
在页面中添加如下代码:
script type=text/javascript
function autoLogin() {
try {
var accounts = F8_GetAccounts();
if(accounts.length==0) {
alert(‘无法找到对应的账号’);
}
var acc = accounts[0];
document.getElementById(‘username’).value = acc[0];
document.getElementById(‘password’).value = acc[1];
document.getElementById(‘loginForm’).submit();
}catch(e) {}
}
/script
c) 运行加载登录脚本
在body标签中加入body onload=”autoLogin();”
2) CA认证接口说明
F8AccList.js的示例内容如下:
var F8_Appaccounts = new Array ();
F8_Appaccounts.push([admin,1]);
function F8_GetAccounts (){return F8_Appaccounts;}
function F8_GetIps (){return adapter ip=0 mask= /;}
其中:
F8_GetAccounts 方法返回客户端证书绑定的系统账号和密码,本
方法返回的为一个数组对象,如果一个证书绑定多个用户账号,则返
回所有的登录账号信息;
F8_GetIps方法返回客户端的真实 IP地址(如系统不需要获取真实
的 IP地址,可忽略该接口);
2. 基于HTTPS反向代理的CA认证接口说明
1) 创建 CA证书与账号的对照表
在数据库中新建 T_S_P_USER_DN表,示例脚本如下:
create table t_s_p_user (user_name varchar(32) not null, user_dn
varchar(200) not null unique, primary key (user_name));
其中 user_name 为用户登录账号,user_dn 为 CA 证书对应的 DN
值。
2) 实现反向自动登录
在系统登录页面或登录的核心处理接口中,实现如下代码片段:
// 从 request的参数中获取 CA的 DN值
String dn=request.getParameter(DN)
if(dn==null || “”.equals(dn)) {
// 从 request的请求头中获取 CA的 DN值
dn = request.getHeader(DN);
if(d
文档评论(0)