(AIR のみ)
パッケージflash.security
クラスpublic class XMLSignatureValidator
継承XMLSignatureValidator Inheritance EventDispatcher Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

XMLSignatureValidator クラスは、XML 署名ファイルが整形式で変更されていないかどうかを検証します。また、オプションで、このファイルが信頼された電子証明書にリンクされているキーを使用して署名されているかどうかを検証します。

XMLSignatureValidator は、W3C Recommendation for XML-Signature Syntax and Processing のサブセットを実装しているため、適合する実装と見なされません。この勧告でサポートされているサブセットには次のようなものがあります。

XML 署名を検証するために、IURIDereferencer 実装を提供する必要があります。この実装クラスは、署名ファイルの SignedInfo エレメントで指定されている URI を解決し、IDataInput インターフェイスを実装するオブジェクト (ByteArray など) で参照データを返します。

署名証明書が信頼された証明書にチェーンされていることを検証するためには、XML 署名に X509Certificate エレメントでチェーンを構築するために必要な証明書が含まれているか、または addCertificate() メソッドを使用してチェーンの構築に必要な証明書を提供する必要があります。

XMLSignature を検証するには:

  1. XMLSignatureValidator クラスのインスタンスを作成します。
  2. このインスタンスの uriDereferencer プロパティを IURIDereferencer 実装クラスのインスタンスに設定します。
  3. 必要に応じて、addCertificate() メソッドを使用し、証明書信頼チェーンを作成するために DER エンコードされた証明書を提供します。
  4. XMLSignatureValidator verify メソッドを呼び出して、検証する署名を渡します。
  5. XMLSignatureValidator オブジェクトが complete イベントを送出した後、validityStatus プロパティをチェックします。

署名のステータスについて :

XML 署名の有効性は valid、invalid、または unknown です。全体のステータスは、署名ファイルの個々のコンポーネントの検証ステータスによって決まります。

validityStatus プロパティによって報告される署名の有効性には、次のようなものがあります。

標準化の制限:

XML ドキュメントを標準化するとき、AIR の XML エンジンで予想どおりの XML ストリングが常に生成されるとは限りません。この理由により、エンベロープに入れられたまたはデタッチされたシグネチャドキュメント内ではエレメント間に空白文字を挿入しないこと、およびシグネチャドキュメント内部で名前空間を再定義しないことをお勧めします。どちらの場合も、AIR で元のドキュメントと同じ文字並びのドキュメントが再生成されない可能性があり、そのため検証が失敗します。

例を表示

関連項目

IURIDereferencer
XML-Signature Syntax and Processing
Canonical XML
PKCS #1


パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  AIR-only digestStatus : String
[読み取り専用] SignedInfo エレメントに対して計算された暗号署名の有効性ステータス。
XMLSignatureValidator
  AIR-only identityStatus : String
[読み取り専用] 署名証明書の有効性ステータス。
XMLSignatureValidator
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  AIR-only referencesStatus : String
[読み取り専用] SignedInfo エレメントの参照内のデータの有効性のステータス。
XMLSignatureValidator
  AIR-only referencesValidationSetting : String
参照がチェックされる条件を指定します。
XMLSignatureValidator
  AIR-only revocationCheckSetting : String
証明書の失効のチェック方法を指定します。
XMLSignatureValidator
  AIR-only signerCN : String
[読み取り専用] 署名証明書の共通名フィールド。
XMLSignatureValidator
  AIR-only signerDN : String
[読み取り専用] 署名証明書の識別名フィールド。
XMLSignatureValidator
  AIR-only signerExtendedKeyUsages : Array
[読み取り専用] 署名証明書にリストされている拡張キー使用法 OID を含む配列です。
XMLSignatureValidator
  AIR-only signerTrustSettings : Array
[読み取り専用] 署名証明書の信頼設定を含む配列。
XMLSignatureValidator
  AIR-only uriDereferencer : IURIDereferencer
IURIDereferencer 実装。
XMLSignatureValidator
  AIR-only useSystemTrustStore : Boolean
システムの信頼ストアの証明書をチェーンの構築に使用するように指定します。
XMLSignatureValidator
  AIR-only validityStatus : String
[読み取り専用] 検証された XML 署名の有効性ステータス。
XMLSignatureValidator
パブリックメソッド
 メソッド定義元
  
XMLSignatureValidator オブジェクトを作成します。
XMLSignatureValidator
  
