javax.xml.crypto.dsig

接口
异常
所有超级接口:
AlgorithmMethod, XMLStructure
所有已知子接口:
CanonicalizationMethod
所有已知实现类:
TransformService

public interface Transform
     
extends XMLStructure, AlgorithmMethod

W3C Recommendation for XML-Signature Syntax and Processing 中定义的 XML Transform 元素的表示形式。XML Schema Definition 的定义如下:

<element name="Transform" type="ds:TransformType"/>
<complexType name="TransformType" mixed="true">
<choice minOccurs="0" maxOccurs="unbounded">
<any namespace="##other" processContents="lax"/>
<!-- (1,1) elements from (0,unbounded) namespaces -->
<element name="XPath" type="string"/>
</choice>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
 
调用 XMLSignatureFactory 类的 newTransform 方法可以创建 Transform 实例。

从以下版本开始:
1.6
另请参见:
XMLSignatureFactory.newTransform(String, TransformParameterSpec)

字段摘要
static String BASE64
          Base64 转换算法 URI。
static String ENVELOPED
          Enveloped Signature 转换算法 URI。
static String XPATH
          XPath 转换算法 URI。
static String XPATH2
          XPath Filter 2 转换算法 URI。
static String XSLT
          XSLT 转换算法 URI。
 
方法摘要
 AlgorithmParameterSpec getParameterSpec()
          返回与此 Transform 关联的特定于算法的输入参数。
 Data transform(Data data, XMLCryptoContext context)
          使用底层转换算法对指定数据进行转换。
 Data transform(Data data, XMLCryptoContext context, OutputStream os)
          使用底层转换算法对指定数据进行转换。
 
从接口 javax.xml.crypto.XMLStructure 继承的方法
isFeatureSupported
 
从接口 javax.xml.crypto.AlgorithmMethod 继承的方法
getAlgorithm
 

字段详细信息

BASE64

static final String BASE64
Base64 转换算法 URI。

另请参见:
常量字段值

ENVELOPED

static final String ENVELOPED
Enveloped Signature 转换算法 URI。

另请参见:
常量字段值

XPATH

static final String XPATH
XPath 转换算法 URI。

另请参见:
常量字段值

XPATH2

static final String XPATH2
XPath Filter 2 转换算法 URI。

另请参见:
常量字段值

XSLT

static final String XSLT
XSLT 转换算法 URI。

另请参见:
常量字段值
方法详细信息

getParameterSpec

AlgorithmParameterSpec getParameterSpec()
返回与此 Transform 关联的特定于算法的输入参数。

可将返回的参数强制转换为 TransformParameterSpec 对象。

指定者:
接口 AlgorithmMethod 中的 getParameterSpec
返回:
特定于算法的输入参数(如果未指定,则返回 null

transform

Data transform(Data data,
               XMLCryptoContext context)
               throws TransformException
使用底层转换算法对指定数据进行转换。

参数:
data - 要转换的数据
context - 包含其他上下文的 XMLCryptoContext(如果不适用,则该参数为 null
返回:
已转换的数据
抛出:
NullPointerException - 如果 datanull
TransformException - 如果执行转换时发生错误

transform

Data transform(Data data,
               XMLCryptoContext context,
               OutputStream os)
               throws TransformException
使用底层转换算法对指定数据进行转换。如果此转换的输出是一个 OctetStreamData,则此方法将返回 null,并且将字节写入指定的 OutputStream。否则,将忽略 OutputStream,并且该方法的行为将类似于调用 transform(Data, XMLCryptoContext)

参数:
data - 要转换的数据
context - 包含其他上下文的 XMLCryptoContext(如果不适用,则该参数为 null
os - 应写入已转换数据的 OutputStream
返回:
已转换的数据(如果将数据写入 OutputStream 参数,则返回 null
抛出:
NullPointerException - 如果 dataosnull
TransformException - 如果执行转换时出现错误