public interface XMLSignature
W3C Recommendation for XML-Signature Syntax and Processing 中定义的 XML Signature
元素的表示形式。此类包含一些方法使用 W3C 规范定义的行为对 XML 签名进行签名或验证。XML Schema Definition 的定义如下:
<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
的底层文档的内容,则行为是不确定的。
注意,为避免与现有 java.security.Signature
类发生命名冲突,此类被命名为 XMLSignature
,而不是 Signature
。
XMLSignatureFactory.newXMLSignature(SignedInfo, KeyInfo)
,
XMLSignatureFactory.newXMLSignature(SignedInfo, KeyInfo, List, String, String)
嵌套类摘要 | |
---|---|
static interface |
XMLSignature.SignatureValue W3C Recommendation for XML-Signature Syntax and Processing 中定义的 XML SignatureValue 元素的表示形式。 |
字段摘要 | |
---|---|
static String |
XMLNS W3C Recommendation for XML-Signature Syntax and Processing 的 XML 名称空间 URI。 |
方法摘要 | |
---|---|
String |
getId() 返回此 XMLSignature 的可选 Id。 |
KeyInfo |
getKeyInfo() 返回此 XMLSignature 的密钥信息。 |
KeySelectorResult |
getKeySelectorResult() 在对此 XMLSignature 进行签名或验证后,返回密钥选择器 KeySelector (如果已指定)的结果。 |
List |
getObjects() 返回一个 可修改的列表 ,由包含在此 XMLSignature 中的 XMLObject 组成。 |
XMLSignature.SignatureValue |
getSignatureValue() 返回此 XMLSignature 的签名值。 |
SignedInfo |
getSignedInfo() 返回此 XMLSignature 的签名信息。 |
void |
sign(XMLSignContext signContext) 为此 XMLSignature 签名。 |
boolean |
validate(XMLValidateContext validateContext) 根据核心验证处理规则来验证签名。 |
从接口 javax.xml.crypto.XMLStructure 继承的方法 |
---|
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()
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()
XMLSignature
进行签名或验证后,返回密钥选择器
KeySelector
(如果已指定)的结果。
XMLSignature
进行签名或验证,则返回
null