チェーン構築用の x509 証明書を追加します。
XMLSignatureValidator
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
  
AIR-only verify(signature:XML):void
指定された署名を検証します。
XMLSignatureValidator
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
  検証が完了したときに送出されます。XMLSignatureValidator
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
  エラーが原因で検証が完了しなかった場合に送出されます。XMLSignatureValidator
プロパティの詳細
AIR-only digestStatusプロパティ
digestStatus:String  [読み取り専用]

ランタイムバージョン: AIR 1.0

SignedInfo エレメントに対して計算された暗号署名の有効性を返します。

ステータスは次のとおりです。

メモ : digestStatus が invalid の場合、identityStatusreferencesStatus はチェックされず、unknown として報告されます。



実装
    public function get digestStatus():String

例外
IllegalOperationError — 署名の検証中にアクセスされた場合。
AIR-only identityStatusプロパティ 
identityStatus:String  [読み取り専用]

ランタイムバージョン: AIR 1.0

署名証明書の有効性ステータス。

ステータスは次のいずれかです。

addCertificate() メソッド、revocationCheckSetting プロパティおよび useSystemTrustStore プロパティの設定を使用して追加された証明書は、証明書が有効と見なされるかどうかを変更できます。

メモ:identityStatus が invalid の場合、referencesStatus はチェックされず、unknown として報告されます。さらに、identityStatus は、referencesValidationSettingvalidOrUnknownIdentity でない限り、unknown になります。



実装
    public function get identityStatus():String

例外
IllegalOperationError — 署名の検証中にアクセスされた場合。

関連項目



次の例では、署名の検証後に、署名証明書の検証結果を取得します。
 import flash.security.XMLSignatureValidator;
 
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var identityResult:String = verifier.identityStatus;
AIR-only referencesStatusプロパティ 
referencesStatus:String  [読み取り専用]

ランタイムバージョン: AIR 1.0

SignedInfo エレメントの参照内のデータの有効性のステータス。

ステータスは次のいずれかです。

重要 : 外部リソースは、署名ドキュメントの SignedInfo エレメント内で直接参照されていない限り、検証されません。二次参照によって参照される外部リソースは検証されません。例えば、XML 署名がマニフェストエレメントに署名している場合は、マニフェストエレメント自体の整合性だけが検証されます。マニフェストにリストされているファイルはチェックされません。



実装
    public function get referencesStatus():String

例外
IllegalOperationError — 署名の検証中にアクセスされた場合。

関連項目



次の例では、署名の検証後に、署名内の参照の検証結果を取得します。
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var dataResult:String = verifier.referencesStatus;
AIR-only referencesValidationSettingプロパティ 
referencesValidationSetting:String

ランタイムバージョン: AIR 1.5

参照がチェックされる条件を指定します。

このプロパティを設定するには、ReferencesValidationSetting クラスに定義されている定数を使用します。この設定には次のようなものがあります。

デフォルトの設定である validIdentity を使用するのは、商用証明書を使用して署名された署名を使用する場合、または addCertificate() メソッドを使用して独自の証明書を信頼アンカーとして供給する場合です。この設定により、署名されたドキュメントが拒否される場合の参照の有効性をチェックするオーバーヘッドが回避されます。

自己署名証明書を使用して署名された署名では、validOrUnknownIdentity 設定を使用します。この設定では、署名されたデータが変更されていないことを検証できますが、署名者のアイデンティティについては何の保証も与えられません。

アプリケーションのコンテキストの中でこのような検証が重要でない場合は、never 設定を使用して、参照を検証するオーバーヘッドを回避します。



実装
    public function get referencesValidationSetting():String
    public function set referencesValidationSetting(value:String):void

例外
IllegalOperationError — 署名の検証中に設定された場合。
 
ArgumentError setting パラメータに、ReferencesValidationSetting クラスで定義されていない値が含まれている場合。

関連項目



次の例では、署名証明書が信頼アンカーにチェーンしている場合のみ参照をチェックするように XMLSignatureValidator オブジェクトを設定します。
 import flash.security.ReferencesValidationSetting;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); 
 verifier.referencesValidationSetting = ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY;
AIR-only revocationCheckSettingプロパティ 
revocationCheckSetting:String

ランタイムバージョン: AIR 1.0

証明書の失効のチェック方法を指定します。

このプロパティを設定するために、RevocationSettings クラスで定義されている定数を使用します。この設定には次のようなものがあります。



実装
    public function get revocationCheckSetting():String
    public function set revocationCheckSetting(value:String):void

