ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: AIR 30.0 und früher, Flash Player 30.0 und früher, Flash Lite 4
Flex 4.6 und früher, Flash Pro CS6 und früher
Filter ausblenden
flash.security 

XMLSignatureValidator  - AS3

Paketex

Oberste Ebene
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

Sprachelemente

Globale Konstanten
Globale Funktionen
Operatoren
Anweisungen, Schlüsselwörter und Direktiven
Sondertypen

Anhänge

Neue Funktionen
Compiler-Fehler
Compiler-Warnungen
Laufzeitfehler
Migration zu ActionScript 3
Unterstützte Zeichensätze
Nur MXML-Tags
Motion-XML-Elemente
Timed Text-Tags
Liste veralteter Elemente
Konstanten für die Implementierung von Eingabehilfen
Verwendung der ActionScript-Beispiele
Rechtliche Hinweise
Paketflash.security
Klassepublic class XMLSignatureValidator
VererbungXMLSignatureValidator Inheritance EventDispatcher Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Die XMLSignatureValidator-Klasse überprüft sowohl, ob eine XML-Signaturdatei gut strukturiert und unverändert ist, als auch optional, ob sie mit einem Schlüssel signiert wurde, der mit einem vertrauenswürdigen digitalen Zertifikat verknüpft ist.

Unterstützung von AIR-Profilen: Diese Funktion wird unter allen Desktopbetriebssystemen und auf Geräten mit AIR für TV unterstützt, jedoch nicht auf mobilen Geräten. Mit der XMLSignatureValidator.isSupported-Eigenschaft können Sie testen, ob zur Laufzeit Unterstützung gegeben ist. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.

XMLSignatureValidator implementiert einen Teilsatz der W3C-Empfehlung für XML-Signatursyntax- und -verarbeitung und sollte nicht als konforme Implementierung betrachtet werden. Der unterstützte Teilsatz der Empfehlung enthält:

  • Die gesamte Kernsignatursyntax mit Ausnahme des KeyInfo-Elements.
  • Das KeyInfo-Element unterstützt nur das X509Data-Element.
  • Das X509Data-Element unterstützt nur das X509Certificate-Element.
  • Der SHA256-Digestmethodenalgorithmus.
  • Der PKCS1-Signieralgorithmus.
  • Die „Canonical XML without comments“-Kanonisierungsmethode und Transformationsalgorithmus.
  • Das Manifest-Element in zusätzlicher Signatursyntax.

Sie müssen eine IURIDereferencer-Implementierung zur Verfügung stellen, um eine XML-Signatur zu verifizieren. Diese Implementierungsklasse ist zuständig für das Auflösen der URIs, die in den SignedInfo-Elementen der Signaturdatei angegeben sind und die referenzierten Daten in einem Objekt zurückgeben, zum Beispiel ein ByteArray, das die IDataInput-Schnittstelle implementiert.

Um zu überprüfen, ob das Signierzertifikat mit einem vertrauenswürdigen Zertifikat verkettet ist, muss entweder die XML-Signatur die zum Bilden der Kette in X509Certificate-Elementen erforderlichen Zertifikate enthalten oder Sie müssen die zum Bilden der Kette erforderlichen Zertifikate über die addCertificate()-Methode bereitstellen.

Überprüfen einer XMLSignatur:

  1. Erstellen Sie eine Instanz der XMLSignatureValidator-Klasse.
  2. Stellen Sie die uriDereferencer-Eigenschaft der Instanz auf eine Instanz Ihrer IURIDereferencer-Implementierungsklasse ein.
  3. (Optional) Stellen Sie über die addCertificate()-Methode DER-kodierte Zertifikate zum Bilden der vertrauenswürdigen Zertifikatkette bereit.
  4. Rufen Sie die verify-Methode von XMLSignatureValidator auf, wobei Sie die zu verifizierende Signatur übergeben.
  5. Überprüfen Sie die validityStatus-Eigenschaft, nachdem das XMLSignatureValidator-Objekt ein complete-Ereignis auslöst.

Informationen zum Signaturstatus:

