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

AIR プロファイルのサポート:この機能はすべてのデスクトップオペレーティングシステムおよびテレビ用 AIR デバイスでサポートされますが、モバイルデバイスではサポートされません。XMLSignatureValidator.isSupported プロパティを使用して、サポートされているかどうかを実行時にテストすることができます。複数のプロファイル間での API サポートについて詳しくは、AIR プロファイルのサポートを参照してください。

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

  • KeyInfo エレメントを除くすべての主要な署名シンタックス。
  • KeyInfo エレメントは X509Data エレメントのみをサポートします。
  • X509Data エレメントは X509Certificate エレメントのみをサポートします。
  • SHA256 ダイジェストメソッドアルゴリズム。
  • PKCS1 署名アルゴリズム。
  • "Canonical XML without comments" Canonicalization Method and Transform アルゴリズム。
  • 追加署名シンタックスによるマニフェストエレメント。

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 です。全体のステータスは、署名ファイルの個々のコンポーネントの検証ステータスによって決まります。

  • digestStatus -- SignedInfo エレメントに対して計算された暗号署名の有効性。validinvalidunknown のいずれかです。
  • identityStatus -- 署名証明書の有効性。証明書が期限切れになっている、失効している、または変更されている場合、ステータスは invalid になります。信頼されたルート証明書に証明書をチェーンできない場合、ステータスは unknown になります。ダイジェストが無効の場合、証明書はチェックされません。チェックされない場合、ステータスは unknown として報告されます。
  • referencesStatus -- 署名ファイルの SignedInfo エレメントにおける参照によって指示されるデータの有効性。validinvalidunknown のいずれかです。ダイジェストまたは証明書が無効の場合、参照はチェックされません。参照のチェックは、referencesValidationSetting プロパティの設定に基づいてスキップされる場合もあります。チェックされない場合、ステータスは unknown として報告されます。

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

  • valid -- referencesStatusdigestStatus および identityStatus がすべて valid の場合。
  • invalid -- 個々のステータスのいずれかが invalid の場合。
  • unknown -- referencesStatusdigestStatus または identityStatusunknown の場合。

標準化の制限:

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

次の例では、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 ); } }
IURIDereferencerXML-Signature Syntax and ProcessingCanonical XMLPKCS #1error エラーが原因で検証が完了しなかった場合に送出されます。flash.events.ErrorEvent.ERRORflash.events.ErrorEvent エラーが原因で検証が完了しなかった場合に送出されます。 次の例では、XMLSignatureValidator オブジェクトによって送出されるエラーイベントを監視し、エラーメッセージをトレースします。 private function verificationError(event:ErrorEvent):void{ trace("Verification error: " + event.text); } complete 検証が完了したときに送出されます。flash.events.Event.COMPLETEflash.events.Event 検証が完了したときに送出されます。

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

次の例では、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); }
validityStatus
XMLSignatureValidator XMLSignatureValidator オブジェクトを作成します。 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);
uriDereferencer
addCertificate チェーン構築用の x509 証明書を追加します。署名の検証中に呼び出された場合。 IllegalOperationErrorflash.errors:IllegalOperationErrorcertflash.utils:ByteArrayDER エンコードされた x509 電子証明書を含む ByteArray オブジェクトです。 trustedBooleantrue に設定した場合、この証明書が信頼アンカーに指定されます。 チェーン構築用の x509 証明書を追加します。

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

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

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

次の例では、ファイルシステムから証明書をロードし、信頼アンカーとして追加します。 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);
verify 指定された署名を検証します。署名の検証中に呼び出された場合。 IllegalOperationErrorflash.errors:IllegalOperationError署名ファイル内に整形式でない XML やサポートされていないエレメントがあるなど、その他のエラーが発生した場合。 ErrorErrorsignatureXML検証する XML 署名です。 指定された署名を検証します。

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

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

