Module java.xml.crypto

Interface 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
参见:
  • Field Details

    • XMLNS

      static final String XMLNS
      W3C XML签名语法和处理推荐标准的XML命名空间URI。
      参见:
  • Method Details

    • 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中的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()
      返回在此XMLSignature签署或验证后(如果指定)KeySelector的结果。
      返回:
      密钥选择器结果,如果未指定密钥选择器或此XMLSignature未签署或验证,则返回null