- java.lang.Object
-
- javax.xml.crypto.dsig.XMLSignatureFactory
-
public abstract class XMLSignatureFactoryextends Object
从头开始创建XMLSignature
对象或从相应的XML表示中解组XMLSignature
对象的XMLSignature
。XMLSignatureFactory类型
XMLSignatureFactory
每个实例XMLSignatureFactory
支持特定的XML机制类型。 要创建XMLSignatureFactory
,请调用其中一个静态getInstance
方法,传入所需的XML机制类型,例如:XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM");
该工厂生成的对象将基于DOM并遵守API概述的DOM Mechanism Requirements部分中定义的DOM互操作性要求。 有关标准机制类型的列表,请参阅API概述的Service Providers部分。
使用
Provider
机制注册和加载XMLSignatureFactory
实现。 例如,支持DOM机制的服务提供程序将在Provider
子类中指定为:put("XMLSignatureFactory.DOM", "org.example.DOMXMLSignatureFactory");
实现必须最低限度地支持默认机制类型:DOM。
注意,调用者必须使用相同
XMLSignatureFactory
实例创建XMLStructure
个特定的XMLSignature
即产生。 如果来自不同提供程序或不同机制类型的XMLStructure
一起使用,则行为未定义。此外,由此工厂创建的
XMLStructure
可能包含特定于XMLSignature
状态,并非可重复使用。从头开始创建XMLSignatures
创建
XMLSignatureFactory
,可以通过调用适当的方法来实例化对象。 例如,可以通过调用newReference
方法之一来创建Reference
实例。从XML解组XMLSignatures
可替代地,一个
XMLSignature
可以从现有的XML表示通过调用创建unmarshalXMLSignature
方法并传递它的特定机制-XMLValidateContext
包含XML内容实例:DOMValidateContext context = new DOMValidateContext(key, signatureElement); XMLSignature signature = factory.unmarshalXMLSignature(context);
每个XMLSignatureFactory
必须支持该工厂类型所需的XMLValidateContext
类型,但可能支持其他类型。 DOMXMLSignatureFactory
必须支持DOMValidateContext
个对象。将XMLSignatures签名和编组为XML
每个XMLSignature
由工厂创建也可以编组到一个XML表示和签名,通过调用sign
所述的方法XMLSignature
对象并使其特定于机制的XMLSignContext
包含签名密钥对象和编组参数(参见DOMSignContext
)。 例如:DOMSignContext context = new DOMSignContext(privateKey, document); signature.sign(context);
并发访问这个类的静态方法保证是线程安全的。 多个线程可以同时调用此类中定义的静态方法,而不会产生任何不良影响。
但是,对于此类定义的非静态方法,情况并非如此。 除非特定提供程序另有说明,否则需要同时访问单个
XMLSignatureFactory
实例的线程应在它们之间进行同步并提供必要的锁定。 每个操作不同XMLSignatureFactory
实例的多个线程无需同步。- 从以下版本开始:
- 1.6
-
-
构造方法摘要
构造方法 变量 构造器 描述 protected
XMLSignatureFactory()
默认构造函数,用于子类调用。
-
方法摘要
所有方法 静态方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 static XMLSignatureFactory
getInstance()
返回支持默认XML处理机制和表示类型(“DOM”)的XMLSignatureFactory
。static XMLSignatureFactory
getInstance(String mechanismType)
返回XMLSignatureFactory
,它支持指定的XML处理机制和表示类型(例如:“DOM”)。static XMLSignatureFactory
getInstance(String mechanismType, String provider)
返回XMLSignatureFactory
,它支持由指定提供程序提供的请求的XML处理机制和表示类型(例如:“DOM”)。static XMLSignatureFactory
getInstance(String mechanismType, Provider provider)
返回XMLSignatureFactory
,它支持由指定提供程序提供的请求的XML处理机制和表示类型(例如:“DOM”)。KeyInfoFactory
getKeyInfoFactory()
返回KeyInfoFactory
创建KeyInfo
对象。String
getMechanismType()
返回此XMLSignatureFactory
支持的XML处理机制和表示的类型(例如:“DOM”)。Provider
getProvider()
返回此XMLSignatureFactory
的提供者。abstract URIDereferencer
getURIDereferencer()
返回对URIDereferencer
的引用,该引用默认用于取消引用Reference
对象中的URI。abstract boolean
isFeatureSupported(String feature)
指示是否支持指定的功能。abstract CanonicalizationMethod
newCanonicalizationMethod(String algorithm, C14NMethodParameterSpec params)
为指定的算法URI和参数创建CanonicalizationMethod
。abstract CanonicalizationMethod
newCanonicalizationMethod(String algorithm, XMLStructure params)
为指定的算法URI和参数创建CanonicalizationMethod
。abstract DigestMethod
newDigestMethod(String algorithm, DigestMethodParameterSpec params)
为指定的算法URI和参数创建DigestMethod
。abstract Manifest
newManifest(List<? extends Reference> references)
创建一个Manifest
其中包含指定的Reference
列表。abstract Manifest
newManifest(List<? extends Reference> references, String id)
创建一个Manifest
其中包含指定的Reference
列表和可选的id。abstract Reference
newReference(String uri, DigestMethod dm)
使用指定的URI和摘要方法创建Reference
。abstract Reference
newReference(String uri, DigestMethod dm, List<? extends Transform> transforms, String type, String id)
使用指定的参数创建Reference
。abstract Reference
newReference(String uri, DigestMethod dm, List<? extends Transform> transforms, String type, String id, byte[] digestValue)
使用指定的参数和预先计算的摘要值创建Reference
。abstract Reference
newReference(String uri, DigestMethod dm, List<? extends Transform> appliedTransforms, Data result, List<? extends Transform> transforms, String type, String id)
使用指定的参数创建Reference
。abstract SignatureMethod
newSignatureMethod(String algorithm, SignatureMethodParameterSpec params)
为指定的算法URI和参数创建SignatureMethod
。abstract SignatureProperties
newSignatureProperties(List<? extends SignatureProperty> properties, String id)
创建一个SignatureProperties
其中包含指定的SignatureProperty
列表和可选的id。abstract SignatureProperty
newSignatureProperty(List<? extends XMLStructure> content, String target, String id)
创建一个SignatureProperty
其中包含指定的XMLStructure
列表,目标URI和可选ID。abstract SignedInfo
newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List<? extends Reference> references)
使用指定的规范化和签名方法以及一个或多个引用的列表创建SignedInfo
。abstract SignedInfo
newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List<? extends Reference> references, String id)
使用指定的参数创建SignedInfo
。abstract Transform
newTransform(String algorithm, TransformParameterSpec params)
为指定的算法URI和参数创建Transform
。abstract Transform
newTransform(String algorithm, XMLStructure params)
为指定的算法URI和参数创建Transform
。abstract XMLObject
newXMLObject(List<? extends XMLStructure> content, String id, String mimeType, String encoding)
根据指定的参数创建XMLObject
。abstract XMLSignature
newXMLSignature(SignedInfo si, KeyInfo ki)
创建一个XMLSignature
并使用指定的SignedInfo
和KeyInfo
对象的内容对其进行初始化。abstract XMLSignature
newXMLSignature(SignedInfo si, KeyInfo ki, List<? extends XMLObject> objects, String id, String signatureValueId)
创建一个XMLSignature
并使用指定的参数对其进行初始化。abstract XMLSignature
unmarshalXMLSignature(XMLValidateContext context)
解组新的XMLSignature
从特定于机制的实例XMLValidateContext
实例。abstract XMLSignature
unmarshalXMLSignature(XMLStructure xmlStructure)
解组新的XMLSignature
从特定于机制的实例XMLStructure
实例。
-
-
-
方法详细信息
-
getInstance
public static XMLSignatureFactory getInstance(String mechanismType)
返回支持指定的XML处理机制和表示类型的XMLSignatureFactory
(例如:“DOM”)。此方法使用标准JCA提供程序查找机制来定位和实例化所需机制类型的
XMLSignatureFactory
实现。 它遍历注册安全性列表Provider
s,从最受欢迎的Provider
。 将返回第一个Provider
中支持指定机制的新XMLSignatureFactory
对象。请注意,可以通过
Security.getProviders()
方法检索已注册提供商的列表。- Implementation Note:
- JDK Reference Implementation另外使用
jdk.security.provider.preferred
Security
属性来确定指定算法的首选提供程序顺序。 这可能与Security.getProviders()
返回的提供商的顺序不同。 - 参数
-
mechanismType
- XML处理机制和表示的类型。 有关标准机制类型的列表,请参阅API概述的Service Providers部分。 - 结果
- 一个新的
XMLSignatureFactory
- 异常
-
NullPointerException
- 如果mechanismType
是null
-
NoSuchMechanismException
- 如果没有Provider
支持指定机制的XMLSignatureFactory
实现 - 另请参见:
-
Provider
-
getInstance
public static XMLSignatureFactory getInstance(String mechanismType, Provider provider)
返回XMLSignatureFactory
,它支持由指定提供程序提供的请求的XML处理机制和表示类型(例如:“DOM”)。 请注意,指定的Provider
对象不必在提供程序列表中注册。- 参数
-
mechanismType
- XML处理机制和表示的类型。 有关标准机制类型的列表,请参阅API概述的Service Providers部分。 -
provider
-Provider
对象 - 结果
- 一个新的
XMLSignatureFactory
- 异常
-
NullPointerException
- 如果provider
或mechanismType
是null
-
NoSuchMechanismException
- 如果指定机制的XMLSignatureFactory
实现在指定的Provider
对象中不可用 - 另请参见:
-
Provider
-
getInstance
public static XMLSignatureFactory getInstance(String mechanismType, String provider) throws NoSuchProviderException
返回XMLSignatureFactory
,它支持由指定提供程序提供的请求的XML处理机制和表示类型(例如:“DOM”)。 必须在安全提供程序列表中注册指定的提供程序。请注意,可以通过
Security.getProviders()
方法检索已注册提供商的列表。- 参数
-
mechanismType
- XML处理机制和表示的类型。 有关标准机制类型的列表,请参阅API概述的Service Providers部分。 -
provider
- 提供程序的字符串名称 - 结果
- 一个新的
XMLSignatureFactory
- 异常
-
NoSuchProviderException
- 如果指定的提供程序未在安全提供程序列表中注册 -
NullPointerException
- 如果provider
或mechanismType
是null
-
NoSuchMechanismException
- 如果指定提供程序的指定机制的XMLSignatureFactory
实现不可用 - 另请参见:
-
Provider
-
getInstance
public static XMLSignatureFactory getInstance()
返回XMLSignatureFactory
,它支持默认的XML处理机制和表示类型(“DOM”)。此方法使用标准JCA提供程序查找机制来定位和实例化默认机制类型的
XMLSignatureFactory
实现。 它遍历注册安全列表Provider
s,从最受欢迎的Provider
。 将返回第一个支持DOM机制的Provider
中的新XMLSignatureFactory
对象。请注意,可以通过
Security.getProviders()
方法检索已注册提供商的列表。- 结果
- 一个新的
XMLSignatureFactory
- 异常
-
NoSuchMechanismException
- 如果没有Provider
支持DOM机制的XMLSignatureFactory
实现 - 另请参见:
-
Provider
-
getMechanismType
public final String getMechanismType()
返回此XMLSignatureFactory
支持的XML处理机制和表示的类型(例如:“DOM”)。- 结果
- 此
XMLSignatureFactory
支持的XML处理机制类型
-
getProvider
public final Provider getProvider()
返回此XMLSignatureFactory
的提供者。- 结果
- 这个
XMLSignatureFactory
的提供者
-
newXMLSignature
public abstract XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki)
创建一个XMLSignature
并使用指定的SignedInfo
和KeyInfo
对象的内容对其进行初始化。- 参数
-
si
- 签名信息 -
ki
- 关键信息(可能是null
) - 结果
-
XMLSignature
- 异常
-
NullPointerException
- 如果si
是null
-
newXMLSignature
public abstract XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki, List<? extends XMLObject> objects, String id, String signatureValueId)
创建一个XMLSignature
并使用指定的参数对其进行初始化。- 参数
-
si
- 签名信息 -
ki
- 关键信息(可能是null
) -
objects
-列表XMLObject
个 S(可能是空的或null
) -
id
- Id(可能是null
) -
signatureValueId
- SignatureValue Id(可能是null
) - 结果
-
XMLSignature
- 异常
-
NullPointerException
- 如果si
是null
-
ClassCastException
- 如果objects
中的任何一个的类型不是XMLObject
-
newReference
public abstract Reference newReference(String uri, DigestMethod dm)
使用指定的URI和摘要方法创建Reference
。- 参数
-
uri
- 参考URI(可能是null
) -
dm
- 摘要方法 - 结果
- a
Reference
- 异常
-
IllegalArgumentException
- 如果uri
不符合RFC 2396 -
NullPointerException
- 如果dm
是null
-
newReference
public abstract Reference newReference(String uri, DigestMethod dm, List<? extends Transform> transforms, String type, String id)
使用指定的参数创建Reference
。- 参数
-
uri
- 参考URI(可能是null
) -
dm
- 摘要方法 -
transforms
-列表Transform
秒。 该列表是防御性复制的,以防止后续修改。 可能是null
或为空。 -
type
- 引用类型,作为URI(可能是null
) -
id
- 参考ID(可能是null
) - 结果
- a
Reference
- 异常
-
ClassCastException
- 如果transforms
中的任何一个的类型不是Transform
-
IllegalArgumentException
- 如果uri
不符合RFC 2396 -
NullPointerException
- 如果dm
是null
-
newReference
public abstract Reference newReference(String uri, DigestMethod dm, List<? extends Transform> transforms, String type, String id, byte[] digestValue)
使用指定的参数和预先计算的摘要值创建Reference
。先前已计算过
Reference
的摘要值时,此方法很有用。 例如,参见OASIS-DSS (Digital Signature Services)规范。- 参数
-
uri
- 参考URI(可能是null
) -
dm
- 摘要方法 -
transforms
-列表Transform
秒。 该列表是防御性复制的,以防止后续修改。 可能是null
或为空。 -
type
- 引用类型,作为URI(可能是null
) -
id
- 参考ID(可能是null
) -
digestValue
- 摘要值。 克隆该阵列以防止后续修改。 - 结果
- a
Reference
- 异常
-
ClassCastException
- 如果transforms
中的任何一个的transforms
不是Transform
-
IllegalArgumentException
- 如果uri
不符合RFC 2396 -
NullPointerException
- 如果dm
或digestValue
是null
-
newReference
public abstract Reference newReference(String uri, DigestMethod dm, List<? extends Transform> appliedTransforms, Data result, List<? extends Transform> transforms, String type, String id)
使用指定的参数创建Reference
。当变换列表已应用于
Reference
时,此方法很有用。 例如,参见OASIS-DSS (Digital Signature Services)规范。生成包含此引用的
XMLSignature
,指定的transforms
(如果为非null)将应用于指定的result
。 生成的Transforms
元素的Reference
元素设置为appliedTransforms
和transforms
的串联。- 参数
-
uri
- 参考URI(可能是null
) -
dm
- 摘要方法 -
appliedTransforms
- 已应用的Transform
列表。 该列表是防御性复制的,以防止后续修改。 该列表必须至少包含一个条目。 -
result
- 处理序列appliedTransforms
-
transforms
- 生成签名时要应用的Transform
的列表。 该列表是防御性复制的,以防止后续修改。 可能是null
或空。 -
type
- 引用类型,URI(可能是null
) -
id
- 参考ID(可能是null
) - 结果
- a
Reference
- 异常
-
ClassCastException
- 如果任何转换(在任一列表中)不是Transform
类型 -
IllegalArgumentException
- 如果uri
不符合RFC 2396或appliedTransforms
为空 -
NullPointerException
-如果dm
,appliedTransforms
或result
为null
-
newSignedInfo
public abstract SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List<? extends Reference> references)
使用指定的规范化和签名方法以及一个或多个引用的列表创建SignedInfo
。- 参数
-
cm
- 规范化方法 -
sm
- 签名方法 -
references
- 一个或多个Reference
的列表。 该列表是防御性复制的,以防止后续修改。 - 结果
- a
SignedInfo
- 异常
-
ClassCastException
- 如果任何引用的类型不是Reference
-
IllegalArgumentException
- 如果references
为空 -
NullPointerException
- 如果任何参数是null
-
newSignedInfo
public abstract SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List<? extends Reference> references, String id)
使用指定的参数创建SignedInfo
。- 参数
-
cm
- 规范化方法 -
sm
- 签名方法 -
references
- 一个或多个Reference
的列表。 该列表是防御性复制的,以防止后续修改。 -
id
- id(可能是null
) - 结果
- a
SignedInfo
- 异常
-
ClassCastException
- 如果任何引用不是Reference
类型 -
IllegalArgumentException
- 如果references
为空 -
NullPointerException
-如果cm
,sm
,或references
是null
-
newXMLObject
public abstract XMLObject newXMLObject(List<? extends XMLStructure> content, String id, String mimeType, String encoding)
根据指定的参数创建XMLObject
。- 参数
-
content
-列表XMLStructure
秒。 该列表是防御性复制的,以防止后续修改。 可能是null
或空。 -
id
- Id(可能是null
) -
mimeType
- mime类型(可能是null
) -
encoding
- 编码(可能是null
) - 结果
-
XMLObject
- 异常
-
ClassCastException
- 如果content
包含任何类型不是XMLStructure
的条目
-
newManifest
public abstract Manifest newManifest(List<? extends Reference> references)
创建Manifest
包含指定的列表Reference
秒。- 参数
-
references
- 一个或多个Reference
的列表。 该列表是防御性复制的,以防止后续修改。 - 结果
- a
Manifest
- 异常
-
NullPointerException
- 如果references
是null
-
IllegalArgumentException
- 如果references
为空 -
ClassCastException
- 如果references
包含的不是类型Reference
的条目
-
newManifest
public abstract Manifest newManifest(List<? extends Reference> references, String id)
创建一个Manifest
其中包含指定的Reference
列表和可选的id。- 参数
-
references
- 一个或多个Reference
的列表。 该列表是防御性复制的,以防止后续修改。 -
id
- id(可能是null
) - 结果
- a
Manifest
- 异常
-
NullPointerException
- 如果references
是null
-
IllegalArgumentException
- 如果references
为空 -
ClassCastException
- 如果references
包含任何类型不是Reference
的条目
-
newSignatureProperty
public abstract SignatureProperty newSignatureProperty(List<? extends XMLStructure> content, String target, String id)
创建一个SignatureProperty
其中包含指定的XMLStructure
列表,目标URI和可选ID。- 参数
-
content
- 一个或多个XMLStructure
的列表。 该列表是防御性复制的,以防止后续修改。 -
target
- 此属性适用的签名的目标URI -
id
- id(可能是null
) - 结果
- a
SignatureProperty
- 异常
-
NullPointerException
- 如果content
或target
是null
-
IllegalArgumentException
- 如果content
为空 -
ClassCastException
- 如果content
包含任何类型不是XMLStructure
的条目
-
newSignatureProperties
public abstract SignatureProperties newSignatureProperties(List<? extends SignatureProperty> properties, String id)
创建一个SignatureProperties
其中包含指定的SignatureProperty
列表和可选的id。- 参数
-
properties
- 一个或多个SignatureProperty
的列表。 该列表是防御性复制的,以防止后续修改。 -
id
- id(可能是null
) - 结果
- a
SignatureProperties
- 异常
-
NullPointerException
- 如果properties
是null
-
IllegalArgumentException
- 如果properties
为空 -
ClassCastException
- 如果properties
包含的类型不是SignatureProperty
-
newDigestMethod
public abstract DigestMethod newDigestMethod(String algorithm, DigestMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
为指定的算法URI和参数创建DigestMethod
。- 参数
-
algorithm
- 标识摘要算法的URI -
params
- 特定于算法的摘要参数(可能是null
) - 结果
-
DigestMethod
- 异常
-
InvalidAlgorithmParameterException
- 如果指定的参数不适合所请求的算法 -
NoSuchAlgorithmException
- 如果找不到指定算法的实现 -
NullPointerException
- 如果algorithm
是null
-
newSignatureMethod
public abstract SignatureMethod newSignatureMethod(String algorithm, SignatureMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
为指定的算法URI和参数创建SignatureMethod
。- 参数
-
algorithm
- 标识签名算法的URI -
params
- 特定于算法的签名参数(可能是null
) - 结果
-
SignatureMethod
- 异常
-
InvalidAlgorithmParameterException
- 如果指定的参数不适合所请求的算法 -
NoSuchAlgorithmException
- 如果找不到指定算法的实现 -
NullPointerException
- 如果algorithm
是null
-
newTransform
public abstract Transform newTransform(String algorithm, TransformParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
为指定的算法URI和参数创建Transform
。- 参数
-
algorithm
- 标识变换算法的URI -
params
- 特定于算法的变换参数(可能是null
) - 结果
-
Transform
- 异常
-
InvalidAlgorithmParameterException
- 如果指定的参数不适合所请求的算法 -
NoSuchAlgorithmException
- 如果找不到指定算法的实现 -
NullPointerException
- 如果algorithm
是null
-
newTransform
public abstract Transform newTransform(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
为指定的算法URI和参数创建Transform
。 参数被指定为特定于机制的XMLStructure
(例如:DOMStructure
)。 当参数是XML格式或没有用于指定参数的标准类时,此方法很有用。- 参数
-
algorithm
- 标识转换算法的URI -
params
- 特定于机制的XML结构,用于从中解组参数(如果不需要,可以是null
或可选) - 结果
-
Transform
- 异常
-
ClassCastException
-如果类型params
不适合此XMLSignatureFactory
-
InvalidAlgorithmParameterException
- 如果指定的参数不适合所请求的算法 -
NoSuchAlgorithmException
- 如果找不到指定算法的实现 -
NullPointerException
- 如果algorithm
是null
-
newCanonicalizationMethod
public abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, C14NMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
为指定的算法URI和参数创建CanonicalizationMethod
。- 参数
-
algorithm
- 标识规范化算法的URI -
params
- 特定于算法的规范化参数(可能是null
) - 结果
-
CanonicalizationMethod
- 异常
-
InvalidAlgorithmParameterException
- 如果指定的参数不适合所请求的算法 -
NoSuchAlgorithmException
- 如果找不到指定算法的实现 -
NullPointerException
- 如果algorithm
是null
-
newCanonicalizationMethod
public abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
为指定的算法URI和参数创建CanonicalizationMethod
。 参数指定为特定于机制的XMLStructure
(例如:DOMStructure
)。 当参数是XML格式或没有用于指定参数的标准类时,此方法很有用。- 参数
-
algorithm
- 标识规范化算法的URI -
params
- 特定于机制的XML结构,用于从中解组参数(如果不需要,可以是null
或可选) - 结果
-
CanonicalizationMethod
- 异常
-
ClassCastException
-如果类型params
不适合此XMLSignatureFactory
-
InvalidAlgorithmParameterException
- 如果指定的参数不适合所请求的算法 -
NoSuchAlgorithmException
- 如果找不到指定算法的实现 -
NullPointerException
- 如果algorithm
是null
-
getKeyInfoFactory
public final KeyInfoFactory getKeyInfoFactory()
返回KeyInfoFactory
创建KeyInfo
对象。 返回的KeyInfoFactory
具有与此XMLSignatureFactory
相同的机制类型和提供程序。- 结果
- a
KeyInfoFactory
- 异常
-
NoSuchMechanismException
- 如果具有相同机制类型和提供程序的KeyFactory
实现不可用
-
unmarshalXMLSignature
public abstract XMLSignature unmarshalXMLSignature(XMLValidateContext context) throws MarshalException
解组新的XMLSignature
从特定于机制的实例XMLValidateContext
实例。- 参数
-
context
- 特定于机制的上下文,用于从中解组签名 - 结果
-
XMLSignature
- 异常
-
NullPointerException
- 如果context
是null
-
ClassCastException
-如果类型context
不适合此工厂 -
MarshalException
- 如果在解组期间发生不可恢复的异常
-
unmarshalXMLSignature
public abstract XMLSignature unmarshalXMLSignature(XMLStructure xmlStructure) throws MarshalException
解组新的XMLSignature
从特定于机制的实例XMLStructure
实例。 如果您只想解组(而不是验证)XMLSignature
则此方法很有用。- 参数
-
xmlStructure
- 特定于机制的XML结构,用于从中解组签名 - 结果
-
XMLSignature
- 异常
-
NullPointerException
- 如果xmlStructure
是null
-
ClassCastException
-如果类型xmlStructure
不适合此工厂 -
MarshalException
- 如果在解组期间发生不可恢复的异常
-
isFeatureSupported
public abstract boolean isFeatureSupported(String feature)
指示是否支持指定的功能。- 参数
-
feature
- 功能名称(作为绝对URI) - 结果
-
true
如果支持指定的功能,否则为false
- 异常
-
NullPointerException
- 如果feature
是null
-
getURIDereferencer
public abstract URIDereferencer getURIDereferencer()
返回对URIDereferencer
的引用,该引用默认用于取消引用Reference
对象中的URI。- 结果
- 对默认值的引用
URIDereferencer
(从不null
)
-
-