XML 数字签名

XML 签名语法和处理(XML 数字签名)是定义 XML 语法和处理规则以签署和验证数字内容的数字签名的规范。该规范由万维网联合组织(W3C)和因特网工程任务组织(IETF)共同开发。

XML 数字签名没有引入新的密码算法。WebSphere® Application Server 将 XML 数字签名与现有算法(如 RSA、HMAC 和 SHA1)配合使用。XML 签名定义许多用于描述密钥信息的方法并启用新方法的定义。

当您使用 XML 签名时,经常需要 XML 规范化(c14n)。 在已序列化的 XML 文档中可用各种方法表示信息。例如,尽管以下示例的八位字节表示法是不同的,但它们是等同的:

C14n 是用于规范化 XML 信息的进程。要选择适当的 c14n 算法,因为规范化的信息取决于此算法。 c14n 的一个主要算法,即互斥 XML 规范化,它规范化字符编码方案、属性顺序、名称空间声明等等。该算法不规范化标记外的空白、名称空间前缀或数据类型表示法。

Web Service 安全性核心规范中的 XML 签名

Web Service 安全性核心(WSS-Core)规范定义将简单对象访问协议(SOAP)消息合并到 XML 签名的标准方法。在 WSS-Core 中,您几乎可使用除被包络签名和包络签名之外的所有 XML 签名的功能。但是,WSS-Core 有一些建议(如 c14n 的互斥规范化算法)和一些其他的功能,如 SecurityTokenReferenceKeyIdentifierKeyIdentifier 是 X.509 证书中 SubjectKeyIdentifier 字段的值。有关 KeyIdentifier 的更多信息,请参阅 OASIS Web Service 安全性 X.509 证书令牌概要文件文档中的“对主题密钥标识的引用”。

通过在 SOAP 消息中包含 XML 签名,实现以下几点:
消息完整性
消息接收方可以确认在密钥签署这些消息部件后,攻击者或事故没有改变这些部件。
认证
您可假设有效签名为所有权证明。一条消息如果具有由认证中心发放的数字证书,并且该证书中的公用密钥能够成功地对该消息中的签名进行验证,则证明签署者具有相应的专用密钥。接收方可通过检查证书的可信度认证签署者。
相关信息
互斥 XML 规范化

反馈