注意: XMLSignatureValidator は、W3C recommendation for XML Signature Syntax and Processing のサブセットのみを実装するため、有効な 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 );
completeflash.events:Event検証が正常に完了したときに送出されます。 検証が正常に完了したときに送出されます。errorflash.events:ErrorEvent参照の検証がエラーを検出した場合に送出されます。 参照の検証がエラーを検出した場合に送出されます。
digestStatus 署名 SignedInfo エレメントに対して計算された暗号署名の有効性を返します。String署名の検証中にアクセスされた場合。 IllegalOperationErrorflash.errors:IllegalOperationError 署名 SignedInfo エレメントに対して計算された暗号署名の有効性を返します。

ステータスを以下に示します。

  • valid — 署名が暗号として有効である場合。
  • invalid — 署名後ダイジェストが変更された場合。
  • unknown -- verify() メソッドが呼び出されていない場合。

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

identityStatus 署名証明書の有効性ステータス。String署名の検証中にアクセスされた場合。 IllegalOperationErrorflash.errors:IllegalOperationError 署名証明書の有効性ステータス。

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

  • valid -- 証明書の有効期限は切れておらず、失効のチェックに失敗せず、信頼されたルート証明書へのチェーンがあります。
  • unknown -- 証明書の有効期限は切れておらず、失効のチェックに失敗しなかったが、信頼されたルート証明書へのチェーンがありません。unknown のステータスは、verify() メソッドが呼び出されていないか、SignedInfo エレメント(digestStatus)の暗号署名が無効であるために、ステータスが検証されていない場合にも報告されます。
  • invalid -- 証明書の有効期限が切れているか、失効のチェックに失敗しました。

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

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

次の例では、署名の検証後に、署名証明書の検証結果を取得します。 import flash.security.XMLSignatureValidator; var verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate a signature... var identityResult:String = verifier.identityStatus;
addCertificate()revocationCheckSettinguseSystemTrustStorereferencesValidationSetting
isSupported 現在のプラットフォームで XMLSignatureValidator クラスがサポートされている場合、isSupported プロパティは true に設定されます。サポートされていない場合は、false に設定されます。Booleanクライアントシステムで XMLSignatureValidation クラスがサポートされているかどうかをレポートします。 現在のプラットフォームで XMLSignatureValidator クラスがサポートされている場合、isSupported プロパティは true に設定されます。サポートされていない場合は、false に設定されます。 referencesStatus 署名 SignedInfo エレメントの参照内にあるデータの有効性のステータス。String署名の検証中にアクセスされた場合。 IllegalOperationErrorflash.errors:IllegalOperationError 署名 SignedInfo エレメントの参照内にあるデータの有効性のステータス。

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

  • valid -- すべての参照が有効な場合。
  • invalid -- いずれかの参照が無効な場合。
  • unknown — 無効な場合。参照は、次の状況の場合に未検証のままになる可能性があります。
    • verify() メソッドが呼び出されなかった場合。
    • SignedInfo エレメントの暗号署名(digestStatus)が無効な場合。
    • 署名証明書(identityStatus)が無効な場合。
    • referencesValidationSettingvalidIdentity(デフォルトの設定)であり、署名証明書の identityStatus が unknown である場合。
    • referencesValidationSettingnever の場合。

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

次の例では、署名の検証後に、署名内の参照の検証結果を取得します。 import flash.security.XMLSignatureValidator; var verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate a signature... var dataResult:String = verifier.referencesStatus;
referencesValidationSetting
referencesValidationSetting 参照がチェックされる条件を指定します。String署名の検証中に設定された場合。 IllegalOperationErrorflash.errors:IllegalOperationErrorReferencesValidationSetting クラスに定義されていない値が setting パラメーターに含まれている場合。 ArgumentErrorArgumentError 参照がチェックされる条件を指定します。

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

  • ReferencesValidationSetting.VALID_IDENTITY — 署名証明書が有効であり、信頼されたルートにチェーンされている場合のみ、参照をチェックします。これはデフォルトの設定です。
  • ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY — 署名証明書が有効な場合に、参照をチェックします。信頼できるルートにチェーンされていない場合でも実行します。
  • ReferencesValidationSetting.NEVER — 参照をチェックしません。

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

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

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

