ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: AIR 30.0 i wcześniejsze, Flash Player 30.0 i wcześniejsze, Flash Lite 4
Flex 4.6 i wcześniejsze, Flash Pro CS6 i wcześniejsze
Ukryj filtry
flash.security 

XMLSignatureValidator  - AS3

Pakietyx

Najwyższy poziom
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Elementy językowe

Stałe globalne
Funkcje globalne
Operatory
Instrukcje, słowa kluczowe i dyrektywy
Typy specjalne

Dodatki

Nowości
Błędy kompilatora
Ostrzeżenia kompilatora
Błędy czasu wykonywania
Migracja kodu ActionScript 3
Obsługiwane zestawy znaków
Tylko MXML
Elementy XML dotyczące ruchu
Znaczniki tekstu z synchronizacją czasową
Przestarzały indeks
Stałe implementacji dostępności
Instrukcje dotyczące przykładów
Informacje prawne
Pakietflash.security
Klasapublic class XMLSignatureValidator
DziedziczenieXMLSignatureValidator Inheritance EventDispatcher Inheritance Object

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Klasa XMLSignatureValidator sprawdza, czy plik XML z podpisem ma poprawną postać, nie jest zmodyfikowany oraz, opcjonalnie, czy jest podpisany przy użyciu certyfikatu cyfrowego powiązanego z kluczem lub zaufanego.

Obsługa profilów AIR: Ta funkcja jest obsługiwana we wszystkich systemach operacyjnych dla komputerów stacjonarnych oraz na urządzeniach telewizyjnych ze środowiskiem AIR, ale nie jest obsługiwana na urządzeniach przenośnych. W czasie wykonywania można sprawdzić, czy funkcja jest obsługiwana, odczytując właściwość XMLSignatureValidator.isSupported. Więcej informacji o obsłudze elementów interfejsu API w różnych profilach można znaleźć w sekcji Obsługa profilów aplikacji AIR.

Klasa XMLSignatureValidator implementuje podzbiór zaleceń ujętych w dokumencie W3C Recommendation for XML-Signature Syntax and Processing i nie powinna być uważana za implementację zgodną z tymi zaleceniami. Obsługiwany podzbiór zaleceń obejmuje:

  • Całą podstawową składnię podpisu z wyjątkiem elementu KeyInfo.
  • Element KeyInfo obsługuje tylko element X509Data.
  • Element X509Data obsługuje tylko element X509Certificate.
  • Algorytm metody skrótu SHA256.
  • Algorytm podpisywania PKCS1.
  • Metodę kanonizacji „Canonical XML without comments” i algorytm transformacji.
  • Element Manifest w dodatkowej składni podpisu.

Aby uzyskać możliwość weryfikowania podpisów XML, należy udostępnić własną implementację interfejsu IURIDereferencer. Ta klasa implementacyjna odpowiada za tłumaczenie identyfikatorów URI określonych w elementach SignedInfo pliku podpisu i zwrócenie docelowych danych w obiekcie, takim jak ByteArray, który implementuje interfejs IDataInput.

Aby można było sprawdzić, czy certyfikat podmiotu podpisującego należy do łańcucha prowadzącego do certyfikatu zaufanego, podpis XML musi zawierać w elementach X509Certificate certyfikaty potrzebne do zbudowania łańcucha lub należy dostarczyć certyfikaty potrzebne do zbudowania łańcucha, korzystając z metody addCertificate().

Aby zweryfikować podpis XML:

  1. Utwórz instancję klasy XMLSignatureValidator.
  2. Ustaw właściwość uriDereferencer tej instancji na instancję własnej klasy implementującej interfejs IURIDereferencer.
  3. W razie potrzeby przekaż certyfikaty zakodowane w standardzie DER, umożliwiające zbudowanie łańcucha zaufanych certyfikatów, korzystając z metody addCertificate().
  4. Wywołaj metodę XMLSignatureValidator verify, przekazując podpis do zweryfikowania.
  5. Sprawdź wartość właściwości validityStatus po tym, jak obiekt XMLSignatureValidator wywoła zdarzenie complete.

Informacje o stanie podpisu:

