Java Web 服务: Axis2 WS-Security 签名和加密
2009-11-05 00:00:00 来源:WEB开发网除了这里描述的基本内容外,数字证书还涉及到很多其他内容,包括由于发生错误或泄漏私有密匙而需要撤回发出的证书,证书的有效期限,以及指定证书既定用途的扩展。还可以查阅文档,获得 JDK 安装中附带的 keytool 安全工具。keytool 文档很好地介绍了证书结构和处理,以及 keystores(稍后讨论)和其他安全性内容。您还将在本文后面看到一个使用 keytool 的示例。
Keystores
大多数 Java 安全代码都使用 keystore 来处理私有密匙和数字证书。一个 keystore 实际上就是一个以加密形式包含密匙和证书条目的文件。需要使用密码才能访问 keystore。keystore 中的每个私有密匙会被再一次加密,需要额外的密码才能保持密匙的安全性。使用 keystore 和私有密匙的任何软件都需要在运行时保持 keystore 和私有密匙密码可用。这限制了由这些密码提供的安全性(因为任何访问源代码的人都可以了解到密码的载入方式)。因此您需要维护在其中托管了软件以及任何系统备份的系统的物理安全性。并且,要保护私有密匙的安全性,只能将 keystore 和密码放到该系统和系统备份中。
秘密密匙和对称加密
尽管使用非对称加密的公开密匙加密构成了许多有用 WS-Security 特性的基础,但是老式的秘密密匙加密仍然发挥着重要的作用。要实现相同程度的保护,非对称加密算法往往要比基于秘密密匙(同一个密匙同时用于加密和解密,意味着这个密匙必须始终保密)的对称算法涉及更多的计算量。由于这个原因,经常将这两种技术结合使用:高开销的非对称加密用于保障秘密密匙交换的安全性,秘密密匙然后又可用于低开销的对称加密。本文后面介绍 WS-Security 消息加密时,您将看到一个这样的示例。
设置
更多精彩
赞助商链接