次の例では、署名証明書が信頼アンカーにチェーンしている場合のみ参照をチェックするように XMLSignatureValidator オブジェクトを設定します。 import flash.security.ReferencesValidationSetting; var verifier:XMLSignatureValidator = new XMLSignatureValidator(); verifier.referencesValidationSetting = ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY;
ReferencesValidationSetting
revocationCheckSetting 証明書の失効のチェック方法を指定します。String署名の検証中に設定された場合。 IllegalOperationErrorflash.errors:IllegalOperationError 証明書の失効のチェック方法を指定します。

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

  • RevocationCheckSettings.NEVER -- 証明書の失効をチェックしません。
  • RevocationCheckSettings.BEST_EFFORT -- 失効情報があり、失効ステータスを取得できる場合、証明書の失効をチェックします。失効ステータスが明確に判別できない場合、証明書は拒否されません。
  • RevocationCheckSettings.REQUIRED_IF_AVAILABLE -- 証明書に失効情報が含まれている場合、証明書を検証するために失効ステータスを明確に判別できる必要があります。
  • RevocationCheckSettings.ALWAYS_REQUIRED -- 常に証明書の失効をチェックします。失効情報がない証明書は拒否されます。
RevocationCheckSettings
signerCN 署名証明書の共通名フィールド。String 署名証明書の共通名フィールド。 次の例では、署名の検証後に、署名証明書の共通名を読み取ります。 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate a signature... var commonName:String = verifier.signerCN; signerDN 署名証明書の識別名フィールド。String 署名証明書の識別名フィールド。 次の例では、署名の検証後に、署名証明書の識別名を読み取ります。 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate a signature... var distinguishedName:String = verifier.signerDN; signerExtendedKeyUsages 署名証明書にリストされている拡張キー使用法 OID を含む配列です。Array署名の検証中にアクセスされた場合。 IllegalOperationErrorflash.errors:IllegalOperationError 署名証明書にリストされている拡張キー使用法 OID を含む配列です。

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

次の例では、署名の検証後に、署名証明書の拡張キー OID を読み取ります。 import flash.security.XMLSignatureValidator; var verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate a signature... var extendedKeyOIDs:Array = verifier.signerExtendedKeyUsages;
signerTrustSettings 署名証明書の信頼設定を含む配列。Array署名の検証中にアクセスされた場合。 IllegalOperationErrorflash.errors:IllegalOperationError 署名証明書の信頼設定を含む配列。

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

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

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

次の例では、署名の検証後に、署名証明書の信頼設定を読み取ります。 import flash.security.XMLSignatureValidator; var verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate a signature... var certificateTrustedFor:Array = verifier.signerTrustSettings;
SignerTrustSettings
uriDereferencer IURIDereferencer 実装。flash.security:IURIDereferencer署名の検証中に設定された場合。 IllegalOperationErrorflash.errors:IllegalOperationError IURIDereferencer 実装。

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

次の例では、SignedMessageDereferencer のインスタンスを作成します。IURIDereferencer インターフェイスが実装され、署名の検証で使用される逆参照として設定されます。 import com.example.SignedMessageDereferencer; //A custom class implementing IURIDereferencer var verifier:XMLSignatureValidator = new XMLSignatureValidator(); verifier.uriDereferencer = new SignedMessageDereferencer();
IURIDereferencer
useSystemTrustStore システムの信頼ストアの証明書をチェーンの構築に使用するように指定します。Boolean署名の検証中に設定された場合。 IllegalOperationErrorflash.errors:IllegalOperationError システムの信頼ストアの証明書をチェーンの構築に使用するように指定します。

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

次の例では、XMLSignatureValidator インスタンスを作成し、XML 署名の検証時に信頼された証明書のシステムリポジトリを使用するように設定します。 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); verifier.useSystemTrustStore = true;
validityStatus 検証された XML 署名の有効性ステータス。String署名の検証中にアクセスされた場合。 IllegalOperationErrorflash.errors:IllegalOperationError 検証された XML 署名の有効性ステータス。

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

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

  • digestStatus -- SignedInfo エレメントに対して計算された暗号署名の有効性。
  • identityStatus -- 署名証明書の有効性。
  • referencesStatus -- 署名の SignedInfo エレメントにおける参照のダイジェストの有効性。

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

  • valid -- referencesStatusdigestStatus および identityStatus がすべて valid の場合。
  • invalid -- 個々のステータスのいずれかが invalid の場合。
  • unknown -- 個々のステータスのいずれかが unknown の場合。