Podpis XML może być ważny, nieważny lub nieznany. Ogólny stan zależy od stanu weryfikacji poszczególnych składników pliku podpisu:

  • digestStatus — ważność danych kryptograficznych podpisu obliczonych na podstawie elementu SignedInfo Może mieć wartość: valid (ważny), invalid (nieważny) albo unknown (nieznany).
  • identityStatus — ważność certyfikatu podmiotu podpisującego. Jeśli certyfikat utracił ważność, został unieważniony lub zmodyfikowany, ma status invalid. Jeśli certyfikatu nie można połączyć łańcuchem z zaufanym certyfikatem główny, ma status unknown. Certyfikat nie jest sprawdzany, jeśli wyciąg jest niepoprawny. Jeśli certyfikat nie został sprawdzony, ma status unknown.
  • referencesStatus — ważność danych adresowanych przez odwołania w elemencie SignedInfo pliku podpisu. Może mieć wartość: valid (ważne), invalid (nieważne) albo unknown (nieznana). Odwołania nie są sprawdzane, jeśli wyciąg lub certyfikat jest niepoprawny. Sprawdzanie odwołań może być także pomijane na podstawie wartości właściwości referencesValidationSetting. Jeśli certyfikat nie został sprawdzony, ma stan unknown.

Ważność podpisu określona we właściwości validityStatus może być wyrażona wartościami:

  • valid — jeśli stany składników referencesStatus, digestStatus i identityStatus są równe wartości valid.
  • invalid — jeśli którykolwiek stan jest równy wartości invalid.
  • unknown — jeśli stan składników referencesStatus, digestStatus lub identityStatus jest równy wartości unknown.

Ograniczenia w doprowadzaniu do postaci kanonicznej:

Mechanizm XML w środowisku AIR nie zawsze generuje oczekiwany ciąg znaków XML w wyniku doprowadzania dokumentu XML do postaci kanonicznej. Dlatego zaleca się unikanie umieszczania odstępów między elementami w dokumentach podpisu typu koperta lub odłączonych, a także rezygnację z definiowania przestrzeni nazw wewnątrz dokumentu podpisu. W obu przypadkach środowisko AIR może nie odtworzyć dokumentu z tą samą sekwencją znaków, co w dokumencie oryginalnym, a w konsekwencji weryfikacja może się nie powieść.

Wyświetl przykłady

Więcej informacji

Powiązane elementy interfejsu API



Właściwości publiczne
 WłaściwośćZdefiniowane przez
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
      digestStatus : String
[tylko do odczytu] Stan ważności podpisu kryptograficznego obliczonego na podstawie elementu SignedInfo podpisu.
XMLSignatureValidator
      identityStatus : String
[tylko do odczytu] Stan ważności certyfikatu podmiotu podpisującego.
XMLSignatureValidator
      isSupported : Boolean
[statyczny] [tylko do odczytu] Właściwość isSupported ma wartość true, jeśli na bieżącej platformie jest obsługiwana klasa XMLSignatureValidator; w przeciwnym razie ma wartość false.
XMLSignatureValidator
      referencesStatus : String
[tylko do odczytu] Status ważności danych w odwołaniach w elemencie SignedInfo podpisu.
XMLSignatureValidator
      referencesValidationSetting : String
Określa warunki, pod jakimi sprawdzane są odwołania.
XMLSignatureValidator
      revocationCheckSetting : String
Określa sposób sprawdzania, czy certyfikat został unieważniony.
XMLSignatureValidator
      signerCN : String
[tylko do odczytu] Pole Common Name certyfikatu podmiotu podpisującego.
XMLSignatureValidator
      signerDN : String
[tylko do odczytu] Pole Distinguished Name certyfikatu podmiotu podpisującego.
XMLSignatureValidator
      signerExtendedKeyUsages : Array
[tylko do odczytu] Tablica zawierająca identyfikatory OID Extended Key Usages wymienione w certyfikacie podmiotu podpisującego.
XMLSignatureValidator
      signerTrustSettings : Array
[tylko do odczytu] Tablica zawierająca ustawienia zaufania certyfikatu podmiotu podpisującego.
XMLSignatureValidator
      uriDereferencer : IURIDereferencer
Implementacja interfejsu IURIDereferencer.
XMLSignatureValidator
      useSystemTrustStore : Boolean
Określa, że do budowania łańcucha mają być używane certyfikaty z systemowego magazynu certyfikatów zaufanych.
XMLSignatureValidator
      validityStatus : String
[tylko do odczytu] Stan ważności zweryfikowanego podpisu XML.
XMLSignatureValidator
Metody publiczne
 MetodaZdefiniowane przez
  
