![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
公钥体系
文章平均质量分 83
qiemengdao
这个作者很懒,什么都没留下…
展开
-
安全领域的一些概念
对称密钥/非对称密钥/key/ciphersymmetric cipher对称密钥:使用相同的密钥进行加密和解密,速度很快Asymmetric Cipher:非对称密钥:使用公钥加密,私钥解密,速度很慢 key和cipher的区别:可以把cipher看成一台机器,它需要插入一个key才可以工作,可以从一端A插入明文,另一端B输出密文,或者从B插入密文,从A输出明文。 实际...原创 2012-10-05 16:41:38 · 212 阅读 · 0 评论 -
java编程方式生成CA证书
下面是java编程方式生成CA证书的代码,使用的是BC的provider。生成CA证书与生成普通证书的区别是:1,生成CA证书时,issuer和subject一致;2,在ContentSigner.build()的时候(签名的时候)使用的是与待签名公钥相应的私钥。下面代码,CA生成以后把私钥和证书一起以一个key entry的方式存入一个jks文件。 static { Sec...原创 2012-10-05 17:28:08 · 2120 阅读 · 0 评论 -
java编程方式用CA给证书进行签名/签发证书
这些代码首先加载CA证书,然后分别用CA给Alice和Bob签发一个证书并保存到resource/目录下面,用jks格式存储。CA证书也是用java编程方式制作的,制作过程请看我的上一篇博客。 public static void main(String[] args) throws KeyStoreException, NoSuchAlgorithmException, Ce...原创 2012-10-05 18:02:09 · 656 阅读 · 0 评论 -
java-在非安全网络上建立可信任安全的通道(1/3)
看到标题,几乎所有人都会想到SSL,但SSL比较重量级,我想做的是只利用java的JCE体系(不是JSSE)在非安全网络环境下建立起一个可信任的、安全的通道。 所以这篇博文包括两个主题:可信任和安全。这一节只考虑如何交互密钥。下一节(2/3)讨论如何建立信任关系,并在可信关系上交换密钥(防止中间人攻击)。 非对称密钥不适合做通道加密,通道加密必然使用...原创 2012-10-05 18:46:04 · 90 阅读 · 0 评论 -
java-在非安全网络上建立可信任安全的通道(2/3)
在不安全的网络环境下进行密钥交互(1/3,前面那一节),容易遭受中间人攻击,什么是中间人攻击,请google it。 通信的双方必须是相互信任的,在这个基础上再进行密钥协商才是可靠的。那么,如何建立信任关系呢? 我以前的几篇博文介绍了用如何 用 Java编程方式生成CA证书 以及用CA证书签发客户证书。 现在假设,Alice和Bob的证书都是被同一个CA atlas签发的...原创 2012-10-05 19:19:42 · 104 阅读 · 0 评论