通向架构师的道路 第十四天 Axis2 Web Service安全之rampart

一、加密保护我们的web service传输

在上一天的教程中,我们讲了一个简单的基于” security-constraint”的以指定用户名和密码来保护一个Web Service以及 如何用https对这个web service的通讯过程进行保护。虽然它用https来进行保护了,但是我们抛开https,这个web service之 间传输的用户名,密码,数据都是明文的。

在我之间教程中曾经提到过,有一种黑客工具叫作sniffer,或者使用MIM-ATTACK(中间件拦截)的方式,也是可以把客户端 的流拦截住并且发往黑客主机的,这样我们的用户名和密码就可以被黑客所获取了。

因此,今天我们要讲述的就是如何在web service传输时,使得这个用户名和密码以及相关数据也能被加密。

二、基本概念

我们先来看基本概念,这个基本概念将涉及到PKI的相关领域,请仔细看完这一章,要不然后面你将云里 雾里然后我劝你从头来过,我将参照麻省理工大学的教程-RSA公司出版的“计算机加密与解密原理”,用最实际的例子和最简化 的语言把PKI中最重要的几个概念给大家说清楚。

这次应该是我们第三次要求生成证书请求,证书,签名了,挺折腾的!!!

不折腾你们不行,我要把大家折腾的蛋疼,这次折腾过后就彻底明白了。

被折腾着,痛苦着并最后快活着,好了我废话又多了,下面开始。

2.1 加密解密的基本概念

我们的加密解密分两种:

1) 对称加密(Symmetric Cipher)

2) 非对称加密(Asymmetric Cipher)

2.1.1 对称加密

即采用一个密码(密钥)来对一串String进行解密,同样这个密码(密钥)也能对被加密的密文进行解密,至始至终只有一 个密码(密钥),因此它叫做对称加密。

2.1.2 非对称加密

这个是最重要的概念之一

我们知道,对称加密只有一把密钥(你可以把这个密钥看成一个密码)。而非对称加密呢?它有2把密钥,

l 一把我们称为私钥即privatekey,一把私钥可以对应着无数把公钥,公钥是可以“散播”的。

l 一把我们称为公钥即publickey,一堆公钥只能对应着仅有的一把私钥,私钥是绝对不可以“散播”的。

这两把密钥在产生时是被一起产生的,相当于同年同月生一样,即生成私钥时也伴随着生成了公钥。

下面公式来了:

公钥加密,私钥解密

大家试想一下哈,我有两把钥匙,一把是用来专门锁门的(加密),一把是专门用来开门的(解密)。那么我用来锁门的那 把key掉了,被其它人捡到了,要不要紧?大不了别人可以锁我家的门。

但是,如果我用来开门的这么key掉了?怎么办?被人捡到了人家就可以开我家的门进我家了。

因此,公钥永远被用来加密,可以有多把被多人持有,而私钥永远用来解密且只能主人自己拥有。

公钥加密,私钥解密!老老记住,这是永远的公式,也是真理!

时间: 2024-08-30 19:18:56

通向架构师的道路 第十四天 Axis2 Web Service安全之rampart的相关文章

通向架构师的道路 第二十四天 Oracle性能调优(下)

4.4 Oracle表空间管理 Oracle的表空间文件都放在$ORACLE_HOME/oradata如/opt/oracle/product/10/oradata这样的目录中的 Oracle的表空间支持"热插拨" 即在Oracle运行时发觉表空间不够时可以直接打开Oracle的管理界面来动态给它划一块硬盘空间,或者甚至你又装了一块硬 盘进服务后,Oracle可以把表空间在运行时扩展到新插入的磁盘中.

通向架构师的道路 第二十四天 Oracle性能调优(上)

前言 这次,我们将在Linux下来动手完成Oracle数据库的安装与使用. Oracle本身是可以免费下载的包括 它 的企业版以及被它收购的Weblogic和Sun中的几乎任何东西你都可以拿来下载和使用,不像IBM和Tibco一些其它厂商,只有"试 用版"给你下载,Oracle的东西没有时间限制,你拿来做练习,搭实验环境都是没有任何的问题的. 但是,如果你出了 问题,需要用到Oracle的补丁或者是Oracle的技术支持,这就开始收费. Oracle就是这种"卖Service