Tworzy obiekt XMLSignatureValidator.
XMLSignatureValidator
  
    addCertificate(cert:ByteArray, trusted:Boolean):*
Dodaje certyfikat x509 potrzebny do zbudowania łańcucha.
XMLSignatureValidator
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu.
EventDispatcher
 Inherited
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń.
EventDispatcher
 Inherited
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń.
EventDispatcher
 Inherited
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość.
Object
 Inherited
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr.
Object
 Inherited
Wskazuje, czy określona właściwość istnieje i jest przeliczalna.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Usuwa detektor z obiektu EventDispatcher.
EventDispatcher
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
 Inherited
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych.
Object
 Inherited
Zwraca ciąg reprezentujący określony obiekt.
Object
 Inherited
Zwraca pierwotną wartość dla określonego obiektu.
Object
  
    verify(signature:XML):void
Weryfikuje określony podpis.
XMLSignatureValidator
 Inherited
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych.
EventDispatcher
Zdarzenia
 Zdarzenie Podsumowanie Zdefiniowane przez
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja środowiska wykonawczego AIR uzyskuje fokus w systemie operacyjnym i przechodzi w stan aktywny.EventDispatcher
  
    complete
Wywoływane po ukończeniu weryfikacji.XMLSignatureValidator
 Inherited[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny.EventDispatcher
  
    error
Wywoływane, jeśli weryfikacji nie można ukończyć z powodu błędów.XMLSignatureValidator
Szczegół właściwości
    

digestStatus

właściwość
digestStatus:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Stan ważności podpisu kryptograficznego obliczonego na podstawie elementu SignedInfo podpisu.

Możliwe stany:

  • valid — jeśli podpis jest ważny pod względem kryptograficznym.
  • invalid — jeśli skrót został zmodyfikowany po podpisaniu.
  • unknown — jeśli nie wywołano metody verify().

Uwaga: Jeśli właściwość digestStatus ma wartość invalid, wówczas statusy identityStatus i referencesStatus nie są sprawdzane i odpowiednie właściwości będą miały wartości unknown.



Implementacja
    public function get digestStatus():String

Zgłasza
IllegalOperationError — Jeśli dostęp ma miejsce w momencie sprawdzania podpisu.
    

identityStatus

właściwość 
identityStatus:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Stan ważności certyfikatu podmiotu podpisującego.

Możliwe stany:

  • valid — nie upłynął termin ważności certyfikatu, łańcuch certyfikatu prowadzi do zaufanego certyfikatu głównego, a sprawdzenie, czy certyfikat nie został unieważniony, zakończyło się pozytywnie.
  • unknown — nie upłynął termin ważności certyfikatu, sprawdzenie, czy certyfikat nie został unieważniony, zakończyło się pozytywnie, ale łańcuch certyfikatu nie prowadzi do zaufanego certyfikatu głównego. Stan unknown zostanie również zgłoszony, jeśli stan nie został jeszcze zweryfikowany, ponieważ niw wywołano metody verify() lub podpis kryptograficzny elementu SignedInfo (digestStatus) jest nieważny.
  • invalid — upłynął termin ważności certyfikatu lub sprawdzenie, czy certyfikat nie został unieważniony, zakończyło się negatywnie.

Certyfikaty dodane za pomocą metody addCertificate() i ustawienia właściwości revocationCheckSetting oraz useSystemTrustStore mogą wpłynąć na ważność certyfikaty.

Uwaga: Jeśli status identityStatus ma wartość invalid, status referencesStatus nie jest sprawdzany i odpowiednia właściwość ma wartość unknown. Ponadto odwołania nie są sprawdzane, gdy status identityStatus ma wartość unknown, chyba że właściwość referencesValidationSetting jest ustawiona na validOrUnknownIdentity.



Implementacja
    public function get identityStatus():String

Zgłasza
IllegalOperationError — Jeśli dostęp ma miejsce w momencie sprawdzania podpisu.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )
Poniższy przykład ilustruje pobieranie wyników weryfikacji certyfikatu używanego do podpisywania (po zweryfikowaniu samego podpisu):
 import flash.security.XMLSignatureValidator;
 
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var identityResult:String = verifier.identityStatus;
    

isSupported

właściwość 
isSupported:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 2

Właściwość isSupported ma wartość true, jeśli na bieżącej platformie jest obsługiwana klasa XMLSignatureValidator; w przeciwnym razie ma wartość false.



