(Только AIR)
Пакетflash.security
Классpublic class XMLSignatureValidator
НаследованиеXMLSignatureValidator Inheritance EventDispatcher Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0

Класс XMLSignatureValidator проверяет, действительно ли файл сигнатуры XML правильно сформирован, не изменялся и, дополнительно, действительно ли он подписан с помощью ключа, связанного с доверенным цифровым сертификатом.

Класс XMLSignatureValidator реализует набор рекомендаций W3C в отношении синтаксиса и обработки XML-сигнатур, но его не следует считать полной реализацией всех рекомендаций. Поддерживаемый набор включает следующие рекомендации.

Для проверки сигнатуры необходимо предоставить реализацию IURIDereferencer Этот класс реализации отвечает за разрешение идентификаторов URI, указанных в элементах SignedInfo файла сигнатуры, и возвращает ссылочные данные в объект, например ByteArray, реализующий интерфейс IDataInput.

Чтобы проверить, что подписывающий сертификат в одной цепи с доверенным сертификатом, либо в сигнатуре XML должны содержаться сертификаты, необходимые для создания цепи в элементах X509Certificate, либо необходимо предоставить сертификаты, требуемые для создания цепи с помощью метода addCertificate().

Проверка XMLSignature:

  1. Создайте экземпляр класса XMLSignatureValidator.
  2. Установите свойство uriDereferencer для этого экземпляра как для экземпляра класса реализации IURIDereferencer.
  3. Предоставьте зашифрованные в формате DER сертификаты для построения доверительной цепи сертификата, если это необходимо, используя методaddCertificate().
  4. Вызовите метод проверки XMLSignatureValidator, передав в него сигнатуру для проверки.
  5. Проверьте свойство validityStatus после того, как объект XMLSignatureValidator отправит событие complete.

О состоянии сигнатуры:

Достоверность сигнатуры XML может иметь три значения: действительно, недействительно, неизвестно. Общее состояние зависит от состояния проверки отдельных компонентов файла сигнатуры.

Достоверность сигнатуры, указанная в свойстве validityStatus, может принимать следующие значения.

См. также

IURIDereferencer
Синтаксис и порядок обработки XML-сигнатуры
Канонический 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 revocationCheckSetting : String
Указывает, как проверяется аннулирование сертификата.
XMLSignatureValidator
  AIR-only signerCN : String
[только для чтения] Поле "Общее имя" в подписывающем сертификате.
XMLSignatureValidator
  AIR-only signerDN : String
[только для чтения] Поле "Отличительное имя" в подписывающем сертификате.
XMLSignatureValidator
  AIR-only signerExtendedKeyUsages : Array
[только для чтения] Массив, содержащий объектные идентификаторы расширенного использования ключей, перечисленные в подписывающем сертификате.
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 перемещается в фокус операционной системы и становится активным.EventDispatcher
  Передается, если выполнена проверка.XMLSignatureValidator
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player покидает фокус операционной системы и становится неактивным.EventDispatcher
  Передается, если невозможно выполнить проверку из-за ошибок.XMLSignatureValidator
Сведения о свойстве
AIR-only digestStatusсвойство
digestStatus:String  [только для чтения]

Версии среды выполнения: AIR 1.0

Состояние достоверности для криптографической сигнатуры, рассчитанной по элементу SignedInfo.

Значение состояния:


Реализация
    public function get digestStatus():String

Выдает
IllegalOperationError — Если происходит обращение во время проверки сигнатуры.
AIR-only identityStatusсвойство 
identityStatus:String  [только для чтения]

Версии среды выполнения: AIR 1.0

Состояние достоверности подписывающего сертификата.

Состояние может принимать следующие значения:

Сертификаты добавляются с помощью метода addCertificate(), а установки свойств revocationCheckSetting и useSystemTrustStore можно изменить в зависимости от того, считается ли сертификат действительным.


Реализация
    public function get identityStatus():String

Выдает
IllegalOperationError — Если происходит обращение во время проверки сигнатуры.

См. также

AIR-only referencesStatusсвойство 
referencesStatus:String  [только для чтения]

Версии среды выполнения: AIR 1.0

Состояние достоверности дайджеста по всем ссылкам в элементе SignedInfo.

Значение состояния:


Реализация
    public function get referencesStatus():String

Выдает
IllegalOperationError — Если происходит обращение во время проверки сигнатуры.
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
AIR-only signerDNсвойство 
signerDN:String  [только для чтения]

Версии среды выполнения: AIR 1.0

Поле "Отличительное имя" в подписывающем сертификате.


Реализация
    public function get signerDN():String
AIR-only signerExtendedKeyUsagesсвойство 
signerExtendedKeyUsages:Array  [только для чтения]

Версии среды выполнения: AIR 1.0

Массив, содержащий объектные идентификаторы расширенного использования ключей, перечисленные в подписывающем сертификате.

Каждое расширенно использование ключей регистрируется в форме цифрового объектного идентификатора.


Реализация
    public function get signerExtendedKeyUsages():Array

Выдает
IllegalOperationError — Если происходит обращение во время проверки сигнатуры.
AIR-only signerTrustSettingsсвойство 
signerTrustSettings:Array  [только для чтения]

Версии среды выполнения: AIR 1.0

Массив, содержащий доверительные параметры подписывающего сертификата.

Доверительные параметры выводятся из объектных идентификаторов, системного и использования ключей, встроенных в сертификат. Константы для строк, представляющие распознанные доверительные параметры, определенные в классе SignerTrustSettings.

Массив signerTrustSettings для сертификата в состоянии неизвестно или недействительно не содержит данных.

Модификация массива не изменяет доверительных параметров сертификата.


Реализация
    public function get signerTrustSettings():Array

