JavaTM 2 Platform
Standard Ed. 6

javax.xml.crypto.dsig
介面 XMLSignature

所有父級介面:
XMLStructure

public interface XMLSignature
extends XMLStructure

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

從以下版本開始:
1.6
另請參見:
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
 

欄位詳細資訊

XMLNS

static final String XMLNS
W3C Recommendation for XML-Signature Syntax and Processing 的 XML 名稱空間 URI。

另請參見:
常數欄位值
方法詳細資訊

validate

boolean validate(XMLValidateContext validateContext)
                 throws XMLSignatureException
根據核心驗證處理規則來驗證簽章。此方法使用現有狀態驗證簽章,它並沒有使用在上下文中指定的位置資訊來解組和重新初始化 XMLSignature 的內容。

此方法只在第一次調用時驗證簽章。在後續調用時,它將返回一個快取記憶體的結果。

參數:
validateContext - 驗證的上下文
返回:
如果簽章傳遞了核心驗證,則返回 true,否則返回 false
拋出:
ClassCastException - 如果 validateContext 型別與此 XMLSignature 不相容
NullPointerException - 如果 validateContextnull
XMLSignatureException - 如果驗證期間出現不可預料的錯誤,從而阻止完成驗證操作

getKeyInfo

KeyInfo getKeyInfo()
返回此 XMLSignature 的密鑰資訊。

返回:
密鑰資訊(如果未指定該資訊,則返回 null

getSignedInfo

SignedInfo getSignedInfo()
返回此 XMLSignature 的簽章資訊。

返回:
簽章資訊(永遠不能為 null

getObjects

List getObjects()
返回一個可修改的列表,由包含在此 XMLSignature 中的 XMLObject 組成。

返回:
一個不可修改的 XMLObject 列表(可以為空,但不能為 null

getId

String getId()
返回此 XMLSignature 的可選 Id。

返回:
Id(如果未指定此 Id,則可能返回 null

getSignatureValue

XMLSignature.SignatureValue getSignatureValue()
返回此 XMLSignature 的簽章值。

返回:
簽章值

sign

void sign(XMLSignContext signContext)
          throws MarshalException,
                 XMLSignatureException
為此 XMLSignature 簽章。

如果此方法拋出異常,則此 XMLSignaturesignContext 參數將保持其調用前的狀態。

參數:
signContext - 簽章的上下文
拋出:
ClassCastException - 如果 signContext 型別與此 XMLSignature 不相容
NullPointerException - 如果 signContextnull
MarshalException - 如果編組時出現異常
XMLSignatureException - 如果產生簽章時出現不可預料的異常

getKeySelectorResult

KeySelectorResult getKeySelectorResult()
在對此 XMLSignature 進行簽章或驗證後,返回密鑰選擇器 KeySelector(如果已指定)的結果。

返回:
密鑰選擇器的結果;如果尚未指定密鑰選擇器,或尚未對此 XMLSignature 進行簽章或驗證,則返回 null

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only