Implementacja
    public static function get isSupported():Boolean
    

referencesStatus

właściwość 
referencesStatus:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Stan ważności danych w odniesieniach w elemencie SignedInfo podpisu.

Możliwe stany:

  • valid — jeśli wszystkie odwołania są ważne.
  • invalid — jeśli którekolwiek odwołanie jest nieważne.
  • unknown — jeśli niezweryfikowane. Odwołania mogą pozostać niezweryfikowane w następujących okolicznościach:
    • Nie wywołano metody verify().
    • Podpis kryptograficzny elementu SignedInfo (digestStatus) jest nieważny.
    • Certyfikat używany do podpisywania (identityStatus) jest nieważny.
    • Ustawienie referencesValidationSetting ma wartość validIdentity (wartość domyślna) i status identityStatus certyfikatu używanego do podpisywania jest nieznany (unknown).
    • Ustawienie referencesValidationSetting ma wartość never.

Ważne: Zewnętrzne zasoby nie są sprawdzane, jeśli element SignedInfo w dokumencie podpisu nie zawiera bezpośrednich odwołań do tych zasobów. Zasoby zewnętrzne będące celami odwołań pośrednich nie są sprawdzane. Na przykład, jeśli podpis XML został użyty do podpisania elementu manifest, sprawdzana jest integralność tylko elementu manifest. Pliki wymienione w manifeście nie są sprawdzane.



Implementacja
    public function get referencesStatus():String

Zgłasza
IllegalOperationError — Jeśli dostęp ma miejsce w momencie sprawdzania podpisu.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )
Poniższy przykład ilustruje pobieranie wyników weryfikacji odwołań w podpisie (po zweryfikowaniu samego podpisu):
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var dataResult:String = verifier.referencesStatus;
    

referencesValidationSetting

właściwość 
referencesValidationSetting:String

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.5

Określa warunki sprawdzania odniesień.

Do ustawiania tej właściwości należy używać stałych zdefiniowanych w klasie ReferencesValidationSetting. Są to następujące ustawienia:

  • ReferencesValidationSetting.VALID_IDENTITY — sprawdzaj odwołania tylko wtedy, gdy certyfikat używany do podpisywania jest ważny, a jego łańcuch prowadzi do zaufanego certyfikatu głównego. Jest to ustawienie domyślne.
  • ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY — sprawdzaj odwołania, jeśli certyfikat używany do podpisywania jest ważny, nawet jeśli jego łańcuch nie prowadzi do zaufanego certyfikatu głównego.
  • ReferencesValidationSetting.NEVER — nigdy nie sprawdzaj odwołań.

Domyślne ustawienie validIdentity powinno być używane w przypadku podpisów podpisanych certyfikatem komercyjnym lub w przypadku udostępnienia za pomocą metody addCertificate() własnego certyfikatu będącego początkiem łańcucha zaufania. To ustawienie pozwala uniknąć narzutu sprawdzania poprawności odwołań w sytuacji, gdy podpisany dokument i tak zostanie odrzucony.

Ustawienia validOrUnknownIdentity należy używać z podpisami podpisanymi za pomocą certyfikatów samopodpisanych. To ustawienie umożliwia sprawdzenie, czy podpisane dane nie zostały zmodyfikowane, ale nie gwarantuje tożsamości podmiotu podpisującego.

Ustawienie never umożliwia uniknięcia narzutu sprawdzania poprawności odwołań, gdy takie sprawdzanie nie jest istotne w kontekście aplikacji.



Implementacja
    public function get referencesValidationSetting():String
    public function set referencesValidationSetting(value:String):void

Zgłasza
IllegalOperationError — Jeśli ustawienie następuje w momencie sprawdzania podpisu.
 
ArgumentError — jeśli parametr setting zawiera wartość niezdefiniowaną w klasie ReferencesValidationSetting.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )
W poniższym przykładzie XMLSignatureValidator jest konfigurowany w taki sposób, aby odwołania były sprawdzane tylko wtedy, gdy certyfikat używany do podpisywania jest powiązany z początkiem łańcucha certyfikatów zaufanych:
 import flash.security.ReferencesValidationSetting;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); 
 verifier.referencesValidationSetting = ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY;
    

revocationCheckSetting

właściwość 
revocationCheckSetting:String

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Określa sposób sprawdzania, czy certyfikat nie został unieważniony.

