Пакет | flash.security |
Класс | public class XMLSignatureValidator |
Наследование | XMLSignatureValidator ![]() ![]() |
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Класс XMLSignatureValidator реализует набор рекомендаций W3C в отношении синтаксиса и обработки XML-сигнатур, но его не следует считать полной реализацией всех рекомендаций. Поддерживаемый набор включает следующие рекомендации.
Для проверки сигнатуры необходимо предоставить реализацию IURIDereferencer Этот класс реализации отвечает за разрешение идентификаторов URI, указанных в элементах SignedInfo файла сигнатуры, и возвращает ссылочные данные в объект, например ByteArray, реализующий интерфейс IDataInput.
Чтобы проверить, что подписывающий сертификат в одной цепи с доверенным сертификатом, либо в сигнатуре XML должны содержаться сертификаты, необходимые для создания цепи в элементах X509Certificate, либо необходимо предоставить сертификаты, требуемые для создания цепи с помощью метода addCertificate()
.
Проверка XMLSignature:
uriDereferencer
для этого экземпляра как для экземпляра класса реализации IURIDereferencer.addCertificate()
.проверки
XMLSignatureValidator, передав в него сигнатуру для проверки.validityStatus
после того, как объект XMLSignatureValidator отправит событие complete.О состоянии сигнатуры:
Достоверность сигнатуры XML может иметь три значения: действительно, недействительно, неизвестно. Общее состояние зависит от состояния проверки отдельных компонентов файла сигнатуры.
referencesStatus
— достоверность дайджеста ссылок в элементе SignedInfo файла сигнатуры. Может принимать значения действительно
, недействительно
или неизвестно
.digestStatus
— криптографическая достоверность сигнатуры вычисляется по элементу SignedInfo. Может принимать значения действительно
, недействительно
или неизвестно
.identityStatus
— достоверность подписывающего сертификата. Если срок действия сигнатуры истек или она была отозвана, устанавливается состояние недействительно
. Если сертификат нельзя заменить доверенным корневым сертификатом, устанавливается состояние неизвестно
.Достоверность сигнатуры, указанная в свойстве validityStatus
, может принимать следующие значения.
действительно
— если свойства referencesStatus
, digestStatus
и identityStatus
все имеют значение действительно
.недействительно
— если для какого-либо отдельного состояния задано значение недействительно
.неизвестно
— если свойства referencesStatus
, digestStatus
или identityStatus
имеют значение неизвестно
.См. также
Свойство | Определено | ||
---|---|---|---|
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
![]() [только для чтения]
Состояние достоверности для криптографической сигнатуры, рассчитанной по элементу SignedInfo. | XMLSignatureValidator | ||
![]() [только для чтения]
Состояние достоверности подписывающего сертификата. | XMLSignatureValidator | ||
![]() | prototype : Object [статические]
Ссылка на модель объекта класса или функции. | Object | |
![]() [только для чтения]
Состояние достоверности для дайджеста по всем ссылкам в элементе SignedInfo. | XMLSignatureValidator | ||
![]()
Указывает, как проверяется аннулирование сертификата. | XMLSignatureValidator | ||
![]() [только для чтения]
Поле "Общее имя" в подписывающем сертификате. | XMLSignatureValidator | ||
![]() [только для чтения]
Поле "Отличительное имя" в подписывающем сертификате. | XMLSignatureValidator | ||
![]() [только для чтения]
Массив, содержащий объектные идентификаторы расширенного использования ключей, перечисленные в подписывающем сертификате. | 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 перемещается в фокус операционной системы и становится активным. | EventDispatcher | ||
Передается, если выполнена проверка. | XMLSignatureValidator | |||
![]() | [многоадресное событие] Отправляется, когда проигрыватель Flash Player покидает фокус операционной системы и становится неактивным. | EventDispatcher | ||
Передается, если невозможно выполнить проверку из-за ошибок. | XMLSignatureValidator |
![]() | свойство |
digestStatus:String
[только для чтения] Версии среды выполнения: | AIR 1.0 |
Состояние достоверности для криптографической сигнатуры, рассчитанной по элементу SignedInfo
.
Значение состояния:
действительно
— если сигнатура криптографически действительна.недействительно
— если дайджест менялся после подписания.неизвестно
— если метод verify()
не вызывался. public function get digestStatus():String
IllegalOperationError — Если происходит обращение во время проверки сигнатуры.
|
![]() | свойство |
identityStatus:String
[только для чтения] Версии среды выполнения: | AIR 1.0 |
Состояние достоверности подписывающего сертификата.
Состояние может принимать следующие значения:
действительно
— срок действия сертификата не истек, не было ошибок при проверке аннулирования, сертификат связан цепью с доверенным корневым сертификатом.неизвестно
— срок действия сертификата не истек, не было ошибок при проверке аннулирования, но цепь к доверенному корневому сертификату отсутствует. Состояниенеизвестно
также будет выставляться, если еще не проведена проверка, потому что метод verify()
еще не вызывался или потому что криптографическая сигнатура элемента SignedInfo (digestStatus
) недействительна.недействительно
— срок действия сертификата истек или обнаружена ошибка при проверке аннулирования.Сертификаты добавляются с помощью метода addCertificate()
, а установки свойств revocationCheckSetting
и useSystemTrustStore
можно изменить в зависимости от того, считается ли сертификат действительным.
public function get identityStatus():String
IllegalOperationError — Если происходит обращение во время проверки сигнатуры.
|
См. также
![]() | свойство |
referencesStatus:String
[только для чтения] Версии среды выполнения: | AIR 1.0 |
Состояние достоверности дайджеста по всем ссылкам в элементе SignedInfo
.
Значение состояния:
действительно
— если все ссылки действительны.недействительно
— если какая-либо ссылка недействительна.неизвестно
— если проверку выполнить не удалось, потому что метод verify()
еще не вызывался или потому что криптографическая сигнатура элемента SignedInfo (digestStatus
) или подписывающий сертификат (identityStatus
) недействительна. public function get referencesStatus():String
IllegalOperationError — Если происходит обращение во время проверки сигнатуры.
|
![]() | свойство |
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):void
IllegalOperationError — Если устанавливается во время проверки сигнатуры.
|
См. также
![]() | свойство |
signerCN:String
[только для чтения] Версии среды выполнения: | AIR 1.0 |
Поле "Общее имя" в подписывающем сертификате.
public function get signerCN():String
![]() | свойство |
signerDN:String
[только для чтения] Версии среды выполнения: | AIR 1.0 |
Поле "Отличительное имя" в подписывающем сертификате.
public function get signerDN():String
![]() | свойство |
signerExtendedKeyUsages:Array
[только для чтения] Версии среды выполнения: | AIR 1.0 |
Массив, содержащий объектные идентификаторы расширенного использования ключей, перечисленные в подписывающем сертификате.
Каждое расширенно использование ключей регистрируется в форме цифрового объектного идентификатора.
public function get signerExtendedKeyUsages():Array
IllegalOperationError — Если происходит обращение во время проверки сигнатуры.
|
![]() | свойство |
signerTrustSettings:Array
[только для чтения] Версии среды выполнения: | AIR 1.0 |
Массив, содержащий доверительные параметры подписывающего сертификата.
Доверительные параметры выводятся из объектных идентификаторов, системного и использования ключей, встроенных в сертификат. Константы для строк, представляющие распознанные доверительные параметры, определенные в классе SignerTrustSettings.
Массив signerTrustSettings
для сертификата в состоянии неизвестно
или недействительно
не содержит данных.
Модификация массива не изменяет доверительных параметров сертификата.
public function get signerTrustSettings():Array
IllegalOperationError — Если происходит обращение во время проверки сигнатуры.
|
См. также
![]() | свойство |
uriDereferencer:IURIDereferencer
[чтение и запись] Версии среды выполнения: | AIR 1.0 |
Реализация IURIDereferencer.
Реализация IURIDereferencer должна быть предоставлена до того, как пытаться проверить сигнатуру.
public function get uriDereferencer():IURIDereferencer
public function set uriDereferencer(value:IURIDereferencer):void
IllegalOperationError — Если устанавливается во время проверки сигнатуры.
|
См. также
![]() | свойство |
useSystemTrustStore:Boolean
[чтение и запись] Версии среды выполнения: | AIR 1.0 |
Указывает, какие сертификаты из хранилища доверенных сертификатов используются для создания цепи.
Если значение true
, то якори доверия в хранилище доверенных сертификатов используются в качестве доверенных корней. Хранилище доверенных сертификатов по умолчанию не используется.
public function get useSystemTrustStore():Boolean
public function set useSystemTrustStore(value:Boolean):void
IllegalOperationError — Если устанавливается во время проверки сигнатуры.
|
![]() | свойство |
validityStatus:String
[только для чтения] Версии среды выполнения: | AIR 1.0 |
Состояние достоверности проверенной сигнатуры XML.
Сигнатура XML проверяется путем проверки дайджеста ссылок в элементе SignedInfo, криптографической сигнатуры самого элемента SignedInfo, а также подписывающего сертификата. Достоверность каждого из этих элементов регистрируется отдельно с помощью свойств referencesStatus
, digestStatus
и identityStatus()
, соответственно.
Достоверность сигнатуры XML может иметь три значения: действительно, недействительно, неизвестно. Общее состояние зависит от состояния проверки отдельных компонентов файла сигнатуры.
referencesStatus
— достоверность дайджеста ссылок в элементе сигнатуры SignedInfo.digestStatus
— криптографическая достоверность сигнатуры вычисляется по элементу SignedInfo.identityStatus
— достоверность подписывающего сертификата.Достоверность сигнатуры, указанная в свойстве validityStatus
, может принимать следующие значения.
действительно
— если свойства referencesStatus
, digestStatus
и identityStatus
все имеют значение действительно
.недействительно
— если для какого-либо отдельного состояния задано значение недействительно
.неизвестно
— если свойства referencesStatus
, digestStatus
или identityStatus
имеют значение неизвестно
. public function get validityStatus():String
IllegalOperationError — Если происходит обращение во время проверки сигнатуры.
|
См. также
![]() | () | Конструктор |
public function XMLSignatureValidator()
Версии среды выполнения: | AIR 1.0 |
Создает объект XMLSignatureValidator.
Необходимо установить свойство uriDereferencer
прежде чем вызывать метод verify()
для нового объекта.
См. также
![]() | () | метод |
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 — Если вызывается во время проверки сигнатуры.
|
![]() | () | метод |
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: — Передается, если проверка завершилась успешно. | |
error: — Передается, если при проверке ссылок обнаружены ошибки. |
IllegalOperationError — Если вызывается во время проверки сигнатуры.
| |
Error — Если встретились другие ошибки, например неправильно сформированный XML или неподдерживаемые элементы в файле сигнатуры.
|
![]() | Событие |
flash.events.Event
flash.events.Event.COMPLETE
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Передается, если выполнена проверка.
Событие complete
не подразумевает, что сигнатура действительна. Проверьте validityStatus
, чтобы определить результат проверки сигнатуры.
Event.COMPLETE
определяет значение свойства type
объекта complete
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Сетевой объект, который завершил загрузку. |
См. также
![]() | Событие |
flash.events.ErrorEvent
flash.events.ErrorEvent.ERROR
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Передается, если невозможно выполнить проверку из-за ошибок.
Определяет значение свойстваtype
объекта ErrorEvent
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект, испытывающий сбой сетевой операции. |
text | Текст, отображаемый в качестве сообщения об ошибке. |