- 所有父级接口:
XMLStructure
W3C 对 XML 签名语法和处理的推荐 中定义的 XML
Signature 元素的表示。此类包含使用 W3C 规范定义的行为对 XML 签名进行签名和验证的方法。 XML 架构定义定义为:
<element name="Signature" type="ds:SignatureType"/>
<complexType name="SignatureType">
<sequence>
<element ref="ds:SignedInfo"/>
<element ref="ds:SignatureValue"/>
<element ref="ds:KeyInfo" minOccurs="0"/>
<element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
可以通过调用 XMLSignatureFactory 类的 newXMLSignature 方法之一来创建 XMLSignature 实例。
如果随后修改了包含 XMLSignature 的基础文档的内容,则行为未定义。
请注意,此类被命名为 XMLSignature 而不是 Signature 以避免与现有的 java.security.Signature 类发生命名冲突。
- 自从:
- 1.6
- 参见:
-
内部类总结
内部类 -
字段摘要
字段 -
方法总结
修饰符和类型方法描述getId()返回此XMLSignature的可选 ID。返回此XMLSignature的关键信息。返回KeySelector的结果(如果指定),在此XMLSignature已签名或验证后。返回此XMLSignature的签名值。返回此XMLSignature的签名信息。voidsign(XMLSignContext signContext) 在这个XMLSignature上签名。booleanvalidate(XMLValidateContext validateContext) 根据 核心验证处理规则 验证签名。在接口 javax.xml.crypto.XMLStructure 中声明的方法
isFeatureSupported
-
字段详细信息
-
XMLNS
W3C XML 签名语法和处理建议书的 XML 命名空间 URI。- 参见:
-
-
方法详情
-
validate
根据 核心验证处理规则 验证签名。此方法使用现有状态验证签名,它不会使用上下文中指定的位置信息解组和重新初始化XMLSignature的内容。此方法仅在第一次调用时验证签名。在随后的调用中,它返回一个缓存的结果。
- 参数:
validateContext- 验证上下文- 返回:
true如果签名通过核心验证,否则false- 抛出:
ClassCastException- 如果validateContext的类型与这个XMLSignature不兼容NullPointerException- 如果validateContext是nullXMLSignatureException- 如果在验证期间发生意外错误导致验证操作无法完成
-
getKeyInfo
KeyInfo getKeyInfo()返回此XMLSignature的关键信息。- 返回:
-
关键信息(如果未指定,可能是
null)
-
getSignedInfo
SignedInfo getSignedInfo()返回此XMLSignature的签名信息。- 返回:
-
签名信息(从不
null)
-
getObjects
- 返回:
-
不可修改的
XMLObject列表(可能为空但绝不为null)
-
getId
String getId()返回此XMLSignature的可选 ID。- 返回:
-
Id(如果未指定,可能是
null)
-
getSignatureValue
XMLSignature.SignatureValue getSignatureValue()返回此XMLSignature的签名值。- 返回:
- 签名值
-
sign
在这个XMLSignature上签名。如果此方法抛出异常,则此
XMLSignature和signContext参数将保留在调用之前的状态。- 参数:
signContext- 签名上下文- 抛出:
ClassCastException- 如果signContext的类型与此XMLSignature不兼容NullPointerException- 如果signContext是nullMarshalException- 如果编组时发生异常XMLSignatureException- 如果在生成签名时发生意外异常
-
getKeySelectorResult
KeySelectorResult getKeySelectorResult()返回KeySelector的结果(如果指定),在此XMLSignature已签名或验证后。- 返回:
-
密钥选择器结果,或
null如果未指定密钥选择器或此XMLSignature尚未签名或验证
-