Do ustawiania tej właściwości należy używać stałych zdefiniowanych w klasie RevocationSettings. Są to następujące ustawienia:

  • RevocationCheckSettings.NEVER — nie sprawdzaj, czy certyfikat został unieważniony.
  • RevocationCheckSettings.BEST_EFFORT — sprawdzaj, czy certyfikat został unieważniony, o ile informacje o unieważnieniu są dostępne i jest możliwe uzyskanie statusu unieważnienia. Jeśli nie jest możliwe jednoznaczne stwierdzenie statusu unieważnienia, certyfikat nie jest odrzucany.
  • RevocationCheckSettings.REQUIRED_IF_AVAILABLE — jeśli certyfikat zawiera informacje o unieważnieniu, do zweryfikowania certyfikatu wymagane jest jednoznaczne ustalenie statusu unieważnienia.
  • RevocationCheckSettings.ALWAYS_REQUIRED — zawsze sprawdzaj, czy certyfikat jest unieważniony. Certyfikaty bez informacji o unieważnieniu są odrzucane.



Implementacja
    public function get revocationCheckSetting():String
    public function set revocationCheckSetting(value:String):void

Zgłasza
IllegalOperationError — Jeśli ustawienie następuje w momencie sprawdzania podpisu.

Powiązane elementy interfejsu API

    

signerCN

właściwość 
signerCN:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Pole Common Name certyfikatu podmiotu podpisującego.



Implementacja
    public function get signerCN():String

Przykład  ( Sposób korzystania z tego przykładu )
Poniższy przykład ilustruje odczytywanie nazwy Common Name certyfikatu używanego do podpisywania (po zweryfikowaniu samego podpisu):
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var commonName:String = verifier.signerCN;
    

signerDN

właściwość 
signerDN:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Pole Distinguished Name certyfikatu podmiotu podpisującego.



Implementacja
    public function get signerDN():String

Przykład  ( Sposób korzystania z tego przykładu )
Poniższy przykład ilustruje odczytywanie nazwy Distinguished Name certyfikatu używanego do podpisywania (po zweryfikowaniu samego podpisu):
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var distinguishedName:String = verifier.signerDN;
    

signerExtendedKeyUsages

właściwość 
signerExtendedKeyUsages:Array  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Tablica zawierająca identyfikatory OID Extended Key Usages wymienione w certyfikacie podmiotu podpisującego.

Informacje Extended Key Usage są przekazywane w postaci liczbowych identyfikatorów OID.



Implementacja
    public function get signerExtendedKeyUsages():Array

Zgłasza
IllegalOperationError — Jeśli dostęp ma miejsce w momencie sprawdzania podpisu.

Przykład  ( Sposób korzystania z tego przykładu )
Poniższy przykład ilustruje odczytywanie identyfikatorów OID Extended Key Usages certyfikatu używanego do podpisywania (po zweryfikowaniu samego podpisu):
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var extendedKeyOIDs:Array = verifier.signerExtendedKeyUsages;
    

signerTrustSettings

właściwość 
signerTrustSettings:Array  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Tablica zawierająca ustawienia zaufania certyfikatu podmiotu podpisującego.

Ustawienia zaufania są określane na podstawie ustawień systemowych i identyfikatorów OID wykorzystania klucza osadzonych w certyfikacie. Stałe ciągi znaków reprezentujące rozpoznawane ustawienia zaufania są zdefiniowane w klasie SignerTrustSettings.

Tablica signerTrustSettings certyfikatu o stanie unknown lub invalid jest pusta.

Zmodyfikowanie tablicy nie zmienia ustawień zaufania certyfikatu.



Implementacja
    public function get signerTrustSettings():Array

Zgłasza
IllegalOperationError — Jeśli dostęp ma miejsce w momencie sprawdzania podpisu.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )
Poniższy przykład ilustruje odczytywanie ustawień zaufania certyfikatu używanego do podpisywania (po zweryfikowaniu samego podpisu):
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var certificateTrustedFor:Array = verifier.signerTrustSettings;
    

uriDereferencer

właściwość 
uriDereferencer:IURIDereferencer

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Implementacja interfejsu IURIDereferencer.

Przed próbą zweryfikowania podpisu należy udostępnić implementację interfejsu IURIDereferencer.



Implementacja
    public function get uriDereferencer():IURIDereferencer
    public function set uriDereferencer(value:IURIDereferencer):void