次の例では、XML 署名の検証結果を取得します。 import flash.security.XMLSignatureValidator; var verifier:XMLSignatureValidator = new XMLSignatureValidator(); //validate the signature... var validationResult:String = verifier.validityStatus;
digestStatusidentityStatusreferencesStatusSignatureStatus
IURIDereferencer IURIDereferencer は、XML 署名の URI を解決するオブジェクトのインターフェイスを定義します。 IURIDereferencer は、XML 署名の URI を解決するオブジェクトのインターフェイスを定義します。

IURIDereferencer 実装は、XML 署名ファイルの SignedInfo エレメントで指定されている URI を解決し、IDataInput インターフェイスを実装するオブジェクト (ByteArray など) で参照データを返します。

このインターフェイスには、dereference() という 1 つのメソッドがあります。一般的な実装では、dereferencer に解決される URI を含む XML 署名オブジェクトを渡すメソッドも必要な場合があります。

IURIDereferencer インターフェイスは、XMLSignatureValidator クラスと共に使用されます。

XMLSignatureValidatorXMLSignatureValidator.uriDereferencerdereference 指定された URI を解決し、逆参照します。URI によって参照されるデータ。 flash.utils:IDataInputuriString逆参照する URI。 指定された URI を解決し、逆参照します。
SignerTrustSettings SignerTrustSettings クラスは、XMLSignatureValidator オブジェクトの SignerTrustSettings プロパティで使用される定数を定義します。Object SignerTrustSettings クラスは、XMLSignatureValidator オブジェクトの SignerTrustSettings プロパティで使用される定数を定義します。 XMLSignatureValidator.signerTrustSettingsCODE_SIGNING 証明書がコード署名について信頼されています。codeSigningString 証明書がコード署名について信頼されています。これは、信頼されたルートへの証明書チェーンがあること、そのルートがコード署名について信頼されていること、および署名証明書の拡張キー使用法拡張に CodeSigning OID が含まれていることを意味します。 PLAYLIST_SIGNING 証明書が再生リストの署名について信頼されています。playlistSigningString 証明書が再生リストの署名について信頼されています。これは、信頼されたルートへの証明書チェーンがあること、および拡張キー使用法拡張に再生リスト署名 OID が含まれていることを意味します。 SIGNING 証明書が署名について全般的に信頼されています。signingString 証明書が署名について全般的に信頼されています。 SignatureStatus SignatureStatus クラスは、XMLSignatureValidator オブジェクトの validityStatus プロパティで使用される定数を定義します。Object SignatureStatus クラスは、XMLSignatureValidator オブジェクトの validityStatus プロパティで使用される定数を定義します。 XMLSignatureValidator.validityStatusINVALID Invalid ステータス。invalidString Invalid ステータス。 UNKNOWN Unknown ステータス。unknownString Unknown ステータス。 VALID Valid ステータス。validString Valid ステータス。 ReferencesValidationSetting ReferencesValidationSetting クラスは、XMLSignatureValidator オブジェクトの referencesValidationSetting プロパティで使用される定数を定義します。XML 署名内の参照データの検証でサポートされるモードの定数を定義します。 Object ReferencesValidationSetting クラスは、XMLSignatureValidator オブジェクトの referencesValidationSetting プロパティで使用される定数を定義します。 XMLSignatureValidator.ReferencesValidationSettingNEVER 参照をチェックしません。neverString 参照をチェックしません。 VALID_IDENTITY 署名証明書が有効であり、信頼される場合のみ、参照をチェックします。validIdentityString 署名証明書が有効であり、信頼される場合のみ、参照をチェックします。 VALID_OR_UNKNOWN_IDENTITY 署名証明書が信頼されない(既知の信頼されたルートにチェーンしていない)場合でも、参照をチェックします。validOrUnknownIdentityString 署名証明書が信頼されない(既知の信頼されたルートにチェーンしていない)場合でも、参照をチェックします。 RevocationCheckSettings RevocationCheckSettings クラスは、XMLSignatureValidator オブジェクトの revocationCheckSetting プロパティで使用される定数を定義します。Object RevocationCheckSettings クラスは、XMLSignatureValidator オブジェクトの revocationCheckSetting プロパティで使用される定数を定義します。 XMLSignatureValidator.revocationCheckSettingALWAYS_REQUIRED 常に証明書の失効をチェックします。alwaysRequiredString 常に証明書の失効をチェックします。失効情報がない証明書は拒否されます。 BEST_EFFORT 失効情報があり、失効ステータスを取得できる場合、証明書の失効をチェックします。bestEffortString 失効情報があり、失効ステータスを取得できる場合、証明書の失効をチェックします。失効ステータスが明確に判別できない場合、証明書は拒否されません。 NEVER 証明書の失効をチェックしません。neverString 証明書の失効をチェックしません。 REQUIRED_IF_AVAILABLE 証明書に失効情報が含まれている場合、証明書の失効をチェックします。requiredIfInfoAvailableString 証明書に失効情報が含まれている場合、証明書の失効をチェックします。情報はあるが失効ステータスが明確に判別できない場合、証明書は拒否されます。 CertificateStatus CertificateStatus クラスは、証明書検証処理の結果を報告するために SecureSocket オブジェクトによって使用される定数を定義します。Object CertificateStatus クラスは、証明書検証処理の結果を報告するために SecureSocket オブジェクトによって使用される定数を定義します。 SecureSocket.serverCertificateStatusEXPIRED この証明書は有効期間の範囲外です。expiredString この証明書は有効期間の範囲外です。

