??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]> FileInputStream in = new FileInputStream(Path +"RGCA.keystore");
2 KeyStore ks = KeyStore.getInstance("JKS");
3 ks.load(in, pwd.toCharArray());
4 Certificate certificate = ks.getCertificate(alias);
5 System.out.println("从证书库中取?"+RadiusUtil.getHexString(certificate.getEncoded()));
6 System.out.println("从证书库中取得PublicKeyQ?/span>"+RadiusUtil.getHexString(certificate.getPublicKey().getEncoded()));
7 X509Certificate x = (X509Certificate)certificate;
8 System.out.println("从证书库中取得SignatureQ?/span>"+RadiusUtil.getHexString(x.getSignature()));
9 PrivateKey caprk = (PrivateKey)ks.getKey(alias, pwd.toCharArray());
10 System.out.println("U钥:"+RadiusUtil.getHexString(caprk.getEncoded()));
]]>
MSCHAP方式?首先服务器发一个challengel用?用户向RADIUS发一个用MD4加密?password,challenge)lRADIUS(叫response),radius的MSCHAP模块向LDAP询问NTPASSWORD,然后自己再用challenge和NTPASSWORD,来计一个response,两个response相比较完成验?如果LDAP无法l出NTPASSWORD或送出SHA加密的NTPASSWORD,MS-CHAP无法验证了.唯一可行的办法是把LDAP的SCHEMA中加入NTPASSWORD?q明文存?才能满MS-CHAP的要?
PEAP-MSCHAPV2程Q?
1、创Z个连接后QAP发送一个EAP-Request/Identity消息l客L(fng)?br /> 2、客L(fng)回复一个EAP-Response/Identity消息Q包含客L(fng)的标识,通常是名字?br /> 3、AP把这个消息传递给Radius服务器。从现在开始,逻辑通信׃Radius服务器到无线客户端了QAP,AC是一个中介设备?br /> 4、Radius服务器发送一个EAP-Request/Start PEAP消息l客L(fng)?br /> 5、无U客L(fng)和Radius服务器发送一pd的TLS消息通过协商建立的隧道。Raiuds服务器发送一个证书链让客L(fng)认证。最后,Radius服务器已l认证了无线客户端。两端都军_使用的加密信息?br /> 在PEAP TLS隧道创徏后,采用MS-CHAPV2认证?br /> 6、Radius服务器发送一个EAP-Request/Identity消息?br /> 7、无U客L(fng)发送一个EAP-Response/Identity 消息Q消息包用户名?br /> 8、Radius服务器发送一个EAP-Request/EAP-MS-CHAP-V2挑战消息Q包含挑战字W串?br /> 9、无U客L(fng)回复一个EAP-Response/EAP-MS-CHAPV2回复消息Q包含对q个挑战的应{和一个自q挑战?br /> 10、Radius服务器发送一个EAP-Request/EAP-MS-CHAPV2成功的消息,指出无线客户端的回应是正的Q且包含无线客户端的挑战字符丌Ӏ?br /> 11、无U客L(fng)回应一个EAP-Response/EAP-MS-CHAPV2的ACK消息Q指CRadius服务器的回应消息是正的?br /> 12、Radius服务器发送一个EAP-Success消息?/p>
EAP -TLS是一个IETF标准。TLS即传输层安全QTransport Layer SecurityQ,也称为SSL。它原本是一U传输层的安全协议,主要实现两个功能Qn份鉴别与信息加密。TLS可实现基于证书的单向w䆾鉴别Q只鉴别服务器)和双向n份鉴别(同时鉴别客户端与服务器)。TLS在完成n份鉴别的同时Q还交换密钥信息Q通过密钥信息可导Z话密钥用于信息加密?br />需要指出的是,在这里TLSq不是作Z个安全传输层协议跑在TCP/IP层之上,而是TLS的Handshake Record直接嵌套在EAP数据包中Q作为EAP Request/Response的数据来传送,通过TLS的Handshake Record完成单向或双向的w䆾鉴别。EAPQTLS只利用了TLS的n份鉴别功能,q没有利用TLS建立的加密通道?br />Z能够q一步利?TLS建立的安全通道交换EAPw䆾鉴别信息QIETF随后出台了PEAPQProtected EAP ProtocolQ标准草案。PEAP不但通过EAP Request/Response数据包传送TLS的Handshake Record完成w䆾鉴别Qƈ且完成n份鉴别后q一步通过TLS的Data Record再传送EAPw䆾鉴别协议?/p>
对于密钥Q?br />der “专有编码规则”文件?der 文g包含证书的二q制表示Q包含其公共密钥Q但不包含其专用密钥。它?.arm 文g非常怼Q除了表C是二进制的Q而非 ASCII?
.p12 "PKCS 12" 文gQ其?PKCS 代表“公共密钥密码术标准 (Public-Key CryptographyStandards)”?p12 文g包含证书的二q制表示Q包含其公共密钥和专用密钥。一?.p12 文g中也可能包含多个证书Q例如,证书、发书的 CA 的证书、CA 证书的发以及他的发等{。因?.p12 文g包含专用密钥Q它是受口o保护的?br />
2006q??8?JavaEE? 范专家组全票通过JavaEE5规范?月,最新的JavaEE的规范可以从q里下蝲到。在J2EE1.4发布1q半之后,Java企业开发技术的业界? 准终于又向前跨了一大步。我说的q一大步不仅仅是名字从J2EE到JavaEE的变化,? 不是单把版本?.4升?。应该说QJavaEE5的发布把Java技术在企业开发的业界标准又推向一个新的高度,对一些重要的规范都本质的改动?/p>
JavaEE5规范最主要的目的就是简化开?提高开发的效率.同时,随着JavaEE规范变得逐渐庞大QJavaEE5对已有的子规范进行了pȝ的分 c?分别包括:企业应用、Web应用、Web服务和管理四个方面,如此分类让开发h员更加清晎ͼ更容易选择相关规范q行学习(fn).
JavaEE5主要的新特征包括:
?EJB规范
EJB规范在保证向后兼Ҏ(gu)的同时,做了较大的改?EJB规范的版本从2.1升?.0,在版本升U的背后包含了如下的显著特征:EJB成ؓ轻量U? ?POJO,可以q容器q行和测?EJB3.0中引入的持久化规范可以脱JavaEEq行环境,单独q行在标准的Java应用E序? q也是对Java持久化规范的一个重大A(ch)?我的同事Wynne Wang写了一关于EJB3.0的BlogQ里面详l介l了其新Ҏ(gu)?/p>
?Web层规?/p>
引入了Java Server Faces(JSF) 1.2和Java Server Pages Standard Tag Library 1.2.在传l的JSP和Servlet的基之上Q这两个规范的引入也大大简化Web层或者说是展现层的开发,其中包括通用的组件、流E控制等?/p>
?标注(Annotation)的?/p>
标注(Annotation)是JavaSE5在Java语言上的一个重大变化,JavaEE5大量使用了标注。标注的使用可以化JavaEE应用E? ?的发布过E,使得开发h员可以从代码和发布文件的同步中解脱出?同时Q标注也可以大大化应用程序中资源(例如:JDBC ConnectionQEJBq程接口)的查找过E,使得开发h员不用过多考虑pȝ环境的问题,专注于业务的开发?/p>
值得一提的是,不可 否认QJava企业开发技术的业界标准也吸收了很多大家耳熟能详的框架的设计思想(包括Hibernate, Spring, Toplink和JDO{等)Q例如,Hibernate的创始hGavin King是EJB3.0规范的专家成员之一。我想从q一点也可以看出JavaEE的业界标准是一个开攄标准?/p>
Glassfish---Sun开源JavaEE应用服务?/strong>
Sun公司不仅仅是开发规范制定的领导者,同时也在规范的实现和推广上也做了很大的努力和贡献。从JavaEE参考实现到产品U别的应用服务器(Sun Java System Application Server)QSun都一套完整的产品Uѝ?/p>
2005q??JavaOne大会上Sun开始了GlassFish目。GlassFish目使用CDDL规范.开发者可以查看、用、修改和发布Glassfish的代码?/p>
Sun公司把其商用应用服务器的代码贡献到GlassFish目?Oracle也A(ch)献了Toplink的代码实现EJB的持久化功能。在正在开发中 Glassfish V2版本中,q将包括集群{特性? 虽然知道Glassfish的开发h员不是很多,但是我想Q就象Sun的另一个开源品NetBeansJavaIDE工具一P在不久的来一定会有越 来越多的Z用Glassfish!
如果(zhn)还在犹豫,可以看看q篇Blog:Why to use Glassfish? 怿你看后一定会跃跃Ʋ试?/p>
让我们跟上时代的步伐Q不要成为JavaEE5的淘汰?