Zgłasza
IllegalOperationError — Jeśli ustawienie następuje w momencie sprawdzania podpisu.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )
W poniższym przykładzie tworzona jest instancja klasy SignedMessageDereferencer, która implementuje interfejs IURIDereferencer. Instancja ta jest wskazywana jako obiekt służący do weryfikacji podpisu:
 import com.example.SignedMessageDereferencer; //A custom class implementing IURIDereferencer
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); 
 verifier.uriDereferencer = new SignedMessageDereferencer();
    

useSystemTrustStore

właściwość 
useSystemTrustStore:Boolean

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Określa, że do budowania łańcucha mają być używane certyfikaty z systemowego magazynu certyfikatów zaufanych.

Wartość true powoduje, że w charakterze zaufanych certyfikatów głównych są używane certyfikaty z systemowego magazynu certyfikatów zaufanych. Domyślnie systemowy magazyn certyfikatów zaufanych nie jest używany.



Implementacja
    public function get useSystemTrustStore():Boolean
    public function set useSystemTrustStore(value:Boolean):void

Zgłasza
IllegalOperationError — Jeśli ustawienie następuje w momencie sprawdzania podpisu.

Przykład  ( Sposób korzystania z tego przykładu )
W poniższym przykładzie tworzona jest instancja klasy XMLSignatureValidator, a następnie zostaje ona skonfigurowana tak, aby używała systemowego magazynu certyfikatów zaufanych podczas weryfikacji podpisów XML:
 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); 
 verifier.useSystemTrustStore = true;
    

validityStatus

właściwość 
validityStatus:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Stan ważności zweryfikowanego podpisu XML.

Weryfikacja podpisu XML polega na zweryfikowaniu podpisu kryptograficznego elementu SignedInfo, certyfikatu używanego do podpisywania oraz danych adresowanych przez odwołania w elemencie SignedInfo. Ważność każdego z tych elementów jest zgłaszana odpowiednio we właściwościach digestStatus, identityStatus() oraz referencesStatus.

Podpis XML może być ważny, nieważny lub nieznany. Ogólny stan zależy od stanu weryfikacji poszczególnych składników pliku podpisu:

  • digestStatus — ważność podpisu kryptograficznego obliczonego na podstawie elementu SignedInfo.
  • identityStatus — ważność certyfikatu podmiotu podpisującego.
  • referencesStatus — ważność skrótu odwołań w elemencie SignedInfo.

Ważność podpisu określona we właściwości validityStatus może być wyrażona wartościami:

  • valid — jeśli stany składników referencesStatus, digestStatus i identityStatus są równe wartości valid.
  • invalid — jeśli którykolwiek stan jest równy wartości invalid.
  • unknown — jeśli którykolwiek status jest równy wartości unknown.



Implementacja
    public function get validityStatus():String

Zgłasza
IllegalOperationError — Jeśli dostęp ma miejsce w momencie sprawdzania podpisu.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )
Poniższy przykład ilustruje pobieranie wyniku weryfikacji podpisu XML.
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate the signature...
  
 var validationResult:String = verifier.validityStatus;
Konstruktor Szczegół
    

XMLSignatureValidator

()Konstruktor
public function XMLSignatureValidator()

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Tworzy obiekt XMLSignatureValidator.

Należy ustawić właściwość uriDereferencer przed wywołaniem metody verify() nowego obiektu.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje tworzenie i konfigurowanie nowego obiektu 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);
Szczegół metody

    addCertificate

()metoda
public function addCertificate(cert:ByteArray, trusted:Boolean):*

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Dodaje certyfikat x509 potrzebny do zbudowania łańcucha.

Dodawany certyfikat musi być certyfikatem x509 zakodowanym w standardzie DER.

Jeśli parametr trusted ma wartość true, certyfikat jest uznawany za początek łańcucha zaufania.

Uwaga: Podpis XML może zawierać certyfikaty służące do budowania łańcucha certyfikatów podmiotu podpisującego. Klasa XMLSignatureValidator używa tych certyfikatów do budowania łańcucha, ale nie jako zaufanych certyfikatów głównych (domyślnie).

Parametry

cert:ByteArray — Obiekt ByteArray zawierający certyfikat cyfrowy x509 zakodowany w standardzie DER.
 
trusted:Boolean — Należy ustawić na true, aby wskazać ten certyfikat jako początek łańcucha zaufania.

