网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.GEF-ALL-3.1.
.Borland将出售IDE,包括Delphi和J.
..Net和Java应融合.
.将 Java 应用程序迁移到 .NET(1).
.java 基础入门 pom.xml 元素描述.
.exp 方法.
.Javax.servlet API的特征.
.Java中利用Reflection API优化代.
.Eclipse基础:Java环境变量设置(图.
.Eclipse入门使用指南及开发Eclip.
.详细介绍声音处理.
.Java编程基础中模式和框架的介绍.
.破除java神话之(二):参数是传.
.java设计模式之Chain of Respons.
.我的java学习经验谈1.
.进入Harmony 世界,类库开发最佳.
.深入浅出Java设计之备忘录模式.
.JAVA中的数组研究.
.JBuilder2005实现重构之升级到JD.
.设计 FileSystemObject.

往JDK里加入一个安全提供者以获取算法

发表日期:2008-1-5


 


默认情况下,Java包装有两个安全的提供者,SUN version 1.2 and SunRsaSign version 1.0. 前一个包含了一组算法,主要是“安全哈希算法”(SHE) 数字签名算法(DSA)和Java Key Store (JKS).


下面是一个简单程序。

import java.security.Provider;

import java.security.Security;

import java.util.Enumeration;



// List Security Providers and their Algorithms.

public class Providers {



static public void main(String[ ] args) {

Provider[ ] ps = Security.getProviders();

for(int i=0; i

System.out.println(""+ps[i]);

Enumeration enum = ps[i].keys( );

while(enum.hasMoreElements( )) {

System.out.println("
"+enum.nextElement( ));

}

)

)

)
输出如下:
SUN version 1.2
Alg.Alias.KeyFactory.1.2.840.10040.4.1
Alg.Alias.Signature.1.2.840.10040.4.3
Alg.Alias.KeyPairGenerator.OID.1.2.840.10040.4.1
Signature.SHA1withDSA KeySize
Signature.SHA1withDSA ImplementedIn
........ more algortihms ....
SecureRandom.SHA1PRNG ImplementedIn
Alg.Alias.Signature.SHA-1/DSA
AlgorithmParameterGenerator.DSA KeySize
SunRsaSign version 1.0
KeyFactory.RSA
Signature.MD5withRSA
Signature.SHA1withRSA
Signature.MD2withRSA
KeyPairGenerator.RSA
添加新的安全提供者是有可能的,但是依照加密技术规定的输入、输出原则,使用oBTaining算法必须小心。

Java CryptographyExtensions (JCE) 是一个拥有更多算法的供给包的例子。要安装JCE,把JAR或者zip文件放到classpath里面。然后安装JRE/JDK并修改一个叫做java.sercurity的文件,这个文件在'$JAVAHOME/lib/security'目录下。这个文件包含一些不同的安全设置,譬如提供者列表。

下面就是jdk1.3的提供者列表
security.provider.1=sun.security.provider.Sun
security.provider.2=com.sun.rsajca.Provider
要把国际化的JCE加进去,只需要加上如下语句:
security.provider.3=au.net.aba.crypto.provider.ABAProvider
下次你运行Provider类时,一整个新的算法将会在ABA provider下得到。







上一篇:全面保护你的Java程序安全 人气:784
下一篇:JAVA-CGI HowTo 人气:640
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