例外
IllegalOperationError — 署名の検証中に設定された場合。

関連項目

AIR-only signerCNプロパティ 
signerCN:String  [読み取り専用]

ランタイムバージョン: AIR 1.0

署名証明書の共通名フィールド。



実装
    public function get signerCN():String


次の例では、署名の検証後に、署名証明書の共通名を読み取ります。
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var commonName:String = verifier.signerCN;
AIR-only signerDNプロパティ 
signerDN:String  [読み取り専用]

ランタイムバージョン: AIR 1.0

署名証明書の識別名フィールド。



実装
    public function get signerDN():String


次の例では、署名の検証後に、署名証明書の識別名を読み取ります。
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var distinguishedName:String = verifier.signerDN;
AIR-only signerExtendedKeyUsagesプロパティ 
signerExtendedKeyUsages:Array  [読み取り専用]

ランタイムバージョン: AIR 1.0

署名証明書にリストされている拡張キー使用法 OID を含む配列です。

各拡張キー使用法は、数値形式の OID で報告されます。



実装
    public function get signerExtendedKeyUsages():Array

例外
IllegalOperationError — 署名の検証中にアクセスされた場合。


次の例では、署名の検証後に、署名証明書の拡張キー OID を読み取ります。
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var extendedKeyOIDs:Array = verifier.signerExtendedKeyUsages;
AIR-only signerTrustSettingsプロパティ 
signerTrustSettings:Array  [読み取り専用]

ランタイムバージョン: AIR 1.0

署名証明書の信頼設定を含む配列。

信頼設定は、証明書に埋め込まれたシステム OID およびキー使用法 OID から派生します。有効な信頼設定を表すストリングの定数は、SignerTrustSettings クラスで定義されています。

signerTrustSettings または unknown の証明書の invalid 配列は空です。

配列を変更しても、証明書の信頼設定は変更されません。



実装
    public function get signerTrustSettings():Array

例外
IllegalOperationError — 署名の検証中にアクセスされた場合。

関連項目



次の例では、署名の検証後に、署名証明書の信頼設定を読み取ります。
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var certificateTrustedFor:Array = verifier.signerTrustSettings;
AIR-only uriDereferencerプロパティ 
uriDereferencer:IURIDereferencer

ランタイムバージョン: AIR 1.0

IURIDereferencer 実装。

IURIDereferencer 実装は、署名を検証しようとする前に提供する必要があります。



実装
    public function get uriDereferencer():IURIDereferencer
    public function set uriDereferencer(value:IURIDereferencer):void

例外
IllegalOperationError — 署名の検証中に設定された場合。

関連項目



次の例では、SignedMessageDereferencer のインスタンスを作成します。IURIDereferencer インターフェイスが実装され、署名の検証で使用される逆参照として設定されます。
 import com.example.SignedMessageDereferencer; //A custom class implementing IURIDereferencer
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); 
 verifier.uriDereferencer = new SignedMessageDereferencer();
AIR-only useSystemTrustStoreプロパティ 
useSystemTrustStore:Boolean

ランタイムバージョン: AIR 1.0

システムの信頼ストアの証明書をチェーンの構築に使用するように指定します。

true の場合、システムの信頼ストアの信頼アンカーは信頼されたルートとして使用されます。デフォルトでは、システムの信頼ストアは使用されません。



実装
    public function get useSystemTrustStore():Boolean
    public function set useSystemTrustStore(value:Boolean):void

例外
IllegalOperationError — 署名の検証中に設定された場合。


次の例では、XMLSignatureValidator インスタンスを作成し、XML 署名の検証時に信頼された証明書のシステムリポジトリを使用するように設定します。
 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); 
 verifier.useSystemTrustStore = true;
AIR-only validityStatusプロパティ 
validityStatus:String  [読み取り専用]

ランタイムバージョン: AIR 1.0

検証された XML 署名の有効性ステータス。

XML 署名は、SignedInfo エレメントの暗号署名、署名証明書、および SignedInfo エレメントの参照によって指定されるデータを検証することによって検証されます。これらの各エレメントの有効性は、digestStatusidentityStatus()、および referencesStatus プロパティによってそれぞれ個別に報告されます。

XML 署名の有効性は valid、invalid、または unknown です。全体のステータスは、署名ファイルの個々のコンポーネントの検証ステータスによって決まります。

validityStatus プロパティによって報告される署名の有効性には、次のようなものがあります。



