« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
| 公告 |
暂无公告... |
Blog信息 |
blog名称:天地无用 日志总数:55 评论数量:43 留言数量:1 访问次数:194155 建立时间:2008年4月17日 |

| |
使用Java实现CA(一)(转) 软件技术
kkk888929 发表于 2008/4/22 14:07:57 |
通过我昨天的文章大家应该已经清楚了,用Java写信息安全方面的程序需要做的准备工作.好了,现在假设你已经是一个对Java语言本身比较熟悉,能够用Java写一些程序的人,并且这些该下载的jar包已经下载好了,可以正式开工了.
在所有的此类程序的开头(无论是在类的构造函数中也好,在初始化函数中也好),都要先来上这么一句:Security.addProvider(new BouncyCastleProvider());将BouncyCaslte的Provider添加到系统中,这样以后系统在运行相关程序的时候调用的就是这个Provider中的加密算法.
然后我们就可以开始开CA了.首先,作为一个CA要有自己的一对公钥和私钥,我们先要生成这么一对.使用KeyPairGenerator对象就可以了,调用KeyPairGenerator.getInstance方法可以根据要生成的密钥类型来产生一个合适的实例,例如常用的RSA,DSA等.然后调用该对象的initialize方法和generateKey |
|
使用Java开发和信息安全相关的程序(转) 软件技术
kkk888929 发表于 2008/4/22 14:07:12 |
这里说的信息安全是相对于系统安全而言的,它更侧重于加密,解密,数字签名,验证,证书等等.而系统安全主要侧重于系统本身是否有安全漏洞,如常见的由于软件设计的不完善而导致的满天飞的缓冲区溢出等等.
Java语言中负责加密功能的部件是JCE(Java Crypto Extenstion),它使用开放式的思想,可以允许用户自己编写加密算法的具体实现的模块等.这些东西被称为JCE Provider,JCE的提供者.SUN公司本身提供了一些Provider.不过我推荐使用Bouncy Castle的Provider.原因是它实现的加密算法多,连比较新的椭圆曲线(ECC)算法都有了.去http://www.bouncycastle.org/可以找到你所希望的.Bouncy Castle除了提供Provider本身以外,还包括了一个S/MIME和一个open pgp 的jar包只有Provider本身是必要的,后两个包是方便你编程而提供的 |
|
密码术基础(续1)(转) 软件技术
kkk888929 发表于 2008/4/21 13:50:51 |
第七章 证实您的身份
■概述 在本章中,我们将讨论数字证书,这是确定消息发送方身份的第二个级别。我们将研究认证中心以及它们所起的作用。我们还将研究密钥、证书资源库和管理工具(keytool 和密钥库(keystore)),并讨论CertPath API —一组被设计用于构建和验证证书路径的函数。
■什么是数字证书? 正如您可能注意到的,什么是数字签名?中描述的数字签名方式有一个问题。它证实消息是由特定的发送方发送的,但我们怎么才能知道发送方 |
|
密码术基础(转) 软件技术
kkk888929 发表于 2008/4/21 13:49:37 |
Java 与系统安全,第一部分:密码术基础
第一章 关于本教程
■本教程是关于什么方面的? 恐怕没有什么软件工程主题的重要性比应用程序安全性更紧迫了。无论是来自内部或外部的攻击都会带来巨大损失,某些攻击会使软件公司对造成的损失承担赔偿责任。随着计算机(尤其是因特网)技术的发展,安全性攻击正在变得越来越成熟和频繁。利用各种最新技术和工具是应用程序安全性的一个关键;另一个关键是由经过考验的技术(如数据加密、认证和授权)构筑的牢固的基础。 Java |
|
密码术基础(续)(转) 软件技术
kkk888929 发表于 2008/4/21 13:47:39 |
第四章 保持消息的机密性
■概述 在本节中,我们将研究私钥加密的使用并主要讨论诸如密码块、填充、序列密码和密码方式之类的概念。我们将迅速地讨论密码算法、类和方法的细节并用代码示例和样本执行来说明这个概念。
■什么是私钥密码术? 消息摘要可以确保消息的完整性,但不能用来确保消息的机密性。要确保机密性,我们需要使用私钥密码术来交换私有消息。 Alice 和Bob 各有一个只有他们两人知道的共享密钥,并且约定使用一种公用密码算法 |
|
Java Cryptographic Extension (JCE) 框架的核心应用(转) 软件技术
kkk888929 发表于 2008/4/17 14:50:20 |
本文简单介绍了JCE框架的核心应用!
javax.crypto.Cipher此类为加密和解密提供密码功能。它构成了 Java Cryptographic Extension (JCE) 框架的核心。为创建 Cipher 对象,应用程序调用 Cipher 的 getInstance 方法并将所请求转换 的名称传递给它。还可以指定提供者的名称(可选)。
转换 是一个字符串,它描述为产生某种输出而在给定的输入上执行的操作(或一组操作)。转换始终包括加密算法的名称(例如,DES),后面可能跟有一个反馈模式和填充方案。
package thtf.com.cn.client;
import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import |
|
|