Выдает
IllegalOperationError — Если происходит обращение во время проверки сигнатуры.

См. также

AIR-only uriDereferencerсвойство 
uriDereferencer:IURIDereferencer  [чтение и запись]

Версии среды выполнения: AIR 1.0

Реализация IURIDereferencer.

Реализация IURIDereferencer должна быть предоставлена до того, как пытаться проверить сигнатуру.


Реализация
    public function get uriDereferencer():IURIDereferencer
    public function set uriDereferencer(value:IURIDereferencer):void

Выдает
IllegalOperationError — Если устанавливается во время проверки сигнатуры.

См. также

AIR-only useSystemTrustStoreсвойство 
useSystemTrustStore:Boolean  [чтение и запись]

Версии среды выполнения: AIR 1.0

Указывает, какие сертификаты из хранилища доверенных сертификатов используются для создания цепи.

Если значение true, то якори доверия в хранилище доверенных сертификатов используются в качестве доверенных корней. Хранилище доверенных сертификатов по умолчанию не используется.


Реализация
    public function get useSystemTrustStore():Boolean
    public function set useSystemTrustStore(value:Boolean):void

Выдает
IllegalOperationError — Если устанавливается во время проверки сигнатуры.
AIR-only validityStatusсвойство 
validityStatus:String  [только для чтения]

Версии среды выполнения: AIR 1.0

Состояние достоверности проверенной сигнатуры XML.

Сигнатура XML проверяется путем проверки дайджеста ссылок в элементе SignedInfo, криптографической сигнатуры самого элемента SignedInfo, а также подписывающего сертификата. Достоверность каждого из этих элементов регистрируется отдельно с помощью свойств referencesStatus, digestStatus и identityStatus(), соответственно.

Достоверность сигнатуры XML может иметь три значения: действительно, недействительно, неизвестно. Общее состояние зависит от состояния проверки отдельных компонентов файла сигнатуры.

Достоверность сигнатуры, указанная в свойстве validityStatus, может принимать следующие значения.


Реализация
    public function get validityStatus():String

Выдает
IllegalOperationError — Если происходит обращение во время проверки сигнатуры.

См. также

Сведения о конструкторе
AIR-only XMLSignatureValidator()Конструктор
public function XMLSignatureValidator()

Версии среды выполнения: AIR 1.0

Создает объект XMLSignatureValidator.

Необходимо установить свойство uriDereferencer прежде чем вызывать метод verify() для нового объекта.

См. также

Сведения о методе
AIR-only addCertificate()метод
public function addCertificate(cert:ByteArray, trusted:Boolean):*

Версии среды выполнения: AIR 1.0

Добавляется сертификат x509 для построения цепи.

Добавляемый сертификат должен быть зашифрованным в формате DER сертификатом x509.

Если для параметра trusted задано значение true, то данный сертификат считается якорем доверия.

Примечание. Сигнатура XML может включать сертификаты для построения цепи сертификатов подписывающего. Класс XMLSignatureValidator использует эти сертификаты для построения цепи, но не в качестве доверенных корней (по умолчанию).

Параметры

cert:ByteArray — Объект ByteArray, содержащий зашифрованный в формате DER цифровой сертификат x509.
 
trusted:Boolean — Установите значение true, чтобы обозначить этот сертификат в качестве якоря доверия.

Возвращает
*

Выдает
IllegalOperationError — Если вызывается во время проверки сигнатуры.
AIR-only verify()метод 
public function verify(signature:XML):void

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0

Проверяет указанную сигнатуру.

Проверка выполняется в асинхронном режиме. Объект XMLSignatureValidator передает событиеcomplete, если проверка завершается успешно, или событие error, если проверка не может быть выполнена из-за ошибок.

Процесс проверки не может быть отменен. Пока происходит процесс проверки, последующие вызовы метода verify() завершаются со сбоем. После того как текущая проверка завершена, можно снова вызывать метод verify().

Примечание. Поскольку класс XMLSignatureValidator реализует только часть набора рекомендаций W3C для синтаксиса и обработки сигнатур XML, многие действительные в других случаях сигнатуры XML не могут быть проверены.

Параметры

signature:XML — Сигнатура XML для проверки.


События
complete:Event — Передается, если проверка завершилась успешно.
 
error:ErrorEvent — Передается, если при проверке ссылок обнаружены ошибки.

Выдает
IllegalOperationError — Если вызывается во время проверки сигнатуры.
 
Error — Если встретились другие ошибки, например неправильно сформированный XML или неподдерживаемые элементы в файле сигнатуры.
Сведения о событии
AIR-only complete Событие
Тип объекта события: flash.events.Event
свойство Event.type = flash.events.Event.COMPLETE

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0

Передается, если выполнена проверка.

Событие complete не подразумевает, что сигнатура действительна. Проверьте validityStatus, чтобы определить результат проверки сигнатуры.

Константа Event.COMPLETE определяет значение свойства type объекта complete.

Данное событие имеет следующие свойства.

СвойствоЗначение
bubblesfalse
cancelablefalse; нет поведения по умолчанию для отмены.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetСетевой объект, который завершил загрузку.

См. также

AIR-only error Событие  
Тип объекта события: flash.events.ErrorEvent
свойство ErrorEvent.type = flash.events.ErrorEvent.ERROR

Язык версии : ActionScript 3.0
Версии среды выполнения: AIR 1.0

Передается, если невозможно выполнить проверку из-за ошибок.

Определяет значение свойства type объекта ErrorEvent.

Данное событие имеет следующие свойства.

СвойствоЗначение
bubblesfalse
cancelablefalse; нет поведения по умолчанию для отмены.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetОбъект, испытывающий сбой сетевой операции.
textТекст, отображаемый в качестве сообщения об ошибке.