博客 | Linux | 论坛 | 人才 | 培训 | 知识库 | 资料 | 读书 | 手册 | 精华 | 下载 | 沙龙 | 搜索
最新动态 | 技术博客 | 技术论坛 | 开发与应用 | RS/P服务器技术 | Linux应用 | 技术白皮书 | AIX认证 | AS400应用论坛
您的位置: AIX > AIX开发与应用 > 正文
Java 安全与AIX
2006-03-05 21:03:49 作者:官方 来自:http://www-900.ibm.com/
 

  本文档提供对AIX上Java 安全组件(component)及其实现的一个简单介绍。适用于AIX版本4.3及更高版本。主要内容包括:

  - Java安全选项

  - 实施安全组件

  - 参考文档

  1. Java安全选项

  在AIX以及其它的操作系统中,是由一些 Java 安全组件负责提供安全服务的。这些组件都是基于一组一致的、设计精良的原理开发的,使其在实现方面具有独立性和互操作性,在算法上具有独立性和可扩展性。这里介绍这些组件中两个最基本的选项,用于在AIX中实现两种不同类型的安全防护:连接防护和应用防护。

  因为这些组件是在一个统一的框架下设计的,配置这些选项的过程是相似的,重要的是知道每种安全类型的适用场景。连接防护主要用于确保多个进程/应用之间的通讯无论在本地还是远程都是安全的,而应用防护主要在需要服务器认证的场合,为那些高风险的应用的下载和运行提供保障!

  连接防护是通过SSL提供的。Java利用JSSE(Java Secure Sockets Extensions)组件提供对SSL的支持。JSSE为封装 Secure Socket Layer(安全套接层,SSL)和 Transport Layer Security(传输层安全,TLS)协议提供了一个标准的Java API,其中包含用于数据加密、服务器身份验证、消息完整性和可选的客户机身份验证的功能。JSSE 用户可以编写标准API,而不用担心底层的SSL/TLS 实现。

  应用程序的安全则主要由JCE(Java Cryptography Extensions)组件来完成,它包含用于各种加密功能的API,这些功能包括加密、密钥交换和 Message Authentication Code(消息身份验证代码,MAC)等。

  JDK1.3.0,1.3.1,以及1.4都提供了JSSE和JCE支持。JDK 1.3这两个功能组件是单独的可安装的,而在JDK 1.4这些功能已经变成了核心代码的一部分。JDK 1.1.8或更早的版本不提供对这些功能的支持。但是,在JDK1.2.2,通过使用WebSphere 有可能实现这些功能。

  2. 实施安全组件

  按下述步骤下载必要的软件,然后实现安全功能:

  (1)访问以下连接,并找到JSSE 和JCE组件或者直接选择JDK1.4 (直接包含这两个组件)

  www.ibm.com/developerworks/java/jdk/

  (2)在下载站点,选择AIX平台下载软件到本地。

  这些组件的文档在安装目录的docs子目录下。例如JDK 1.3.1 的文档缺省情况下在下列目录:

  /usr/java131/docs/jce

  /usr/java131/docs/jsse

  /usr/java131/docs/pkcs

  (3)实现JSSE,编辑 $JAVA_HOME/jre/lib/security/java.security 文件使其包含以下两行:

  security.provider.1=sun.security.provider.Sun

  security.provider.2=com.ibm.jsse.JSSEProvider

  (4)按JSSE文档指示修改Java 应用程序使用JSSE功能。

  (5)实现JCE,编辑JAVA_HOME/jre/lib/security/java.security文件使其包含以下两行:

  security.provider.1=sun.security.provider.Sun

  security.provider.2=com.ibm.crypto.provider.IBMJCE

  (6)下一步,通过一些命令删除(不是重命名)所有JAVA_HOME/jre/

  lib/ext 下的JCA文件:

  # cd JAVA_HOME/jre/lib/ext

  # mkdir JAVA_HOME/jca

  # mv *jca* JAVA_HOME/jca

  (7)使用jarsigner 工具给JAVA应用程序(例如,jar文件)签名:

  # export JAVA_HOME=/usr/java131

  # export PATH=${JAVA_HOME}/jre/bin:${JAVA_HOME}/bin:${PATH}

  # export CLASSPATH=${JAVA_HOME}/lib:${CLASSPATH}

  # export LIBPATH=${JAVA_HOME}/jre/bin:${JAVA_HOME}/

  jre/bin/classic:${LIBPATH}

  (使用javac命令编译应用)

  (然后再用jar命令打包)

  # jarsigner -keystore {your_keystore} -storepass {your_password} \

  -certs -storetype pkcs12jarsigner {your_jar_file} {your_alias}

  这些组件的文档建议使用pkcs12存储类型(storetype)。但是,如果以上命令运行失败,先试一下其他类型,如果使用其它存储类型也失败,可能需要JCE 1.2.1。这个版本的JCE修复了一个SUN在jarsigner上的一个缺陷,使其能和IBM的JCE 共同工作。最后,测试这个应用程序,可以创建一个引用Jar文件的HTML文档,然后使用浏览器经由服务器访问这个文档。

  3. 参考文档

  JSSE 参考指南:

  http://www-128.ibm.com/developerworks/java/jdk/security/

  142/secguides/jssedocs/JSSERefGuide.html

  JSSE 应用举例:

  http://www-128.ibm.com/developerworks/java/jdk/security/142/

  secguides/jsse2docs/jsse2docs_samples.zip

  JCE 规范

  

  >www-128.ibm.com/developerworks/java/jdk/security/

  142/secguides/jceDocs/CryptoSpec.html

  



原文链接:http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=2811995D25000
本文被浏览

AIX交流区】【AIX博客】【关闭
 
相关文章

 
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 免费注册

Copyright © 2001-2006 ChinaUnix.net All Rights Reserved
感谢所有关心和支持过ChinaUnix的朋友们
京 ICP 证041476号