XML-Signaturen können gültig oder ungültig sein oder ihre Gültigkeit ist unbekannt. Der Gesamtstatus richtet sich nach dem Verifizierungsstatus der einzelnen Komponenten der Signaturdatei:

  • digestStatus: Die Gültigkeit der Kryptographie der Signatur, die über das SignedInfo-Element berechnet wird. Kann valid, invalid oder unknown sein.
  • identityStatus: Die Gültigkeit des signierenden Zertifikats. Wenn das Zertifikat abgelaufen, zurückgenommen oder geändert wurde, ist der Status invalid. Wenn das Zertifikat nicht mit einem vertrauenswürdigen Stammzertifikat verbunden werden kann, ist der Status unknown. Das Zertifikat wird nicht überprüft, wenn der Digest ungültig ist. Bei Nichtüberprüfung wird der Status als unknown gemeldet.
  • referencesStatus: Die Gültigkeit der Daten, auf die von den Referenzen im SignedInfo-Element der Signaturdatei verwiesen wird. Kann valid, invalid oder unknown sein. Die Referenzen werden nicht überprüft, wenn der Digest oder das Zertifikat ungültig ist. Die Referenzprüfung kann auch basierend auf der Einstellung der referencesValidationSetting-Eigenschaft übersprungen werden. Bei Nichtüberprüfung wird der Status als unknown gemeldet.

Die von der validityStatus-Eigenschaft gemeldete Signaturgültigkeit kann folgende Werte aufweisen:

  • valid, wenn referencesStatus, digestStatus und identityStatus alle valid sind.
  • invalid, wenn einer der Status invalid ist.
  • unknown: Wenn referencesStatus, digestStatus oder identityStatus unknown ist.

Kanonisierungsbeschränkungen:

Die XML-Engine in AIR erzeugt beim Kanonisieren eines XML-Dokuments nicht immer den erwarteten XML-String. Aus diesem Grund wird empfohlen, keine Weißräume zwischen Elemente in umhüllten oder abgetrennten Signaturdokumenten zu setzen und Namespaces in Signaturdokumenten nicht neu zu definieren. In beiden Fällen erzeugt AIR das Dokument unter Umständen nicht mit der gleichen Zeichenfolge wie das Original und die Prüfung schlägt folglich fehl.

Beispiele anzeigen

Weitere Informationen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
      digestStatus : String
[schreibgeschützt] Der Gültigkeitsstatus der kryptografischen Signatur, die aus dem SignedInfo-Element der Signatur berechnet wird.
XMLSignatureValidator
      identityStatus : String
[schreibgeschützt] Der Gültigkeitsstatus des signierenden Zertifikats.
XMLSignatureValidator
      isSupported : Boolean
[statisch] [schreibgeschützt] Die isSupported-Eigenschaft hat den Wert „true“, wenn die XMLSignatureValidator-Klasse von der aktuellen Plattform unterstützt wird, andernfalls hat sie den Wert „false“.
XMLSignatureValidator
      referencesStatus : String
[schreibgeschützt] Der Gültigkeitsstatus der Daten in den Verweisen im SignedInfo-Element der Signatur.
XMLSignatureValidator
      referencesValidationSetting : String
Gibt die Bedingungen an, unter denen Verweise überprüft werden.
XMLSignatureValidator
      revocationCheckSetting : String
Gibt an, wie die Zertifikatrücknahme überprüft werden soll.
XMLSignatureValidator
      signerCN : String
[schreibgeschützt] Das Feld „Allgemeiner Name“ des signierenden Zertifikats.
XMLSignatureValidator
      signerDN : String
[schreibgeschützt] Das Feld „Eindeutiger Name“ des signierenden Zertifikats.
XMLSignatureValidator
      signerExtendedKeyUsages : Array
[schreibgeschützt] Ein Array, das die OIDs für die erweiterte Tastenverwendung enthält, die im signierenden Zertifikat aufgeführt sind.
XMLSignatureValidator
      signerTrustSettings : Array
[schreibgeschützt] Ein Array, das die Vertrauenseinstellungen des signierenden Zertifikats enthält.
XMLSignatureValidator
      uriDereferencer : IURIDereferencer
Die IURIDereferencer-Implementierung.
XMLSignatureValidator
      useSystemTrustStore : Boolean
Gibt an, dass Zertifikate im Vertrauensspeicher des Systems für die Kettenbildung verwendet werden.
XMLSignatureValidator
      validityStatus : String