証明書検証処理が試行されたが、証明書の有効期間が現在の日付よりも前または後の日付だったために、失敗したことを示します。一部のオペレーティングシステムでは、現在の日付が証明書の有効期間よりも前の日付である場合、notYetValid ステータスがレポートされます。他のオペレーティングシステムでは、どちらの場合でも expired ステータスがレポートされます。

INVALID_CHAIN この証明書チェーン内のルート証明書または中間証明書は無効です。invalidChainString この証明書チェーン内のルート証明書または中間証明書は無効です。

証明書検証処理が試行されたが、証明書の信頼チェーンが無効なために失敗したことを示します。

INVALID 無効な証明書。invalidString 無効な証明書。

証明書検証処理が試行されたが、失敗したことを示します。これは、一般的な失敗の状態を示しており、証明書の状態を詳しく特定できない場合に報告されます。

NOT_YET_VALID 証明書はまだ有効になっていません。notYetValidString 証明書はまだ有効になっていません。

証明書がまだ有効になっていないことを示します。現在の日付が、証明書の notBefore 日時よりも前の日付です。

PRINCIPAL_MISMATCH 証明書の一般名が、予期されているホスト名と一致しません。principalMismatchString 証明書の一般名が、予期されているホスト名と一致しません。

証明書検証処理が試行されたが、証明書の一般名がホストの完全修飾ドメイン名と一致していないために失敗したことを示します。

REVOKED 証明書は失効しています。revokedString 証明書は失効しています。

証明書検証処理が試行されたが、証明書が失効していたために失敗したことを示します。一部のオペレーティングシステムでは、証明書(またはそのルート証明書)がクライアントコンピューター上の信頼されていない証明書のリストに追加されたときに、revoked ステータスもレポートされます。

TRUSTED 信頼できる有効な証明書です。trustedString 信頼できる有効な証明書です。

証明書の有効期限は切れておらず、失効のチェックに失敗せず、信頼できるルート証明書へのチェーンがあることを示します。

UNKNOWN 証明書の有効性は不明です。unknownString 証明書の有効性は不明です。

証明書に対する証明書検証処理がまだ実行されていないことを示します。

UNTRUSTED_SIGNERS 証明書は、信頼できるルート証明書にチェーンされていません。untrustedSignersString 証明書は、信頼できるルート証明書にチェーンされていません。

証明書検証処理が試行されたが、証明書がクライアントの信頼ストア内のルート証明書にチェーンされていないことを示します。一部のオペレーティングシステムでは、証明書がクライアントコンピューター上の信頼されていない証明書のリストに追加されたときに、untrustedSigners もレポートされます。