一个简单的CA认证例子

原创 2006年06月18日 13:00:00
日期
200581
作者
gauss
类型
安全认证
内容
系统如何应用集中认证
系统如何应用集中认证
一、        标签二应用集中认证的流程:
二、        制作认证服务器的流程(以下生成过程均在websphere6.0下进行的)
1.        开始所用程序—IBM Http Server—启动密钥管理实用程序
进入IKeyMan 如图:
2.        点击“密钥数据文件/新建”,选择密钥类型为CMS
3.        生成服务器私钥
点击确定,即如下一个界面
输入密码,选择“将密码存储到文件吗?”,单击确定
选择“密钥数据库内容”中下拉选项中的“个人证书请求”,点击新建生成证书请求文件
输入相关信息,保存。
4.        提交证书请求文件至CA生成服务器证书将生成的certreq.arm放送给信诚通,生成服务器证书。
5.        选择签署人证书选项,导入CA根证书选择签署人证书选项添加
浏览选择根证书,单击确定
6.        选择“个人证书”选项,导入CA颁发的证书选择“个人证书”选项接收
浏览选择由信诚通颁发的服务器证书。单击确定
完成了服务器证书的制作。
三、        配置SSL
1.         修改IBMHttpServer/conf/httpd.conf文件,在最下面增加:
LoadModule ibm_ssl_module modules/IBMModuleSSL128.dll
Listen 80
Listen 443
Keyfile F:/NEW/key.kdb
SSLDisable
SSLV2Timeout 100
SSLV3Timeout 1000
<VirtualHost *:80>
ServerName netsoft-4d52657
</VirtualHost>
<VirtualHost *:443>
ServerName netsoft-4d52657
SSLEnable
SSLClientAuth optional
</VirtualHost>
注意密钥文件是刚才通过ikeyman工具生成的密钥文件,服务名为主机名(底色为黄色部分是要根据实际情况要修改的)
2.         配置文件的正确与否可通过bin/apachectl configtest进行测试
3.         使用bin/startServer.sh命令启动websphere
4.         IE内键入http://主机域名:9090/admin,使用root用户登录管理控制台
5.         点击环境/虚拟主机,选择default_host,进入“主机别名”选项,增加443端口。
6.         点击“环境/更新WEB服务器插件”,点击确定更新插件
7.         重启websphere,然后使用apachecrl start启动IBMHttpServer服务器
8.         在客户端IE地址栏内键入https://主机域名/snoop,测试SSL配置是否正确
四、        客户端个人证书
              到信诚通的网站上面下载个人证书申请表,填写完相关内容后发送给信诚通相关人       员,制作证书,我们在测试集中认证的时候采用的是软证书。附带有一个我申请的人证    书。