通向架构师的道路 第二十五天 SSH的单元测试与dbunit的整合(下)

3.4使用框架 我们准备两份测试用数据 test_del_table.xml文件 <?xml version="1.0" encoding="UTF-8"?> <Tables> <table>t_student</table> </Tables> test_insert_table.xml文件 <?xml version="1.0" encoding="UTF-8&quo

通向架构师的道路 第二十六天 漫谈架构与设计文档的写作技巧

前言: 这篇是一篇番外篇,没有太多代码与逻辑,完全是一种"软"技巧,但是它对于你如何成为一名合构的架构设 计人员很重要. 在此要澄清一点,架构师本身也是"程序员",不是光动嘴皮子的家伙们,如果你不是一名程序虽出身 那你根本谈不上也不可能成为一名架构师. 那么架构师还有哪些是作为一名程序员来说不具备的呢? 其中有一项 能力就叫做"文档写作能力". 一.Soft Skill与Hard Skill 作为一名架构师除了是一名资深的程序员外,它还 必须具有

通向架构师的道路 第十五天 IBM Websphere的安装与优化 (二)

5.3 在WAS内布署应用 一般我们使用ear格式在WAS内布署我们的web应用,因此此处和weblogic, tomcat稍稍有点不一样. 为此,我们做了一个ant脚本用于打包我们的ear. 一个ear文件的格式应该如下: myEAR |__ META-INF    |__application.xml |__myWAR.war 可以看到,一个ear文件: 包含一个META-INF目录,在该目录下会有一个application.xml文件. 然后和META-INF目录同级的地方会有一个.war

通向架构师的道路(第四天)之Tomcat性能调优-让小猫飞奔

一.总结前一天的学习 从"第三天"的性能测试一节中,我们得知了决定性能测试的几个重要指标,它们是: ü   吞吐量 ü   Responsetime ü   Cpuload ü   MemoryUsage 我们也在第三天的学习中对Apache做过了一定的优化,使其最优化上述4大核心指标的读数,那么我们的Apache调优了,我们的Tomcat也作些相应的调整,当完成今的课程后,到时你的"小猫"到时真的会"飞"起来的,所以请用心看完,这篇文章一方面用

通向架构师的道路 第十九天 使用maven构建Spring工程

一.前言 上次大家拿了我上传的工程后,有些人自己通过spring3,struts1.3,hibernate3的download的包自行去装配jar包到工程的 WEB-INF\lib目录下.有些是通过我上传的alpha_lib包把里面的jar文件一股脑的copy到了工程的WEB-INF\lib目录下去. 有时经常还会发生少包了,ClassNotFound这样的错误,或者是一些因为缺包还引起的各种莫名奇妙的错误,呵呵,是不是够 折腾的啊? 尝过苦头了,才知道幸苦!那么我们有没有一种更好的方式,比如说

通向架构师的道路 第十六天 IBM Websphere与IBM HttpServer的集成

一.IBMWebsphere与IBMHttpServer IBM WebSphere非常强大,几乎可以和任何主流Web服务器集成.其原理和Weblogic与Apache以及tomcat与Apache的集成原理一 致,也是以plug-in(插件)的方式来做应用的. 不过我们今天要介绍的是IBM自带的HttpServer,又称IHS. IHS其实就是一个Apache,IBM拿了Apache过来进行了改造,使得它可以和它的WAS系列产品紧密结合并且可以通过WAS的Admin Console对它进行可视

通向架构师的道路 第十五天 IBM Websphere的安装与优化 (一)

一.IBMWebsphere 02年开始接触EJB1.x时,当时有一本巨肥厚无比的书叫作"ejb从入门到精通(master ejb2.0)",红皮的,wrox公司出版的. 该书带有1张光盘,光盘里有3个App Server. 1. Jboss2.2.1 2. Weblogic6.1 3. IBM Websphere ApplicationServer5.x 从那时起开始知道,哦,原来这3大厂商是做j2ee容器的.果然,时至今日这三大容器还是处于世界上无可争议的地位. 因此,我们前面讲了