接口 XMLSignature

所有父级接口:
XMLStructure

public interface XMLSignature extends 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
参见:
  • 字段详细信息

    • XMLNS

      static final String  XMLNS
      W3C XML 签名语法和处理建议书的 XML 命名空间 URI。
      参见:
  • 方法详情

    • validate

      boolean validate(XMLValidateContext  validateContext) throws XMLSignatureException
      根据 核心验证处理规则 验证签名。此方法使用现有状态验证签名,它不会使用上下文中指定的位置信息解组和重新初始化 XMLSignature 的内容。

      此方法仅在第一次调用时验证签名。在随后的调用中,它返回一个缓存的结果。

      参数:
      validateContext - 验证上下文
      返回:
      true 如果签名通过核心验证,否则 false
      抛出:
      ClassCastException - 如果 validateContext 的类型与这个 XMLSignature 不兼容
      NullPointerException - 如果 validateContextnull
      XMLSignatureException - 如果在验证期间发生意外错误导致验证操作无法完成
    • getKeyInfo

      KeyInfo  getKeyInfo()
      返回此 XMLSignature 的关键信息。
      返回:
      关键信息(如果未指定,可能是 null
    • getSignedInfo

      SignedInfo  getSignedInfo()
      返回此 XMLSignature 的签名信息。
      返回:
      签名信息(从不 null
    • getObjects

      List <XMLObject > getObjects()
      返回此 XMLSignature 中包含的 unmodifiable list XMLObject 个。
      返回:
      不可修改的 XMLObject 列表(可能为空但绝不为 null
    • getId

      String  getId()
      返回此 XMLSignature 的可选 ID。
      返回:
      Id(如果未指定,可能是 null
    • getSignatureValue

      XMLSignature.SignatureValue  getSignatureValue()
      返回此 XMLSignature 的签名值。
      返回:
      签名值
    • sign

      void sign(XMLSignContext  signContext) throws MarshalException , XMLSignatureException
      在这个 XMLSignature 上签名。

      如果此方法抛出异常,则此 XMLSignaturesignContext 参数将保留在调用之前的状态。

      参数:
      signContext - 签名上下文
      抛出:
      ClassCastException - 如果 signContext 的类型与此 XMLSignature 不兼容
      NullPointerException - 如果 signContextnull
      MarshalException - 如果编组时发生异常
      XMLSignatureException - 如果在生成签名时发生意外异常
    • getKeySelectorResult

      KeySelectorResult  getKeySelectorResult()
      返回 KeySelector 的结果(如果指定),在此 XMLSignature 已签名或验证后。
      返回:
      密钥选择器结果,或 null 如果未指定密钥选择器或此 XMLSignature 尚未签名或验证