[schreibgeschützt] Der Gültigkeitsstatus einer überprüften XML-Signatur.
XMLSignatureValidator
Öffentliche Methoden
 MethodeDefiniert von
  
Erstellt ein neues XMLSignatureValidator-Objekt.
XMLSignatureValidator
  
    addCertificate(cert:ByteArray, trusted:Boolean):*
Fügt ein x509-Zertifikat für die Kettenbildung hinzu.
XMLSignatureValidator
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
EventDispatcher
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
  
    verify(signature:XML):void
Überprüft die angegebene Signatur.
XMLSignatureValidator
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 Ereignis Übersicht Definiert von
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
  
    complete
Wird ausgelöst, wenn die Überprüfung abgeschlossen ist.XMLSignatureValidator
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird.EventDispatcher
  
    error
Wird ausgelöst, wenn die Überprüfung aufgrund von Fehlern nicht abgeschlossen werden kann.XMLSignatureValidator
Eigenschaftendetails
    

digestStatus

Eigenschaft
digestStatus:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Der Gültigkeitsstatus der kryptografischen Signatur, die aus dem SignedInfo-Element der Signatur berechnet wird.

Der Status ist:

  • valid: Wenn die Signatur kryptographisch gültig ist.
  • invalid: Wenn der Digest nach dem Signieren geändert wurde.
  • unknown: Wenn die verify()-Methode nicht aufgerufen wurde.

Hinweis: Wenn der digestStatus ungültig ist, werden der identityStatus und der referencesStatus nicht überprüft und als unknown gemeldet.



Implementierung
    public function get digestStatus():String

Auslöser
IllegalOperationError — Wenn der Zugriff während der Überprüfung einer Signatur erfolgt.
    

identityStatus

Eigenschaft 
identityStatus:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Der Gültigkeitsstatus des signierenden Zertifikats.

Der Status kann sein:

  • valid: Das Zertifikat ist nicht abgelaufen, hat die Rücknahmeüberprüfung bestanden und ist mit einem vertrauenswürdigen Stammzertifikat verbunden.
  • unknown: Das Zertifikat ist nicht abgelaufen, hat die Rücknahmeüberprüfung bestanden, ist jedoch nicht mit einem vertrauenswürdigen Stammzertifikat verbunden. Der Statusunknown wird auch gemeldet, wenn der Status nicht überprüft wurde, weil entweder die verify()-Methode nicht aufgerufen wurde oder weil die kryptographische Signatur des SignedInfo-Elements (digestStatus) ungültig ist.
  • invalid: Das Zertifikat ist abgelaufen oder hat eine Rücknahmeüberprüfung nicht bestanden.

Die über die addCertificate()-Methode hinzugefügten Zertifikate und die Einstellungen der revocationCheckSetting- und der useSystemTrustStore-Eigenschaft können ändern, ob ein Zertifikat als gültig betrachtet wird.

Hinweis: Wenn der identityStatus ungültig ist, wird der referencesStatus nicht überprüft und als unknown gemeldet. Außerdem werden Verweise nicht überprüft, wenn der identityStatus unbekannt ist, es sei denn, die referencesValidationSetting ist validOrUnknownIdentity.



Implementierung
    public function get identityStatus():String

Auslöser
IllegalOperationError — Wenn der Zugriff während der Überprüfung einer Signatur erfolgt.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )
Das folgende Beispiel ruft das Ergebnis der Überprüfung des signierenden Zertifikats ab (nachdem eine Signatur überprüft wurde):
 import flash.security.XMLSignatureValidator;
 
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var identityResult:String = verifier.identityStatus;
    

isSupported

Eigenschaft 
isSupported:Boolean  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 2

Die isSupported-Eigenschaft hat den Wert true, wenn die XMLSignatureValidator-Klasse von der aktuellen Plattform unterstützt wird, andernfalls hat sie den Wert false.



Implementierung
    public static function get isSupported():Boolean
    

referencesStatus

Eigenschaft 
referencesStatus:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Der Gültigkeitsstatus der Daten in den Verweisen im SignedInfo-Element der Signatur.

