public interface XMLSignature extends XMLStructure
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
类命名冲突。
Modifier and Type | Interface and Description |
---|---|
static interface |
XMLSignature.SignatureValue
W3C Recommendation for XML-Signature Syntax and Processing中定义的XML
SignatureValue 元素的
表示 。
|
Modifier and Type | Field and Description |
---|---|
static String |
XMLNS
用于XML签名语法和处理的W3C建议书的XML命名空间URI。
|
Modifier and Type | Method and Description |
---|---|
String |
getId()
返回此
XMLSignature 的可选ID。
|
KeyInfo |
getKeyInfo()
返回此
XMLSignature 的关键信息。
|
KeySelectorResult |
getKeySelectorResult()
返回 KeySelector 的结果,如果指定,则此XMLSignature 已经签名或验证。
|
List |
getObjects()
返回此XMLSignature中包含的 XMLObject 的XMLSignature 。
|
XMLSignature.SignatureValue |
getSignatureValue()
返回此签名值
XMLSignature 。
|
SignedInfo |
getSignedInfo()
返回此
XMLSignature 的签名信息。
|
void |
sign(XMLSignContext signContext)
标志这
XMLSignature 。
|
boolean |
validate(XMLValidateContext validateContext)
根据core validation processing rules验证
签名 。
|
isFeatureSupported
static final String XMLNS
boolean validate(XMLValidateContext validateContext) throws XMLSignatureException
XMLSignature
使用在上下文中指定的位置信息。
该方法仅在第一次调用时验证签名。 在随后的调用中,它返回缓存的结果。
validateContext
- 验证上下文
true
如果签名通过核心验证,否则
false
ClassCastException
-如果类型
validateContext
不符合此兼容
XMLSignature
NullPointerException
- 如果
validateContext
是
null
XMLSignatureException
- 如果在验证期间发生意外错误,阻止验证操作完成
KeyInfo getKeyInfo()
XMLSignature
的关键信息。
null
如果未指定)
SignedInfo getSignedInfo()
XMLSignature
的签名信息。
null
)
List getObjects()
XMLObject
s的XMLSignature
。
XMLObject
S(可能是空的,但从来没有
null
)
String getId()
XMLSignature
的可选ID。
null
如果未指定)
XMLSignature.SignatureValue getSignatureValue()
XMLSignature
。
void sign(XMLSignContext signContext) throws MarshalException, XMLSignatureException
XMLSignature
。
如果此方法引发异常,则此XMLSignature
和signContext
参数将保留在调用之前的状态。
signContext
- 签名上下文
ClassCastException
-如果类型
signContext
不符合此兼容
XMLSignature
NullPointerException
- 如果
signContext
是
null
MarshalException
- 如果编组时发生异常
XMLSignatureException
- 如果在生成签名时发生意外异常
KeySelectorResult getKeySelectorResult()
KeySelector
的结果,如果指定,则此XMLSignature
已签署或验证。
null
如果没有指定键选择器或此
XMLSignature
尚未签名或验证