| パッケージ | flash.security |
| クラス | public class XMLSignatureValidator |
| 継承 | XMLSignatureValidator EventDispatcher Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
XMLSignatureValidator は、W3C Recommendation for XML-Signature Syntax and Processing のサブセットを実装しているため、適合する実装と見なされません。この勧告でサポートされているサブセットには次のようなものがあります。
XML 署名を検証するために、IURIDereferencer 実装を提供する必要があります。この実装クラスは、署名ファイルの SignedInfo エレメントで指定されている URI を解決し、IDataInput インターフェイスを実装するオブジェクト (ByteArray など) で参照データを返します。
署名証明書が信頼された証明書にチェーンされていることを検証するためには、XML 署名に X509Certificate エレメントでチェーンを構築するために必要な証明書が含まれているか、または addCertificate() メソッドを使用してチェーンの構築に必要な証明書を提供する必要があります。
XMLSignature を検証するには:
uriDereferencer プロパティを IURIDereferencer 実装クラスのインスタンスに設定します。addCertificate() メソッドを使用し、証明書信頼チェーンを作成するために DER エンコードされた証明書を提供します。verify メソッドを呼び出して、検証する署名を渡します。validityStatus プロパティをチェックします。署名のステータスについて :
XML 署名の有効性は valid、invalid、または unknown です。全体のステータスは、署名ファイルの個々のコンポーネントの検証ステータスによって決まります。
digestStatus -- SignedInfo エレメントに対して計算された暗号署名の有効性。valid、invalid、または unknown を指定できます。identityStatus -- 署名証明書の有効性。証明書が期限切れになっている、失効している、または変更されている場合、ステータスは invalid になります。信頼されたルート証明書に証明書をチェーンできない場合、ステータスは unknown になります。ダイジェストが無効の場合、証明書はチェックされません。 チェックされない場合、ステータスは unknown として報告されます。referencesStatus -- 署名ファイルの SignedInfo エレメントにおける参照によって指示されるデータの有効性。valid、invalid、または unknown を指定できます。ダイジェストまたは証明書が無効の場合、参照はチェックされません。参照のチェックは、referencesValidationSetting プロパティの設定に基づいてスキップされる場合もあります。チェックされない場合、ステータスは unknown として報告されます。
validityStatus プロパティによって報告される署名の有効性には、次のようなものがあります。
valid - referencesStatus、digestStatus、identityStatus がすべて valid の場合。invalid - 個々のステータスのいずれかが invalid の場合。unknown - referencesStatus、digestStatus、identityStatus のいずれかが unknown の場合。標準化の制限:
XML ドキュメントを標準化するとき、AIR の XML エンジンで予想どおりの XML ストリングが常に生成されるとは限りません。この理由により、エンベロープに入れられたまたはデタッチされたシグネチャドキュメント内ではエレメント間に空白文字を挿入しないこと、およびシグネチャドキュメント内部で名前空間を再定義しないことをお勧めします。どちらの場合も、AIR で元のドキュメントと同じ文字並びのドキュメントが再生成されない可能性があり、そのため検証が失敗します。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。 | Object | |
[読み取り専用]
SignedInfo エレメントに対して計算された暗号署名の有効性ステータス。 | XMLSignatureValidator | ||
[読み取り専用]
署名証明書の有効性ステータス。 | XMLSignatureValidator | ||
![]() | prototype : Object [静的]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
[読み取り専用]
SignedInfo エレメントの参照内のデータの有効性のステータス。 | XMLSignatureValidator | ||
参照がチェックされる条件を指定します。 | XMLSignatureValidator | ||
証明書の失効のチェック方法を指定します。 | XMLSignatureValidator | ||
[読み取り専用]
署名証明書の共通名フィールド。 | XMLSignatureValidator | ||
[読み取り専用]
署名証明書の識別名フィールド。 | XMLSignatureValidator | ||
[読み取り専用]
署名証明書にリストされている拡張キー使用法 OID を含む配列です。 | XMLSignatureValidator | ||
[読み取り専用]
署名証明書の信頼設定を含む配列。 | XMLSignatureValidator | ||
IURIDereferencer 実装。 | XMLSignatureValidator | ||
システムの信頼ストアの証明書をチェーンの構築に使用するように指定します。 | XMLSignatureValidator | ||
[読み取り専用]
検証された XML 署名の有効性ステータス。 | XMLSignatureValidator | ||
| メソッド | 定義元 | ||
|---|---|---|---|
XMLSignatureValidator オブジェクトを作成します。 | XMLSignatureValidator | ||
チェーン構築用の x509 証明書を追加します。 | XMLSignatureValidator | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | |
![]() |
イベントをイベントフローに送出します。 | EventDispatcher | |
![]() |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | |
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() |
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
指定された署名を検証します。 | XMLSignatureValidator | ||
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher | |
| イベント | 概要 | 定義元 | ||
|---|---|---|---|---|
![]() | [ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | ||
| 検証が完了したときに送出されます。 | XMLSignatureValidator | |||
![]() | [ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | ||
| エラーが原因で検証が完了しなかった場合に送出されます。 | XMLSignatureValidator | |||
| プロパティ |
digestStatus:String [読み取り専用] | ランタイムバージョン: | AIR 1.0 |
SignedInfo エレメントに対して計算された暗号署名の有効性を返します。
ステータスは次のとおりです。
valid -- 署名の暗号が有効である場合。invalid -- ダイジェストが署名後に変更されている場合。unknown - verify() メソッドが呼び出されていない場合。メモ : digestStatus が invalid の場合、identityStatus と referencesStatus はチェックされず、unknown として報告されます。
public function get digestStatus():StringIllegalOperationError — 署名の検証中にアクセスされた場合。
|
| プロパティ |
identityStatus:String [読み取り専用] | ランタイムバージョン: | AIR 1.0 |
署名証明書の有効性ステータス。
ステータスは次のいずれかです。
valid -- 証明書の有効期限は切れておらず、失効のチェックに失敗せず、信頼されたルート証明書へのチェーンがあります。unknown -- 証明書の有効期限は切れておらず、失効のチェックに失敗しなかったが、信頼されたルート証明書へのチェーンがありません。また、unknown のステータスが、verify() メソッドが呼び出されなかったか、または、SignedInfo エレメント(digestStatus)の暗号署名が無効であることが原因で報告されます。invalid -- 証明書の有効期限が切れているか、失効のチェックに失敗しました。addCertificate() メソッド、revocationCheckSetting プロパティおよび useSystemTrustStore プロパティの設定を使用して追加された証明書は、証明書が有効と見なされるかどうかを変更できます。
メモ:identityStatus が invalid の場合、referencesStatus はチェックされず、unknown として報告されます。さらに、identityStatus は、referencesValidationSetting が validOrUnknownIdentity でない限り、unknown になります。
public function get identityStatus():StringIllegalOperationError — 署名の検証中にアクセスされた場合。
|
関連項目
import flash.security.XMLSignatureValidator; var verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate a signature... var identityResult:String = verifier.identityStatus;
| プロパティ |
referencesStatus:String [読み取り専用] | ランタイムバージョン: | AIR 1.0 |
SignedInfo エレメントの参照内のデータの有効性のステータス。
ステータスは次のいずれかです。
valid -- すべての参照が有効な場合。invalid -- いずれかの参照が無効な場合。unknown — 無効な場合。参照は、次の状況の場合に未検証のままになる可能性があります。
verify() メソッドが呼び出されなかった場合。digestStatus)が無効な場合。identityStatus)が無効な場合。referencesValidationSetting が validIdentity(デフォルトの設定)であり、署名証明書の identityStatus が unknown である場合。referencesValidationSetting は never です。重要 : 外部リソースは、署名ドキュメントの SignedInfo エレメント内で直接参照されていない限り、検証されません。二次参照によって参照される外部リソースは検証されません。例えば、XML 署名がマニフェストエレメントに署名している場合は、マニフェストエレメント自体の整合性だけが検証されます。マニフェストにリストされているファイルはチェックされません。
public function get referencesStatus():StringIllegalOperationError — 署名の検証中にアクセスされた場合。
|
関連項目
import flash.security.XMLSignatureValidator; var verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate a signature... var dataResult:String = verifier.referencesStatus;
| プロパティ |
referencesValidationSetting:String| ランタイムバージョン: | AIR 1.5 |
参照がチェックされる条件を指定します。
このプロパティを設定するには、ReferencesValidationSetting クラスに定義されている定数を使用します。この設定には次のようなものがあります。
ReferencesValidationSetting.VALID_IDENTITY — 署名証明書が有効であり、信頼されたルートにチェーンされている場合のみ、参照をチェックします。これはデフォルトの設定です。ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY — 署名証明書が有効な場合に、参照をチェックします。信頼できるルートにチェーンされていない場合でも実行します。ReferencesValidationSetting.NEVER — 参照をチェックしません。
デフォルトの設定である validIdentity を使用するのは、商用証明書を使用して署名された署名を使用する場合、または addCertificate() メソッドを使用して独自の証明書を信頼アンカーとして供給する場合です。この設定により、署名されたドキュメントが拒否される場合の参照の有効性をチェックするオーバーヘッドが回避されます。
自己署名証明書を使用して署名された署名では、validOrUnknownIdentity 設定を使用します。この設定では、署名されたデータが変更されていないことを検証できますが、署名者のアイデンティティについては何の保証も与えられません。
アプリケーションのコンテキストの中でこのような検証が重要でない場合は、never 設定を使用して、参照を検証するオーバーヘッドを回避します。
public function get referencesValidationSetting():String public function set referencesValidationSetting(value:String):voidIllegalOperationError — 署名の検証中に設定された場合。
| |
ArgumentError — setting パラメータに、ReferencesValidationSetting クラスで定義されていない値が含まれている場合。
|
関連項目
import flash.security.ReferencesValidationSetting; var verifier:XMLSignatureValidator = new XMLSignatureValidator(); verifier.referencesValidationSetting = ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY;
| プロパティ |
revocationCheckSetting:String| ランタイムバージョン: | AIR 1.0 |
証明書の失効のチェック方法を指定します。
このプロパティを設定するために、RevocationSettings クラスで定義されている定数を使用します。この設定には次のようなものがあります。
RevocationCheckSettings.NEVER -- 証明書の失効をチェックしません。RevocationCheckSettings.BEST_EFFORT -- 失効情報があり、失効ステータスを取得できる場合、証明書の失効をチェックします。失効ステータスが明確に判別できない場合、証明書は拒否されません。RevocationCheckSettings.REQUIRED_IF_AVAILABLE -- 証明書に失効情報が含まれている場合、証明書を検証するために失効ステータスを明確に判別できる必要があります。RevocationCheckSettings.ALWAYS_REQUIRED -- 常に証明書の失効をチェックします。失効情報がない証明書は拒否されます。 public function get revocationCheckSetting():String public function set revocationCheckSetting(value:String):voidIllegalOperationError — 署名の検証中に設定された場合。
|
関連項目
| プロパティ |
signerCN:String [読み取り専用] | ランタイムバージョン: | AIR 1.0 |
署名証明書の共通名フィールド。
public function get signerCN():Stringvar verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate a signature... var commonName:String = verifier.signerCN;
| プロパティ |
signerDN:String [読み取り専用] | ランタイムバージョン: | AIR 1.0 |
署名証明書の識別名フィールド。
public function get signerDN():Stringvar verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate a signature... var distinguishedName:String = verifier.signerDN;
| プロパティ |
signerExtendedKeyUsages:Array [読み取り専用] | ランタイムバージョン: | AIR 1.0 |
署名証明書にリストされている拡張キー使用法 OID を含む配列です。
各拡張キー使用法は、数値形式の OID で報告されます。
public function get signerExtendedKeyUsages():ArrayIllegalOperationError — 署名の検証中にアクセスされた場合。
|
import flash.security.XMLSignatureValidator; var verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate a signature... var extendedKeyOIDs:Array = verifier.signerExtendedKeyUsages;
| プロパティ |
signerTrustSettings:Array [読み取り専用] | ランタイムバージョン: | AIR 1.0 |
署名証明書の信頼設定を含む配列。
信頼設定は、証明書に埋め込まれたシステム OID およびキー使用法 OID から派生します。有効な信頼設定を表すストリングの定数は、SignerTrustSettings クラスで定義されています。
signerTrustSettings または unknown の証明書の invalid 配列は空です。
配列を変更しても、証明書の信頼設定は変更されません。
public function get signerTrustSettings():ArrayIllegalOperationError — 署名の検証中にアクセスされた場合。
|
関連項目
import flash.security.XMLSignatureValidator; var verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate a signature... var certificateTrustedFor:Array = verifier.signerTrustSettings;
| プロパティ |
uriDereferencer:IURIDereferencer| ランタイムバージョン: | AIR 1.0 |
IURIDereferencer 実装。
IURIDereferencer 実装は、署名を検証しようとする前に提供する必要があります。
public function get uriDereferencer():IURIDereferencer public function set uriDereferencer(value:IURIDereferencer):voidIllegalOperationError — 署名の検証中に設定された場合。
|
関連項目
import com.example.SignedMessageDereferencer; //A custom class implementing IURIDereferencer var verifier:XMLSignatureValidator = new XMLSignatureValidator(); verifier.uriDereferencer = new SignedMessageDereferencer();
| プロパティ |
useSystemTrustStore:Boolean| ランタイムバージョン: | AIR 1.0 |
システムの信頼ストアの証明書をチェーンの構築に使用するように指定します。
true の場合、システムの信頼ストアの信頼アンカーは信頼されたルートとして使用されます。デフォルトでは、システムの信頼ストアは使用されません。
public function get useSystemTrustStore():Boolean public function set useSystemTrustStore(value:Boolean):voidIllegalOperationError — 署名の検証中に設定された場合。
|
var verifier:XMLSignatureValidator = new XMLSignatureValidator(); verifier.useSystemTrustStore = true;
| プロパティ |
validityStatus:String [読み取り専用] | ランタイムバージョン: | AIR 1.0 |
検証された XML 署名の有効性ステータス。
XML 署名は、SignedInfo エレメントの暗号署名、署名証明書、および SignedInfo エレメントの参照によって指定されるデータを検証することによって検証されます。これらの各エレメントの有効性は、digestStatus、identityStatus()、および referencesStatus プロパティによってそれぞれ個別に報告されます。
XML 署名の有効性は valid、invalid、または unknown です。全体のステータスは、署名ファイルの個々のコンポーネントの検証ステータスによって決まります。
digestStatus -- SignedInfo エレメントに対して計算された暗号署名の有効性。identityStatus -- 署名証明書の有効性。referencesStatus -- 署名の SignedInfo エレメントにおける参照のダイジェストの有効性。validityStatus プロパティによって報告される署名の有効性には、次のようなものがあります。
valid - referencesStatus、digestStatus、identityStatus がすべて valid の場合。invalid - 個々のステータスのいずれかが invalid の場合。unknown - 個々のステータスのいずれかが unknown の場合。 public function get validityStatus():StringIllegalOperationError — 署名の検証中にアクセスされた場合。
|
関連項目
import flash.security.XMLSignatureValidator; var verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate the signature... var validationResult:String = verifier.validityStatus;
| () | コンストラクタ |
public function XMLSignatureValidator()| ランタイムバージョン: | AIR 1.0 |
XMLSignatureValidator オブジェクトを作成します。
uriDereferencer プロパティの設定は、新しいオブジェクトの verify() メソッドを呼び出す前に行う必要があります。
関連項目
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);
| () | メソッド |
public function addCertificate(cert:ByteArray, trusted:Boolean):*| ランタイムバージョン: | AIR 1.0 |
チェーン構築用の x509 証明書を追加します。
追加される証明書は、DER エンコードされた x509 証明書でなければなりません。
trusted パラメータが true の場合、証明書は信頼アンカーと見なされます。
メモ : XML 署名に、署名者の証明書チェーンを構築するための証明書が含まれていることがあります。XMLSignatureValidator クラスは、チェーンを構築するためにこれらの証明書を使用しますが、信頼されたルートとしては構築されません (デフォルト)。
パラメータ
cert:ByteArray — DER エンコードされた x509 電子証明書を含む ByteArray オブジェクトです。
| |
trusted:Boolean — true に設定した場合、この証明書が信頼アンカーに指定されます。
|
* |
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);
| () | メソッド |
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: — 検証が正常に完了したときに送出されます。 | |
error: — 参照の検証がエラーを検出した場合に送出されます。 |
IllegalOperationError — 署名の検証中に呼び出された場合。
| |
Error — 署名ファイル内に整形式でない 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 );
| イベント |
flash.events.Eventflash.events.Event.COMPLETE| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
検証が完了したときに送出されます。
complete イベントは署名が有効であることを意味するものではありません。XMLSignatureValidator オブジェクトの validityStatus プロパティをチェックして、署名検証の結果を判別します。
Event.COMPLETE 定数は、type プロパティ(complete イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | ロードが完了したネットワークオブジェクトです。 |
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);
}
関連項目
| イベント |
flash.events.ErrorEventflash.events.ErrorEvent.ERROR| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
エラーが原因で検証が完了しなかった場合に送出されます。
type プロパティ (error イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | ネットワーク操作エラーが発生したオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
private function verificationError(event:ErrorEvent):void{
trace("Verification error: " + event.text);
}
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