Der Status kann sein:

  • valid: Wenn alle Verweise gültig sind.
  • invalid: Wenn einer der Verweise ungültig ist.
  • unknown: Wenn keine Überprüfung stattgefunden hat. Verweise können in den folgenden Situationen unüberprüft bleiben:
    • die verify()-Methode wurde nicht aufgerufen
    • die kryptographische Signatur des SignedInfo-Elements (digestStatus) ist ungültig.
    • das signierende Zertifikat (identityStatus) ist ungültig
    • referencesValidationSetting ist validIdentity (die Standardeinstellung) und der identityStatus des signierenden Zertifikats ist unbekannt.
    • die referencesValidationSetting ist never.

Wichtig: Externe Ressourcen werden nur überprüft, wenn sie direkt in einem SignedInfo-Element innerhalb des Signaturdokuments referenziert werden. Externe Ressourcen, auf die von einer sekundären Referenz verwiesen wird, werden nicht überprüft. Wenn z. B. eine XML-Signatur ein Manifest-Element signiert, wird nur die Integrität des Manifest-Elements selbst überprüft. Die im Manifest aufgelisteten Dateien werden nicht überprüft.



Implementierung
    public function get referencesStatus():String

Auslöser
IllegalOperationError — Wenn der Zugriff während der Überprüfung einer Signatur erfolgt.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )
Das folgende Beispiel ruft das Ergebnis der Überprüfung der Verweise in der Signatur ab (nachdem eine Signatur überprüft wurde):
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var dataResult:String = verifier.referencesStatus;
    

referencesValidationSetting

Eigenschaft 
referencesValidationSetting:String

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.5

Gibt die Bedingungen an, unter denen Verweise überprüft werden.

Verwenden Sie Konstanten, die in der ReferencesValidationSetting-Klasse definiert sind, um die Eigenschaft festzulegen. Zu diesen Einstellungen gehören:

  • ReferencesValidationSetting.VALID_IDENTITY: Verweise werden nur überprüft, wenn das signierende Zertifikat gültig und mit einem vertrauenswürdigen Stamm verkettet ist. Dies ist die Standardeinstellung.
  • ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY: Verweise werden überprüft, wenn das signierende Zertifikat gültig ist, selbst wenn es nicht mit einem vertrauenswürdigen Stamm verkettet ist.
  • ReferencesValidationSetting.NEVER: Verweise werden nie überprüft.

Verwenden Sie die Standardeinstellung (validIdentity) für Signaturen, die mit einem kommerziellen Zertifikat signiert sind, oder wenn Sie Ihr eigenes Zertifikat als Vertrauensanker über die addCertificate()-Methode bereitstellen. Durch diese Einstellung wird verhindert, dass Verweise überprüft werden, wenn das signierte Dokument sowieso abgelehnt wird.

Verwenden Sie die Einstellung validOrUnknownIdentity für Signaturen, die mit selbst signierten Zertifikaten signiert sind. Mit dieser Einstellung können Sie überprüfen, ob die signierten Daten unverändert sind, erhalten aber keine Garantie bezüglich der Identität des Signierers.

Verwenden Sie die Einstellung never, um zu verhindern, dass Verweise überprüft werden, wenn diese Überprüfung im Kontext Ihrer Anwendung unerheblich ist.



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

Auslöser
IllegalOperationError — Wenn der Zugriff während der Validierung einer Signatur erfolgt.
 
ArgumentError — wenn der setting-Parameter einen Wert enthält, der nicht in der ReferencesValidationSetting-Klasse definiert ist.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )
Das folgende Beispiel setzt das XMLSignatureValidator-Objekt nur dann auf eine Überprüfung von Verweisen, wenn das signierende Zertifikat mit einem Vertrauensanker verkettet ist:
 import flash.security.ReferencesValidationSetting;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); 
 verifier.referencesValidationSetting = ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY;
    

revocationCheckSetting

Eigenschaft 
revocationCheckSetting:String

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Gibt an, wie die Zertifikatrücknahme überprüft werden soll.

