Module java.xml.crypto

Interface KeyInfo

所有超级接口:
XMLStructure

public interface KeyInfo extends XMLStructure
表示XML KeyInfo元素的一个表示,如W3C XML签名语法和处理推荐标准中定义。一个KeyInfo包含一个包含信息的XMLStructure列表,使接收者能够获取验证XML签名所需的密钥。XML模式定义如下:
 <element name="KeyInfo" type="ds:KeyInfoType"/>
 <complexType name="KeyInfoType" mixed="true">
   <choice maxOccurs="unbounded">
     <element ref="ds:KeyName"/>
     <element ref="ds:KeyValue"/>
     <element ref="ds:RetrievalMethod"/>
     <element ref="ds:X509Data"/>
     <element ref="ds:PGPData"/>
     <element ref="ds:SPKIData"/>
     <element ref="ds:MgmtData"/>
     <any processContents="lax" namespace="##other"/>
     <!-- (1,1) elements from (0,unbounded) namespaces -->
   </choice>
   <attribute name="Id" type="ID" use="optional"/>
 </complexType>
 
可通过调用KeyInfoFactory类的newKeyInfo方法之一创建KeyInfo实例,并传递一个或多个XMLStructure列表和一个可选的id参数;例如:
   KeyInfoFactory factory = KeyInfoFactory.getInstance("DOM");
   KeyInfo keyInfo = factory.newKeyInfo
      (Collections.singletonList(factory.newKeyName("Alice"), "keyinfo-1"));
 

KeyInfo对象也可以通过调用marshal方法转换为XML。

自版本:
1.6
参见:
  • Method Details

    • getContent

      List<XMLStructure> getContent()
      返回一个包含密钥信息的不可修改列表。列表的每个条目都是一个XMLStructure

      如果有表示XMLStructure类型的公共子类,则将其作为该类的实例返回(例如:一个X509Data元素将作为X509Data的实例返回)。

      返回:
      KeyInfo中一个或多个XMLStructure不可修改列表。永远不会返回null或空列表。
    • getId

      String getId()
      返回此KeyInfo的可选Id属性,可用于从其他XML结构引用此KeyInfo
      返回:
      KeyInfo的Id属性(如果未指定,可能为null
    • marshal

      void marshal(XMLStructure parent, XMLCryptoContext context) throws MarshalException
      将密钥信息转换为XML。
      参数:
      parent - 包含将添加已编组密钥信息的父节点的特定于机制的结构
      context - 包含附加上下文的XMLCryptoContext(如果不适用,可能为null)
      抛出:
      ClassCastException - 如果parentcontext的类型与此密钥信息不兼容
      MarshalException - 如果无法编组密钥信息
      NullPointerException - 如果parentnull