実装
    public function get validityStatus():String

例外
IllegalOperationError — 署名の検証中にアクセスされた場合。

関連項目



次の例では、XML 署名の検証結果を取得します。
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate the signature...
  
 var validationResult:String = verifier.validityStatus;
コンストラクタの詳細
AIR-only XMLSignatureValidator()コンストラクタ
public function XMLSignatureValidator()

ランタイムバージョン: AIR 1.0

XMLSignatureValidator オブジェクトを作成します。

uriDereferencer プロパティの設定は、新しいオブジェクトの verify() メソッドを呼び出す前に行う必要があります。

関連項目




次の例では、新しい XMLSignatureValidator オブジェクトを作成して設定します。
 
import com.example.EnvelopedDereferencer; //Your custom IURIDereferencer implementation

//Create the object
var verifier:XMLSignatureValidator = new XMLSignatureValidator();

//Provide the IURIDerferencer
verifier.uriDereferencer = new EnvelopedDereferencer(xmlDoc);

//Set validation options
verifier.referencesValidationSetting = ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY;
verifier.revocationCheckSetting = RevocationCheckSettings.NEVER;
verifier.useSystemTrustStore = true;

//Add listeners to handle results
verifier.addEventListener(Event.COMPLETE, verificationComplete);
verifier.addEventListener(ErrorEvent.ERROR, verificationError);
メソッドの詳細
AIR-only addCertificate()メソッド
public function addCertificate(cert:ByteArray, trusted:Boolean):*

ランタイムバージョン: AIR 1.0

チェーン構築用の x509 証明書を追加します。

追加される証明書は、DER エンコードされた x509 証明書でなければなりません。

trusted パラメータが true の場合、証明書は信頼アンカーと見なされます。

メモ : XML 署名に、署名者の証明書チェーンを構築するための証明書が含まれていることがあります。XMLSignatureValidator クラスは、チェーンを構築するためにこれらの証明書を使用しますが、信頼されたルートとしては構築されません (デフォルト)。

パラメータ

cert:ByteArray — DER エンコードされた x509 電子証明書を含む ByteArray オブジェクトです。
 
trusted:Booleantrue に設定した場合、この証明書が信頼アンカーに指定されます。

戻り値
*

例外
IllegalOperationError — 署名の検証中に呼び出された場合。



次の例では、ファイルシステムから証明書をロードし、信頼アンカーとして追加します。
 import flash.utils.ByteArray;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 var certificate:ByteArray = new ByteArray();
 
 var certFile:File = new File("certificate.cer");
 var certFileStream:FileStream = new FileStream();
 certFileStream.open(certFile, FileMode.READ);
 certFileStream.readBytes(certificate, 0, certFileStream.bytesAvailable);

 verifier.addCertificate(certificate, true);
AIR-only verify()メソッド 
public function verify(signature:XML):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

指定された署名を検証します。

検証は非同期です。XMLSignatureValidator オブジェクトは、検証が正常に完了すると complete イベントを送出し、エラーが原因で検証が完了できないと error イベントを送出します。

検証処理はキャンセルできません。検証処理の実行中は、後続の verify() メソッドの呼び出しは失敗します。現在の検証が完了すると、もう一度 verify() メソッドを呼び出すことができます。

メモ : XMLSignatureValidator は、W3C recommendation for XML Signature Syntax and Processing のサブセットのみを実装するため、有効な XML 署名のすべてを検証できるわけではありません。

パラメータ

signature:XML — 検証する XML 署名です。


イベント
complete:Event — 検証が正常に完了したときに送出されます。
 
error:ErrorEvent — 参照の検証がエラーを検出した場合に送出されます。

例外
IllegalOperationError — 署名の検証中に呼び出された場合。
 
Error — 署名ファイル内に整形式でない XML やサポートされていないエレメントがあるなど、その他のエラーが発生した場合。



次の例では、XML 署名を含むファイルを読み取り、verify() メソッドを呼び出してそれを検証します。(この例では、IURIDereferencer の実装が署名に適合していると想定します)。
import flash.filesystem.File;
import flash.filesystem.FileStream;
import com.example.SignedMessageDereferencer; //Your IURIDereferencer implementation
 
const xmlSignatureNS:Namespace = new Namespace( "http://www.w3.org/2000/09/xmldsig#" );

var verifier:XMLSignatureValidator = new XMLSignatureValidator();
verifier.uriDereferencer = new SignedMessageDereferencer();