Legen Sie diese Eigenschaft mit Konstanten, die in der RevocationSettings-Klasse definiert sind, fest. Zu diesen Einstellungen gehören:

  • RevocationCheckSettings.NEVER: Die Zertifikatrücknahme wird nicht überprüft.
  • RevocationCheckSettings.BEST_EFFORT: Die Zertifikatrücknahme wird überprüft, wenn Rücknahmeinformationen zur Verfügung stehen und der Rücknahmestatus abgerufen werden kann. Wenn der Rücknahmestatus nicht ermittelt werden kann, wird das Zertifikat nicht zurückgewiesen.
  • RevocationCheckSettings.REQUIRED_IF_AVAILABLE: Wenn das Zertifikat Rücknahmeinformationen enthält, muss zur Überprüfung des Zertifikats der Rücknahmestatus ermittelt werden.
  • RevocationCheckSettings.ALWAYS_REQUIRED: Der Rücknahmestatus wird immer überprüft. Zertifikate ohne Rücknahmeinformationen werden abgelehnt.



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

Auslöser
IllegalOperationError — Wenn der Zugriff während der Validierung einer Signatur erfolgt.

Verwandte API-Elemente

    

signerCN

Eigenschaft 
signerCN:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Das Feld „Allgemeiner Name“ des signierenden Zertifikats.



Implementierung
    public function get signerCN():String

Beispiel  ( Verwendung dieses Beispiels )
Das folgende Beispiel liest den allgemeinen Namen des signierenden Zertifikats (nachdem eine Signatur überprüft wurde):
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var commonName:String = verifier.signerCN;
    

signerDN

Eigenschaft 
signerDN:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Das Feld „Eindeutiger Name“ des signierenden Zertifikats.



Implementierung
    public function get signerDN():String

Beispiel  ( Verwendung dieses Beispiels )
Das folgende Beispiel liest den eindeutigen Namen des signierenden Zertifikats (nachdem eine Signatur überprüft wurde):
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var distinguishedName:String = verifier.signerDN;
    

signerExtendedKeyUsages

Eigenschaft 
signerExtendedKeyUsages:Array  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Ein Array, das die OIDs für die erweiterte Tastenverwendung enthält, die im signierenden Zertifikat aufgeführt sind.

Jede erweiterte Tastenverwendung wird in numerischer OID-Form gemeldet.



Implementierung
    public function get signerExtendedKeyUsages():Array

Auslöser
IllegalOperationError — Wenn der Zugriff während der Überprüfung einer Signatur erfolgt.

Beispiel  ( Verwendung dieses Beispiels )
Das folgende Beispiel liest die erweiterten Tasten-OIDs des signierenden Zertifikats (nachdem eine Signatur überprüft wurde):
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var extendedKeyOIDs:Array = verifier.signerExtendedKeyUsages;
    

signerTrustSettings

Eigenschaft 
signerTrustSettings:Array  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Ein Array, das die Vertrauenseinstellungen des signierenden Zertifikats enthält.

Die Vertrauenseinstellungen werden aus dem System und den Schlüssel-IODs, die im Zertifikat eingebettet sind, abgeleitet. Konstanten für die Strings, die die erkannten Vertrauenseinstellungen repräsentieren, sind in der SignerTrustSettings-Klasse definiert.

Das signerTrustSettings-Array eines Zertifikats mit dem Status unknown oder invalid ist leer.

Das Verändern des Array hat keinen Einfluss auf die Vertrauenseinstellungen des Zertifikats.



Implementierung
    public function get signerTrustSettings():Array

Auslöser
IllegalOperationError — Wenn der Zugriff während der Überprüfung einer Signatur erfolgt.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )
Das folgende Beispiel liest die Vertrauenseinstellungen des signierenden Zertifikats (nachdem eine Signatur überprüft wurde):
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var certificateTrustedFor:Array = verifier.signerTrustSettings;
    

uriDereferencer

Eigenschaft 
uriDereferencer:IURIDereferencer

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Die IURIDereferencer-Implementierung.

Eine IURIDereferencer-Implementierung muss bereitgestellt werden, bevor eine Signatur überprüft wird.



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

Auslöser
IllegalOperationError — Wenn der Zugriff während der Validierung einer Signatur erfolgt.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )
Das folgende Beispiel erstellt eine Instanz von SignedMessageDereferencer, die die IURIDereferencer-Schnittstelle implementiert, und setzt sie als den Dereferenzierer, der zur Überprüfung der Signatur verwendet werden soll:
 import com.example.SignedMessageDereferencer; //A custom class implementing IURIDereferencer
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); 
 verifier.uriDereferencer = new SignedMessageDereferencer();
    

