-
- All Superinterfaces:
-
XMLStructure
public interface XMLSignature extends XMLStructure
在Signature
中定义的XMLSignature
元素的表示 。 此类包含使用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
类命名冲突。
-
-
Nested Class Summary
Nested Classes Modifier and Type 接口 描述 static interface
XMLSignature.SignatureValue
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 String
getId()
返回此XMLSignature
的可选ID。KeyInfo
getKeyInfo()
返回XMLSignature
的关键信息。KeySelectorResult
getKeySelectorResult()
返回KeySelector
的结果,如果指定,则此XMLSignature
已经签名或验证。List<XMLObject>
getObjects()
返回此XMLSignature中包含的unmodifiable list
的XMLSignature
。XMLSignature.SignatureValue
getSignatureValue()
返回此XMLSignature
的签名值。SignedInfo
getSignedInfo()
返回此XMLSignature
的签名信息。void
sign(XMLSignContext signContext)
标志这XMLSignature
。boolean
validate(XMLValidateContext validateContext)
根据 core validation processing rules验证签名。-
Methods inherited from interface javax.xml.crypto.XMLStructure
isFeatureSupported
-
-
-
-
字段详细信息
-
XMLNS
static final String XMLNS
用于XML签名语法和处理的W3C建议书的XML命名空间URI。- 另请参见:
- Constant Field Values
-
-
方法详细信息
-
validate
boolean validate(XMLValidateContext validateContext) throws XMLSignatureException
根据core validation processing rules验证签名。 此方法使用现有状态验证签名,它不会使用上下文中指定的位置信息解组和重新初始化XMLSignature
的内容。该方法仅在第一次调用时验证签名。 在随后的调用中,它返回缓存的结果。
- 参数
-
validateContext
- 验证上下文 - 结果
-
true
如果签名通过核心验证,否则为false
- 异常
-
ClassCastException
-如果类型validateContext
与此不兼容XMLSignature
-
NullPointerException
- 如果validateContext
是null
-
XMLSignatureException
- 如果在验证期间发生意外错误,阻止验证操作完成
-
getKeyInfo
KeyInfo getKeyInfo()
返回XMLSignature
的关键信息。- 结果
-
关键信息(如果没有指定,可能是
null
)
-
getSignedInfo
SignedInfo getSignedInfo()
返回此XMLSignature
的签名信息。- 结果
-
签名信息(从不
null
)
-
getObjects
List<XMLObject> getObjects()
返回此XMLSignature中包含的XMLObject
的XMLSignature
。- 结果
-
一个不可修改的
XMLObject
的列表(可能是空的,但从不null
)
-
getId
String getId()
返回此XMLSignature
的可选ID。- 结果
-
Id(如果没有指定可能是
null
)
-
getSignatureValue
XMLSignature.SignatureValue getSignatureValue()
返回此XMLSignature
的签名值。- 结果
- 签名值
-
sign
void sign(XMLSignContext signContext) throws MarshalException, XMLSignatureException
标志这XMLSignature
。如果此方法引发异常,则此
XMLSignature
和signContext
参数将保留在调用之前的状态。- 参数
-
signContext
- 签名上下文 - 异常
-
ClassCastException
-如果类型signContext
与此不兼容XMLSignature
-
NullPointerException
- 如果signContext
是null
-
MarshalException
- 如果编组时发生异常 -
XMLSignatureException
- 如果在生成签名时发生意外异常
-
getKeySelectorResult
KeySelectorResult getKeySelectorResult()
返回KeySelector
的结果,如果指定,则在此XMLSignature
已经签名或验证。- 结果
-
键选择器结果,或
null
如果没有指定键选择器,或者该XMLSignature
未被签名或验证
-
-