var signatureFile:File = new File( "path/to/XMLSignatureDocument.xml" );
var sigFileStream:FileStream = new FileStream();
sigFileStream.open( signatureFile, FileMode.READ );

var xmlDoc:XML = XML( sigFileStream.readUTFBytes(sigFileStream.bytesAvailable) );
var xmlSig:XML = XML( xmlDoc..xmlSignatureNS::Signature );

verifier.verify( xmlSig );
イベントの詳細
AIR-only complete イベント
イベントオブジェクトの型: flash.events.Event
プロパティ Event.type = flash.events.Event.COMPLETE

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

検証が完了したときに送出されます。

complete イベントは署名が有効であることを意味するものではありません。XMLSignatureValidator オブジェクトの validityStatus プロパティをチェックして、署名検証の結果を判別します。

Event.COMPLETE 定数は、type プロパティ(complete イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
targetロードが完了したネットワークオブジェクトです。



次の例では、XMLSignatureValidator オブジェクトによって送出される完了イベントを監視し、検証結果をトレースします。
private function verificationComplete(event:Event):void{
    var validator:XMLSignatureValidator = event.target as XMLSignatureValidator;
    trace("Digest status: " + validator.digestStatus);
    trace("Identity status: " + validator.identityStatus);
    trace("Reference status: " + validator.referencesStatus);
    trace("Signature status: " + validator.validityStatus);    
}

関連項目

AIR-only error イベント  
イベントオブジェクトの型: flash.events.ErrorEvent
プロパティ ErrorEvent.type = flash.events.ErrorEvent.ERROR

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

エラーが原因で検証が完了しなかった場合に送出されます。

type プロパティ (error イベントオブジェクト) の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
targetネットワーク操作エラーが発生したオブジェクトです。
textエラーメッセージとして表示されるテキストです。



次の例では、XMLSignatureValidator オブジェクトによって送出されるエラーイベントを監視し、エラーメッセージをトレースします。
private function verificationError(event:ErrorEvent):void{
    trace("Verification error: " + event.text);                
}
例の使用法
XMLSignatureValidatorExample.as

次の例では、XML 署名を含むファイルをロードして検証します。この例を使用するには、検証される署名に適合する IURIDereferencer を実装する必要があります (この例で使用されている SignedMessageDereferencer クラスを置き換えます)。SignatureValidatorExample.validateSignature( signatureFile ) を呼び出し、検証する XML 署名ドキュメントを参照するファイルを渡すことで、この例を実行します。
import flash.events.Event;
import flash.filesystem.File;
import flash.filesystem.FileStream;
import flash.security.ReferencesValidationSetting;
import flash.security.XMLSignatureValidator; 

import com.example.SignedMessageDereferencer; //A custom class implementing IURIDereferencer

public class SignatureValidatorExample{ 
    private var xmlSig:XML;
    private const signatureNS:Namespace = new Namespace( "http://www.w3.org/2000/09/xmldsig#" );
    
    public static function validateSignature( signatureFile:File ):void{
        try{
            //Set up the XMLSignatureValidator
            var verifier:XMLSignatureValidator = new XMLSignatureValidator();
            verifier.addEventListener( Event.COMPLETE, verificationComplete );
            verifier.uriDereferencer = new SignedMessageDereferencer();
            verifier.referencesValidationSetting = ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY;
    
            //Load the signed document
            var sigFileStream:FileStream = new FileStream();
            sigFileStream.open( signatureFile, FileMode.READ );
            var xmlDoc:XML = XML( sigFileStream.readUTFBytes(sigFileStream.bytesAvailable) );
            
            //Get the last Signature element in the document
            if( xmlDoc.name().localName != "Signature" ){
                var signatureList:XMLList = xmlDoc..signatureNS::Signature;
                xmlSig = XML( signatureList[ signatureList.length()-1 ] );
            } else{
                xmlSig = xmlDoc;
            }
    
            //Validate the signature
            verifier.verify( xmlSig );
            
        }catch (e:Error){
            statusDisplay.text = "Verification error.\n" + e;
        }
    }
    
    private static function verificationComplete(event:Event):void{
        trace( "Signature Validity: " + verifier.validityStatus );
        trace( "Digest validity: " + verifier.digestStatus );
        trace( "Certificate validity: " + verifier.identityStatus );
        trace( "Data validity: " + verifier.referencesStatus );
    }
}




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/security/XMLSignatureValidator.html