useSystemTrustStore

Eigenschaft 
useSystemTrustStore:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Gibt an, dass Zertifikate im Vertrauensspeicher des Systems für die Kettenbildung verwendet werden.

Ist der Wert true, werden die Vertrauensanker im Vertrauensspeicher des Systems als vertrauenswürdige Stämme verwendet. Der Vertrauensspeicher des Systems wird standardmäßig nicht verwendet.



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

Auslöser
IllegalOperationError — Wenn der Zugriff während der Validierung einer Signatur erfolgt.

Beispiel  ( Verwendung dieses Beispiels )
Das folgende Beispiel erzeugt eine XMLSignatureValidator-Instanz und richtet diese so ein, dass beim Überprüfen einer XML-Signatur der Systemablagebereich für vertrauenswürdige Zertifikate verwendet wird:
 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); 
 verifier.useSystemTrustStore = true;
    

validityStatus

Eigenschaft 
validityStatus:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Der Gültigkeitsstatus einer überprüften XML-Signatur.

Die XML-Signatur wird überprüft, indem die kryptographische Signatur des SignedInfo-Elements, das signierende Zertifikat und die Daten, auf die die Referenzen im SignedInfo-Element verweisen, überprüft werden. Die Gültigkeit jedes dieser Elemente wird einzeln über die digestStatus-, die identityStatus()- bzw. die referencesStatus-Eigenschaft gemeldet.

XML-Signaturen können gültig oder ungültig sein oder ihre Gültigkeit ist unbekannt. Der Gesamtstatus richtet sich nach dem Verifizierungsstatus der einzelnen Komponenten der Signaturdatei:

  • digestStatus: Die Gültigkeit der kryptographischen Signatur, die über das SignedInfo-Element berechnet wird.
  • identityStatus: Die Gültigkeit des signierenden Zertifikats.
  • referencesStatus: Die Gültigkeit des Digests der Verweise im SignedInfo-Element der Signatur.

Die von der validityStatus-Eigenschaft gemeldete Signaturgültigkeit kann folgende Werte aufweisen:

  • valid, wenn referencesStatus, digestStatus und identityStatus alle valid sind.
  • invalid, wenn einer der Status invalid ist.
  • unknown: Wenn einer der Status unknown ist.



Implementierung
    public function get validityStatus():String

Auslöser
IllegalOperationError — Wenn der Zugriff während der Überprüfung einer Signatur erfolgt.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )
Das folgende Beispiel ruft das Ergebnis der Überprüfung der XML-Signatur ab.
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate the signature...
  
 var validationResult:String = verifier.validityStatus;
Konstruktordetails
    

XMLSignatureValidator

()Konstruktor
public function XMLSignatureValidator()

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Erstellt ein neues XMLSignatureValidator-Objekt.

Sie müssen die uriDereferencer-Eigenschaft einstellen, bevor Sie die verify()-Methode des neuen Objekts aufrufen.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel erstellt und richtet ein neues XMLSignatureValidator-Objekt ein:
 
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);
Methodendetails

    addCertificate

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Fügt ein x509-Zertifikat für die Kettenbildung hinzu.

Das hinzugefügte Zertifikat muss ein DER-kodiertes x509-Zertifikat sein.

Wenn der trusted-Parameter den Wert true hat, wird das Zertifikat als Vertrauensanker angesehen.

Hinweis: Eine XML-Signatur kann Zertifikate zum Bilden der Zertifikatkette des Unterzeichners enthalten. Die XMLSignatureValidator-Klasse verwendet diese Zertifikate zur Kettenbildung, aber nicht als vertrauenswürdige Stämme (standardmäßig).

Parameter

cert:ByteArray — Ein ByteArray-Objekt, das ein digitales DER-kodiertes x509-Zertifikat enthält.
 
trusted:Boolean — Setzen Sie es auf true, um dieses Zertifikat als Vertrauensanker festzulegen.

Rückgabewerte
*