五、        安装认证页面
1.  拷贝以下文件至%WebSphere%/java/jre/lib/ext目录下(这些jar包均在所附的lib里面)
comm.jar
jCert.jar
js.jar
local_policy.jar
rt.jar
US_export_poliyc.jar
Am.jar
Jce1_2_2.jar
Jnet.jar
Jsse.jar
Poolman.jar
Sunjce_provider.jar
2.  拷贝cacerts%WebSpere%/java/jre/security(没有找到我想应该是:%WebSpere%/java/jre/lib/security
3.  修改%WebSpere%/java/jre/security/java.security文件(没有找到我想应该是:%WebSpere%/java/jre/lib/security/java.security,添加security.provider.n=sun.security.provider.Sun,其中n根据文件中原有的JCE priovide数量确定
4.  拷贝asaservice.property文件至%WebSpere%/property目录,并根据实际的部署环境修改文件(参数说明另附说明文件)
5.  发布auth.war,虚拟目录定为auth
auth.war的作用就是通过调用https://主机域名/default.jsp?id=labelid=label,就是转发的一个标志,具体定义,参考参数的说明)来读取客户端的个人证书信息并连接认证服务器进行验证,产生tokenID,然后将tokenID放到客户端的cookie中,并转发到相应的页面,其中这个页面是在asaserver.property所定义的。
6.  重启WebSphere
六、        安装认证系统需配置的参数(asaserver.property文件中所定义的
1.  :登录失败后显示的网页地址;(我们应当设置为系统的首页面)LOGIN_FAILURE
2.  tokenid的生存时间,单位为秒,-1表示关闭当前浏览器后清除;MAXAGE
3.  :登录后需要访问的应用系统的域,auth.war部署所在电脑的域名。DOMAIN
4.  default.jsp需放在同一虚拟目录下。ASAService.jsp
5.  为首页传至认证网页的参数名。例如现在我们用id,当然也可以设置为其它。PROPNAME
6.  为认证服务器的IPHOSTS
7.  定义参数值和实际网址的映射关系
如:label=http://主机域名:9080/LabelWeb/
在本系统中我们需要定义一下参数和实际网址的映射关系,
eplat= http://主机域名:9080/ePlatformTestWeb/login.jsp
七、     部署Label.ear,参考文档《Label的部署》
八、     安装客户端个人证书
双击个人证书:XXXXXXX XXX
一路“下一步”直到完成
九、     登录项目:
1、                 登录系统主页面:通过urlhttp://主机域名:9080/ePlatformTestWeb/
登录。出现如下页面
2、                 进入系统
         根据你的用户类型来选择不同的登录入口,如上图,在主页面上提供了三个不同的系统入口,受理机构用户,企业登录,企业注册。我们不妨假设以受理机构的身份登录,点击“受理机构登录”的图片。
弹出页面:
确定
选择是
注:auth.war项目连接认证服务器对证书进行验证,若通过,测转发到标签系统的不同用户系统的主页面;由于我们这边配置有些问题,当auth.war项目执行到String tokenID = Login.auth(clientID,request.getRemoteAddr());系统出错,这个问题一直没有解决;然后我们采用信诚通的认证服务器,且auth.war部署在他们那边,通过信诚通提供的入口https://demo.itownet.cn/auth/default.jsp?id=itown11,虽然证书通过了验证且转发到了对应的页面,但是没有得到tokenID,与信诚通沟通交流后,还是没有解决这个问题,估计是域名的设置有问题。若采用他们的认证服务器,可以就这个问题继续与信诚通方面交涉。在我们作开发的时候,我修改了auth.war包,经证书的合法性验证方法修改了,不是通过认证服务器对证书进行验证,而是直接根据信诚通的根证书,对个人证书进行验证,通过根证书来验证个人证书是否是由这个根证书所签署,且有效期是否有效等等。验证通过后,将个人证书的信息放入到cookie中,而在系统调用信诚通提供的接口对用户进行二次验证的时候,我们注销了这个方法,而是采用一种变通的方法。就是若cookie中含有认证后的信息,就可以直接登录系统,若没有则返回系统的主页面。当然这种方法有着很大的缺陷,但这仅仅是我们应用在系统的开发阶段。真正具体到实际应用的时候,我们只需要将loginAction中调用信诚通提供的接口的地方取消注销就是,其它地方不要修改。
  采用我们的模式,在上图点击是以后,会出现如下页面
说明:
ePlatformTestWeb是我自己应用《电子平台的J2EE安全体系》做的一个测试项目,只是为电子平台系统的框架构建提供一个参考。

CA认证简单介绍与工作流程

CA工作原理      数字安全证书利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本...
  • cnh294141800
  • cnh294141800
  • 2014年05月07日 20:25
  • 1623

CA认证简单介绍和工作流程

CA是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。。 ...
  • a351945755
  • a351945755
  • 2014年03月26日 00:39
  • 3532

CA服务器开开发(二)---UsbKey认证 服务端

认证过程为,服务端生成一个随机数(认证原文),CA服务器中使用用户的证书里面的公钥进行加密这个随机数,然后用户收到这个加密后的随机数后使用usbkey里面的私钥来解密出认证原文,然后将原文发送到服务端...
  • xugangjava
  • xugangjava
  • 2013年09月02日 16:37
  • 4179

CA认证原理以及实现(下)

在上述的文章后了解到原理之后,我们这篇文章来进行CA的搭建。 OPEN SSL 环境搭建 在基础原理中我们提到了两种认证服务,单项认证服务和双向认证服务,我们就以双向认证服务举例说明。 ...
  • lujiancs
  • lujiancs
  • 2014年08月11日 09:32
  • 1514

【实战-Linux】--搭建CA认证中心实现https取证

环境 CA认证中心服务端:xuegod63.cn IP:192.168.1.63           客户端:xuegod64.cn IP:192.168.1.64 CA认证中心简述 ...
  • qq_31666147
  • qq_31666147
  • 2016年11月02日 19:43
  • 2242

java编程模式用CA给证书进行签名/签发证书

from http://www.myexception.cn/program/822758.html ava编程方式用CA给证书进行签名/签发证书 这些代码首先加载CA证书,然后分别用CA...
  • u010820135
  • u010820135
  • 2016年09月07日 23:09
  • 1555

CA认证原理以及实现(上)

CA认证原理以及实现(上) 博客分类: 应用架构   原理基础 数字证书为发布公钥提供了一种简便的途径,其数字证书则成为加密算法以及公钥的载体,依靠数字证书,我们可以构...
  • lujiancs
  • lujiancs
  • 2014年08月11日 09:29
  • 2770

https中的数字证书认证过程解析

RSA非对称加密的2个用途:加密(防窃听) RSA非对称加密会用到一对密钥,分别称为公钥和私钥,公钥加密之后的数据可以通过私钥来进行解密,私钥加密的数据也同样可以用对应的公钥进行解密。在web数据...
  • jb_peng
  • jb_peng
  • 2016年06月30日 17:09
  • 3037

openssl之数字证书签名,CA认证原理及详细操作

http://blog.sina.com.cn/s/blog_cfee55a70102wn3h.html openssl之数字证书签名,CA认证原理及详细操作   (2016-03-...
  • u013322876
  • u013322876
  • 2017年07月02日 21:46
  • 730

CA认证实现https访问

1.实验概念: 在我们访问一些金融等安全性较高网站时,都不再是普通的http连接,而是https连接,这个s就代表这个通讯是加密的,这是就需要CA机构来颁布数字证书来验证WEB服务器的正确性。这个数字...
  • wangquannetwork
  • wangquannetwork
  • 2015年05月29日 01:49
  • 5266
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个简单的CA认证例子
举报原因:
原因补充:

(最多只允许输入30个字)