Zwraca
*

Zgłasza
IllegalOperationError — Jeśli wywołanie następuje w momencie sprawdzania podpisu.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ładuje certyfikat z systemu plików i dodaje go jako początek łańcucha zaufania.
 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

()metoda 
public function verify(signature:XML):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Weryfikuje określony podpis.

Weryfikacja przebiega asynchronicznie. Obiekt XMLSignatureValidator wywołuje zdarzenie complete po pomyślnym zakończeniu weryfikacji albo zdarzenie error, jeśli weryfikacji nie można ukończyć z powodu błędów.

Procesu weryfikacji nie można anulować. W trakcie weryfikacji kolejne wywołania metody verify() kończą się niepowodzeniem. Po zakończeniu bieżącej weryfikacji można ponownie wywołać metodę verify().

Uwaga: Ponieważ klasa XMLSignatureValidator implementuje tylko podzbiór zaleceń W3C w zakresie składni i przetwarzania podpisów XML, nie wszystkie formalnie poprawne podpisy XML można zweryfikować.

Parametry

signature:XML — Podpis XML do zweryfikowania.


Zdarzenia
complete:Event — Wywoływane po pomyślnym ukończeniu weryfikacji.
 
error:ErrorEvent — Wywoływane w wypadku napotkania błędu podczas weryfikacji odwołań.

Zgłasza
IllegalOperationError — Jeśli wywołanie następuje w momencie sprawdzania podpisu.
 
Error — W razie napotkania innych błędów, takich jak niepoprawna postać XML lub nieobsługiwane elementy w pliku podpisu.

Przykład  ( Sposób korzystania z tego przykładu )

W poniższym przykładzie plik zawierający podpis XML jest odczytywany, a następnie podpis jest weryfikowany przy użyciu wywołania metody verify(). (W przykładzie przyjęto założenie, że implementacja interfejsu IURIDereferencer jest odpowiednia dla danego podpisu).
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 );
Szczegół zdarzenia
    

complete

Zdarzenie
Typ obiektu zdarzenia: flash.events.Event
właściwość Event.type = flash.events.Event.COMPLETE

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Wywoływane po ukończeniu weryfikacji.

Zdarzenie complete nie oznacza, że podpis jest ważny. W celu określenia wyniku weryfikacji podpisu należy sprawdzić wartość właściwości validityStatus obiektu XMLSignatureValidator.

Stała Event.COMPLETE definiuje wartość właściwości type obiektu zdarzenia complete.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
targetObiekt sieciowy, którego ładowanie zostało ukończone.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje wykrywanie zdarzenia ukończenia generowanego przez obiekt XMLSignatureValidator. Wynik weryfikacji jest wyświetlany za pomocą instrukcji trace:
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);    
}

Powiązane elementy interfejsu API

    

error

Zdarzenie  
Typ obiektu zdarzenia: flash.events.ErrorEvent
właściwość ErrorEvent.type = flash.events.ErrorEvent.ERROR

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0

Wywoływane, jeśli weryfikacji nie można ukończyć z powodu błędów.

Definiuje wartość właściwości type obiektu zdarzenia error.

To zdarzenie ma następujące właściwości:

WłaściwośćWartość
bubblesfalse
cancelablefalse; nie ma domyślnego zachowania, które można byłoby anulować.
currentTargetObiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń.
targetObiekt, w którym wystąpiło niepowodzenie operacji sieciowej.
textTekst, który ma być wyświetlany w charakterze komunikatu o błędzie.

Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład ilustruje wykrywanie zdarzenia błędu generowanego przez obiekt XMLSignatureValidator. Komunikat o błędzie jest wyświetlany za pomocą instrukcji trace:
private function verificationError(event:ErrorEvent):void{
    trace("Verification error: " + event.text);                
}
XMLSignatureValidatorExample.as

W poniższym przykładzie plik zawierający podpis XML jest ładowany i weryfikowany. Aby skorzystać z tego przykładu, należy zaimplementować interfejs IURIDereferencer odpowiedni dla podpisów przeznaczonych do weryfikacji (zastępując klasę SignedMessageDereferencer użytą w przykładzie). W celu uruchomienia przykładu należy wywołać metodę SignatureValidatorExample.validateSignature(signatureFile), przekazując obiekt pliku odwołujący się do dokumentu podpisu XML przeznaczonego do weryfikacji.
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 );
    }
}




[ X ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.