Auslöser
IllegalOperationError — Wenn der Aufruf während der Überprüfung einer Signatur erfolgt.

Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel lädt ein Zertifikat aus dem Dateisystem und fügt es als Vertrauensanker hinzu.
 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

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

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Überprüft die angegebene Signatur.

Die Überprüfung ist asynchron. Das XMLSignatureValidator-Objekt löst ein complete-Ereignis aus, wenn die Überprüfung erfolgreich abgeschlossen wird bzw. ein error-Ereignis, wenn die Überprüfung aufgrund von Fehlern nicht abgeschlossen werden kann.

Der Überprüfungsprozess kann nicht abgebrochen werden. Wenn gerade ein Überprüfungsprozess ausgeführt wird, schlagen anschließende Aufrufe der verify()-Methode fehl. Nach der aktuellen Überprüfung können Sie die verify()-Methode erneut aufrufen.

Hinweis: Da der XMLSignatureValidator nur einen Teilsatz der W3C-Empfehlung für die Syntax und Verarbeitung von XML-Signaturen implementiert, können nicht alle gültigen XML-Signaturen überprüft werden.

Parameter

signature:XML — Die XML-Signatur, die überprüft werden soll.


Ereignisse
complete:Event — Wird ausgelöst, wenn die Überprüfung erfolgreich abgeschlossen wurde.
 
error:ErrorEvent — Wird ausgelöst, wenn bei der Überprüfung von Verweisen ein Fehler aufgetreten ist.

Auslöser
IllegalOperationError — Wenn der Aufruf während der Überprüfung einer Signatur erfolgt.
 
Error — Wenn andere Fehler gefunden werden, z. B. nicht wohlgeformtes XML oder nicht unterstützte Elemente in der Signaturdatei.

Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel liest eine Datei, die eine XML-Signatur enthält, und überprüft sie durch Aufrufen der verify()-Methode. (Bei diesem Beispiel wird angenommen, dass die IURIDereferencer-Implementierung für die Signatur geeignet ist.)
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 );
Ereignisdetails
    

complete

Ereignis
Ereignisobjekttyp: flash.events.Event
Eigenschaft Event.type = flash.events.Event.COMPLETE

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Wird ausgelöst, wenn die Überprüfung abgeschlossen ist.

Ein complete-Ereignis bedeutet nicht, dass die Signatur gültig ist. Überprüfen Sie die validityStatus-Eigenschaft des XMLSignatureValidator-Objekts, um das Ergebnis der Signaturüberprüfung zu ermitteln.

Die Event.COMPLETE-Konstante definiert den Wert der type-Eigenschaft eines complete-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Netzwerkobjekt, dessen Ladevorgang beendet ist.

Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel überwacht vollständige Ergebnisse, die von einem XMLSignatureValidator-Objekt ausgelöst werden, und verfolgt die Überprüfungsergebnisse:
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);    
}

Verwandte API-Elemente

    

error

Ereignis  
Ereignisobjekttyp: flash.events.ErrorEvent
Eigenschaft ErrorEvent.type = flash.events.ErrorEvent.ERROR

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0

Wird ausgelöst, wenn die Überprüfung aufgrund von Fehlern nicht abgeschlossen werden kann.

Definiert den Wert der Eigenschaft type eines error-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Objekt, bei dem der Netzwerkvorgang fehlschlägt.
textDer als Fehlermeldung anzuzeigende Text.

Beispiel  ( Verwendung dieses Beispiels )

Das folgende Beispiel überwacht Fehlerereignisse, die von einem XMLSignatureValidator-Objekt ausgelöst werden, und verfolgt die Fehlermeldung:
private function verificationError(event:ErrorEvent):void{
    trace("Verification error: " + event.text);                
}
XMLSignatureValidatorExample.as

Das folgende Beispiel lädt und überprüft eine Datei, die eine XML-Signatur enthält. Um dieses Beispiel zu verwenden, müssen Sie einen IURIDereferencer implementieren, der zu den zu überprüfenden Signaturen passt (ersetzen Sie hierzu die im Beispiel verwendete SignedMessageDereferencer-Klasse). Führen Sie das Beispiel aus, indem Sie SignatureValidatorExample.validateSignature( signatureFile ) aufrufen und die Datei, die das zu überprüfende XML-Signaturdokument enthält, übergeben.
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 ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.