Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : AIR 30.0 et versions antérieures, Flash Player 30.0 et versions antérieures, Flash Lite 4
Flex 4.6 et versions antérieures, Flash Pro CS6 et versions antérieures
Masquer les filtres
flash.security 

XMLSignatureValidator  - AS3

Packagesx

Niveau supérieur
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

Eléments du langage

Constantes globales
Fonctions globales
Opérateurs
Instructions, mots clés et directives
Types spéciaux

Annexes

Nouveautés
Erreurs de compilation
Avertissements du compilateur
Erreurs d’exécution
Migration vers ActionScript 3
Jeux de caractères pris en charge
Balises MXML uniquement
Eléments XML de mouvement
Balises Timed Text
Liste des éléments déconseillés
Constantes d’implémentation d’accessibilité
Utilisation des exemples de code ActionScript
Informations juridiques
Packageflash.security
Classepublic class XMLSignatureValidator
HéritageXMLSignatureValidator Inheritance EventDispatcher Inheritance Object

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

La classe XMLSignatureValidator vérifie si un fichier de signature XML est correctement constitué, s’il n’est pas modifié et, éventuellement, s’il est signé à l’aide d’une clé associée à un certificat numérique approuvé.

Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur tous les systèmes d’exploitation de bureau et les périphériques AIR pour TV, mais ne l’est pas sur les périphériques mobiles. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété XMLSignatureValidator.isSupported. Voir Prise en charge du profil AIR pour plus d’informations sur la prise en charge de l’API dans plusieurs profils.

La classe XMLSignatureValidator implémente un sous-ensemble de la recommandation du W3C portant sur la syntaxe et le traitement de XML Signature, bien que ce dernier ne doive pas être considéré comme une implémentation normalisée. Le sous-ensemble de la recommandation pris en charge inclut les éléments suivants :

  • Toute la syntaxe des signatures de base à l’exception de l’élément KeyInfo.
  • L’élément KeyInfo prend en charge uniquement l’élément X509Data.
  • L’élément X509Data prend en charge uniquement l’élément X509Certificate.
  • Algorithme de la méthode digest SHA256.
  • Algorithme de signature PKCS1.
  • Méthode de canonisation « XML canonique sans commentaires » et algorithme de transformation.
  • Elément Manifest dans une syntaxe de signatures supplémentaire.

Vous devez fournir une implémentation IURIDereferencer pour vérifier une signature XML. Cette classe d’implémentation est chargée de résoudre les URI (Uniform Resource Identifier) spécifiés dans les éléments SignedInfo du fichier de signature, puis de renvoyer les données référencées dans un objet, tel que ByteArray, qui implémente l’interface IDataInput.

Pour vérifier que le certificat de signature est lié à un certificat approuvé, deux possibilités s’offrent à vous : soit la signature XML doit contenir les certificats requis pour créer la chaîne dans les éléments X509Certificate, soit vous devez fournir les certificats requis pour créer la chaîne à l’aide de la méthode addCertificate().

Pour vérifier une signature XML :

  1. Créez une occurrence de la classe XMLSignatureValidator.
  2. Définissez la propriété uriDereferencer de l’occurrence sur une occurrence de votre classe d’implémentation IURIDereferencer.
  3. Si vous souhaitez créer la chaîne d’approbation de certificat, fournissez des certificats codés en DER (Distinguished Encoding Rules) à l’aide de la méthode addCertificate().
  4. Appelez la méthode verify de l’objet XMLSignatureValidator, en transmettant la signature à vérifier.
  5. Vérifiez la propriété validityStatus une fois que l’objet XMLSignatureValidator distribue un événement complete.

A propos de l’état des signatures :

Une signature XML peut présenter un état « valid » (valide), non « invalid » (non valide) ou « unknown » (inconnu). L’état général dépend de l’état de vérification des composants individuels du fichier de signature :

  • digestStatus : validité de la signature cryptographique calculée sur l’élément SignedInfo. Les valeurs possibles sont valid, invalid ou unknown.
  • identityStatus : validité du certificat de signature. Si le certificat a expiré, a été révoqué ou altéré, l’état est invalid. S’il s’avère impossible de lier le certificat à un certificat racine approuvé, l’état est unknown. Le certificat n’est pas vérifié si le digest n’est pas valide. S’il n’est pas vérifié, l’état correspond à unknown.
  • referencesStatus : validité des données transmises par les références dans l’élément SignedInfo du fichier de signature. Les valeurs possibles sont valid, invalid ou unknown. Les références ne sont pas vérifiées si le digest ou le certificat n’est pas valide. Il est également possible que la vérification des références ne soit pas effectuée, selon le paramètre de la propriété referencesValidationSetting. S’il n’est pas vérifié, l’état correspond à unknown.

L’état de la signature indiqué par la propriété validityStatus peut être :

  • valid : si les propriétés referencesStatus, digestStatus et identityStatus sont toutes valid.
  • invalid : si l’un des états individuels est invalid.
  • unknown : si referencesStatus, digestStatus ou identityStatus est unknown.

Restrictions concernant la mise en forme canonique :

Le moteur XML d’AIR ne produit pas toujours la chaîne XML attendue lors de la mise en forme canonique d’un document XML. Pour cette raison, nous vous recommandons d’éviter d’insérer des espaces blancs entre les éléments dans les documents de signature enveloppés ou séparés et de ne pas redéfinir les espaces de noms au sein d’un document de signature. Dans les deux cas, AIR peut de ne pas recréer le document avec la même séquence de caractères que celle du document original, ce qui risque d’entraîner l’échec de la validation.

Consulter les exemples

Informations complémentaires

Eléments de l’API associés



Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
      digestStatus : String
[lecture seule] Etat de validité de la signature cryptographique calculée sur l’élément de signature SignedInfo.
XMLSignatureValidator
      identityStatus : String
[lecture seule] Etat de validité du certificat de signature.
XMLSignatureValidator
      isSupported : Boolean
[statique] [lecture seule] La propriété isSupported est définie sur true si la classe XMLSignatureValidator est disponible sur la plate-forme actuelle ; dans le cas contraire, elle est définie sur false.
XMLSignatureValidator
      referencesStatus : String
[lecture seule] Validité des données de toutes les références dans l’élément de signature SignedInfo.
XMLSignatureValidator
      referencesValidationSetting : String
Spécifie les conditions sous lesquelles les références sont vérifiées.
XMLSignatureValidator
      revocationCheckSetting : String
Détermine la méthode de vérification de la révocation des certificats.
XMLSignatureValidator
      signerCN : String
[lecture seule] Champ Nom commun du certificat de signature.
XMLSignatureValidator
      signerDN : String
[lecture seule] Champ Nom unique du certificat de signature.
XMLSignatureValidator
      signerExtendedKeyUsages : Array
[lecture seule] Tableau contenant les identificateurs d’objets de l’utilisation avancée de la clé répertoriés dans le certificat de signature.
XMLSignatureValidator
      signerTrustSettings : Array
[lecture seule] Tableau contenant les paramètres d’approbation du certificat de signature.
XMLSignatureValidator
      uriDereferencer : IURIDereferencer
Implémentation de IURIDereferencer.
XMLSignatureValidator
      useSystemTrustStore : Boolean
Indique que les certificats dans le magasin d’approbations du système sont utilisés pour la création de chaînes.
XMLSignatureValidator
      validityStatus : String
[lecture seule] Etat de validité d’une signature XML vérifiée.
XMLSignatureValidator
Méthodes publiques
 MéthodeDéfini par
  
Crée un objet XMLSignatureValidator.
XMLSignatureValidator
  
    addCertificate(cert:ByteArray, trusted:Boolean):*
Ajoute un certificat x509 pour la création de la chaîne.
XMLSignatureValidator
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
EventDispatcher
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
  
    verify(signature:XML):void
Vérifie la signature spécifiée.
XMLSignatureValidator
 Inherited
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
EventDispatcher
Evénements
 Evénement Synthèse Défini par
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active.EventDispatcher
  
    complete
Distribué une fois la vérification terminée.XMLSignatureValidator
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive.EventDispatcher
  
    error
Distribué si la vérification s’avère impossible à cause d’erreurs.XMLSignatureValidator
Détails de la propriété
    

digestStatus

propriété
digestStatus:String  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Etat de validité de la signature cryptographique calculée sur l’élément de signature SignedInfo.

Le statut est :

  • valid : si la signature est valide au niveau cryptographique.
  • invalid : si la méthode digest a été modifiée après la signature.
  • unknown : si la méthode verify() n’a pas été appelée.

Remarque : si digestStatus est invalid, les états identityStatus et referencesStatus ne sont pas vérifiés et sont indiqués comme unknown.



Implémentation
    public function get digestStatus():String

Valeur émise
IllegalOperationError — Si l’accès a lieu lorsqu’une signature est en cours de validation.
    

identityStatus

propriété 
identityStatus:String  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Etat de validité du certificat de signature.

Les états possibles sont les suivants :

  • valid : le certificat n’a pas expiré, la vérification de la révocation a été effectuée correctement et il est lié à un certificat racine approuvé.
  • unknown : le certificat n’a pas expiré, la vérification de la révocation a été effectuée correctement, mais il n’est pas lié à un certificat racine approuvé. Le statut unknown est également signalé lorsqu’il n’a pas été vérifié, soit parce que la méthode verify() n’a pas été appelée, soit parce que la signature cryptographique de l’élément SignedInfo (digestStatus) n’est pas valide.
  • invalid : le certificat a expiré ou la vérification de la révocation a échoué.

Les certificats ajoutés à l’aide de la méthode addCertificate(), ainsi que les paramètres des propriétés revocationCheckSetting et useSystemTrustStore peuvent changer lorsqu’un certificat est considéré comme étant valide.

Remarque : si identifyStatus est invalid, l’état referenceStatus n’est pas vérifié et est indiqué comme unknown. En outre, les références ne sont pas vérifiées si l’état identityStatus est unknown, à moins que la propriété referencesValidationSetting soit définie sur validOrUnknownIdentity.



Implémentation
    public function get identityStatus():String

Valeur émise
IllegalOperationError — Si l’accès a lieu lorsqu’une signature est en cours de validation.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant obtient les résultats de la vérification du certificat de signature (après qu’une signature a été vérifiée) :
 import flash.security.XMLSignatureValidator;
 
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var identityResult:String = verifier.identityStatus;
    

isSupported

propriété 
isSupported:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 2

La propriété isSupported est définie sur true si la classe XMLSignatureValidator est disponible sur la plate-forme actuelle ; dans le cas contraire, elle est définie sur false.



Implémentation
    public static function get isSupported():Boolean
    

referencesStatus

propriété 
referencesStatus:String  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Validité des données de toutes les références dans l’élément de signature SignedInfo.

Les états possibles sont les suivants :

  • valid : si toutes les références sont valides.
  • invalid : si l’une des références n’est pas valide.
  • unknown : si aucune référence n’est vérifiée. Il est possible de ne pas vérifier les références dans les cas suivants :
    • la méthode verify() n’a pas été appelée
    • la signature cryptographique de l’élément SignedInfo (digestStatus) n’est pas valide
    • le certificat de signature (identityStatus) n’est pas valide
    • la propriété referencesValidationSetting est définie sur validIdentity (paramètre par défaut) et l’état identityStatus du certificat de signature est unknown
    • la propriété referencesValidationSetting est définie sur never.

Important : les ressources externes ne sont pas vérifiées, à moins qu’elles ne soient référencées directement dans un élément SignedInfo au sein du document de signature. Les ressources externes désignées par une référence secondaire ne sont pas vérifiées. Par exemple, si une signature XML signe un élément manifest, seule l’intégrité de l’élément manifest est vérifiée. Les fichiers répertoriés dans le manifeste ne sont pas vérifiés.



Implémentation
    public function get referencesStatus():String

Valeur émise
IllegalOperationError — Si l’accès a lieu lorsqu’une signature est en cours de validation.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant obtient les résultats de la vérification des références dans la signature (après qu’une signature a été vérifiée) :
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var dataResult:String = verifier.referencesStatus;
    

referencesValidationSetting

propriété 
referencesValidationSetting:String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.5

Spécifie les conditions sous lesquelles les références sont vérifiées.

Utilisez les constantes définies dans la classe ReferencesValidationSetting pour définir cette propriété. Les paramètres sont les suivants :

  • ReferencesValidationSetting.VALID_IDENTITY : vérifiez les références uniquement si le certificat de signature est valide et s’il est lié à un certificat racine approuvé. C’est la valeur par défaut.
  • ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY : vérifiez les références si le certificat de signature est valide, même s’il n’est lié à aucun certificat racine approuvé.
  • ReferencesValidationSetting.NEVER : ne vérifiez jamais les références.

Utilisez le paramètre par défaut, validIdentity, avec les signatures signées à l’aide d’un certificat commercial ou lorsque vous fournissez votre propre certificat en tant qu’ancre de confiance à l’aide de la méthode addCertificate(). Ce paramètre permet d’éviter de vérifier plusieurs fois la validité des références lorsque le document signé est rejeté.

Utilisez le paramètre validOrUnknownIdentity avec les signatures signées à l’aide de certificats auto-signés. Ce paramètre vous permet de vérifier que les données signées n’ont pas été altérées, mais il ne permet pas de vérifier l’identité du signataire.

Utilisez le paramètre never pour éviter de vérifier plusieurs fois les références lorsque cette vérification n’est pas importante dans le contexte de votre application.



Implémentation
    public function get referencesValidationSetting():String
    public function set referencesValidationSetting(value:String):void

Valeur émise
IllegalOperationError — Si le paramétrage a lieu lorsqu’une signature est en cours de validation.
 
ArgumentError — Si le paramètre setting contient une valeur non définie dans la classe ReferencesValidationSetting.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant définit l’objet XMLSignatureValidator de façon à ce qu’il vérifie les références uniquement si le certificat de signature est lié à une ancre de confiance :
 import flash.security.ReferencesValidationSetting;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); 
 verifier.referencesValidationSetting = ReferencesValidationSetting.VALID_OR_UNKNOWN_IDENTITY;
    

revocationCheckSetting

propriété 
revocationCheckSetting:String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Détermine la méthode de vérification de la révocation des certificats.

Utilisez les constantes définies dans la classe RevocationSettings pour définir cette propriété. Les paramètres sont les suivants :

  • RevocationCheckSettings.NEVER : la révocation des certificats n’est pas vérifiée.
  • RevocationCheckSettings.BEST_EFFORT : la révocation des certificats est vérifiée si les informations de révocation sont disponibles et s’il est possible d’obtenir le statut de révocation. S'il s'avère impossible de déterminer le statut de révocation, le certificat n'est pas rejeté.
  • RevocationCheckSettings.REQUIRED_IF_AVAILABLE : si le certificat dispose d’informations de révocation, il est nécessaire de déterminer le statut de révocation pour le valider.
  • RevocationCheckSettings.ALWAYS_REQUIRED : vérifie toujours la révocation des certificats. Les certificats ne disposant d’aucune information de révocation sont rejetés.



Implémentation
    public function get revocationCheckSetting():String
    public function set revocationCheckSetting(value:String):void

Valeur émise
IllegalOperationError — Si le paramétrage a lieu lorsqu’une signature est en cours de validation.

Eléments de l’API associés

    

signerCN

propriété 
signerCN:String  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Champ Nom commun du certificat de signature.



Implémentation
    public function get signerCN():String

Exemple  ( Comment utiliser cet exemple )
L’exemple suivant lit le nom commun du certificat de signature (après qu’une signature a été vérifiée) :
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var commonName:String = verifier.signerCN;
    

signerDN

propriété 
signerDN:String  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Champ Nom unique du certificat de signature.



Implémentation
    public function get signerDN():String

Exemple  ( Comment utiliser cet exemple )
L’exemple suivant lit le nom unique du certificat de signature (après qu’une signature a été vérifiée) :
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var distinguishedName:String = verifier.signerDN;
    

signerExtendedKeyUsages

propriété 
signerExtendedKeyUsages:Array  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Tableau contenant les identificateurs d’objets de l’utilisation avancée de la clé répertoriés dans le certificat de signature.

Chaque utilisation avancée de la clé est indiquée sous forme d’identificateur d’objet numérique.



Implémentation
    public function get signerExtendedKeyUsages():Array

Valeur émise
IllegalOperationError — Si l’accès a lieu lorsqu’une signature est en cours de validation.

Exemple  ( Comment utiliser cet exemple )
L’exemple suivant lit les identificateurs d’objets de l’utilisation avancée de la clé du certificat de signature (après qu’une signature a été vérifiée) :
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var extendedKeyOIDs:Array = verifier.signerExtendedKeyUsages;
    

signerTrustSettings

propriété 
signerTrustSettings:Array  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Tableau contenant les paramètres d’approbation du certificat de signature.

Les paramètres d’approbation proviennent du système et des identificateurs d’objets incorporés dans le certificat. Les constantes des chaînes représentant les paramètres d’approbation reconnus sont définies dans la classe SignerTrustSettings.

Le tableau signerTrustSettings d’un certificat unknown ou invalid est vide.

La modification du tableau ne permet pas de modifier les paramètres d’approbation du certificat.



Implémentation
    public function get signerTrustSettings():Array

Valeur émise
IllegalOperationError — Si l’accès a lieu lorsqu’une signature est en cours de validation.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant lit les paramètres de confiance du certificat de signature (après qu’une signature a été vérifiée) :
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate a signature...
  
 var certificateTrustedFor:Array = verifier.signerTrustSettings;
    

uriDereferencer

propriété 
uriDereferencer:IURIDereferencer

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Implémentation de IURIDereferencer.

Vous devez fournir une implémentation de IURIDereferencer avant de vérifier une signature.



Implémentation
    public function get uriDereferencer():IURIDereferencer
    public function set uriDereferencer(value:IURIDereferencer):void

Valeur émise
IllegalOperationError — Si le paramétrage a lieu lorsqu’une signature est en cours de validation.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant crée une occurrence de SignedMessageDereferencer, qui implémente l’interface IURIDereferencer, puis la définit comme outil de déférencement à utiliser pour la validation de la signature :
 import com.example.SignedMessageDereferencer; //A custom class implementing IURIDereferencer
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); 
 verifier.uriDereferencer = new SignedMessageDereferencer();
    

useSystemTrustStore

propriété 
useSystemTrustStore:Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Indique que les certificats dans le magasin d’approbations du système sont utilisés pour la création de chaînes.

Si la valeur true est définie, les ancres de confiance dans le magasin d’approbations du système sont utilisées comme racines de confiance. Par défaut, le magasin d’approbations du système n’est pas utilisé.



Implémentation
    public function get useSystemTrustStore():Boolean
    public function set useSystemTrustStore(value:Boolean):void

Valeur émise
IllegalOperationError — Si le paramétrage a lieu lorsqu’une signature est en cours de validation.

Exemple  ( Comment utiliser cet exemple )
L’exemple suivant crée une occurrence de XMLSignatureValidator et la définit de façon à utiliser le référentiel système des certificats approuvés lors de la vérification d’une signature XML :
 var verifier:XMLSignatureValidator = new XMLSignatureValidator(); 
 verifier.useSystemTrustStore = true;
    

validityStatus

propriété 
validityStatus:String  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Etat de validité d’une signature XML vérifiée.

La signature XML est vérifiée en validant la signature cryptographique de l’élément SignedInfo, le certificat de signature et les données transmises par les références dans l’élément SignedInfo. La validité de ces éléments est indiquée individuellement par les propriétés digestStatus, identityStatus() et referencesStatus, respectivement.

Une signature XML peut présenter un état « valid » (valide), non « invalid » (non valide) ou « unknown » (inconnu). L’état général dépend de l’état de vérification des composants individuels du fichier de signature :

  • digestStatus : validité de la signature cryptographique calculée sur l’élément SignedInfo.
  • identityStatus : validité du certificat de signature.
  • referencesStatus : validité de la méthode digest des références dans l’élément de signature SignedInfo.

L’état de la signature indiqué par la propriété validityStatus peut être :

  • valid : si les propriétés referencesStatus, digestStatus et identityStatus sont toutes valid.
  • invalid : si l’un des états individuels est invalid.
  • unknown : si l’un des états individuels est unknown.



Implémentation
    public function get validityStatus():String

Valeur émise
IllegalOperationError — Si l’accès a lieu lorsqu’une signature est en cours de validation.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )
L’exemple suivant obtient les résultats de la validation de la signature XML
 import flash.security.XMLSignatureValidator;
 
 var verifier:XMLSignatureValidator = new XMLSignatureValidator();
 //validate the signature...
  
 var validationResult:String = verifier.validityStatus;
Détails du constructeur
    

XMLSignatureValidator

()Constructeur
public function XMLSignatureValidator()

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Crée un objet XMLSignatureValidator.

Vous devez définir la propriété uriDereferencer avant d’appeler la méthode verify() du nouvel objet.

Eléments de l’API associés


Exemple  ( Comment utiliser cet exemple )

L’exemple suivant crée et définit un nouvel objet 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);
Détails de la méthode

    addCertificate

()méthode
public function addCertificate(cert:ByteArray, trusted:Boolean):*

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Ajoute un certificat x509 pour la création de la chaîne.

Le certificat ajouté doit être un certificat x509 codé en DER.

Si le paramètre trusted est défini sur true, le certificat est considéré comme une ancre de confiance.

Remarque : une signature XML peut inclure des certificats permettant de créer la chaîne de certificats du signataire. Par défaut, la classe XMLSignatureValidator utilise ces certificats pour la création de chaînes, et non comme racines de confiance.

Paramètres

cert:ByteArray — Objet ByteArray contenant un certificat numérique x509 codé en DER.
 
trusted:Boolean — Défini sur true pour désigner ce certificat comme ancre de confiance.

Valeur renvoyée
*

Valeur émise
IllegalOperationError — Si l’appel a lieu lorsqu’une signature est en cours de validation.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant charge un certificat à partir du système de fichiers et l’ajoute en tant qu’ancre de confiance.
 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

()méthode 
public function verify(signature:XML):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Vérifie la signature spécifiée.

La vérification est asynchrone. L’objet XMLSignatureValidator distribue un événement complete lorsque la vérification s’achève avec succès, ou si un événement error est émis lorsque la vérification s’avère impossible à cause d’erreurs.

Il est impossible d’annuler la procédure de vérification. Lorsqu’une vérification est en cours, les appels suivants à la méthode verify() échouent. Une fois la vérification en cours terminée, vous pouvez rappeler la méthode verify().

Remarque : étant donné que l’objet XMLSignatureValidator implémente uniquement un sous-ensemble de la recommandation du W3C portant sur la syntaxe et le traitement des signatures XML, toutes les signatures XML valides ne peuvent pas être vérifiées.

Paramètres

signature:XML — Signature XML à vérifier.


Evénements
complete:Event — Distribué lorsque la vérification s’achève avec succès.
 
error:ErrorEvent — Distribué si une erreur se produit lors de la vérification des références.

Valeur émise
IllegalOperationError — Si l’appel a lieu lorsqu’une signature est en cours de validation.
 
Error — En cas d’erreurs, telles qu’une mauvaise constitution des fichiers XML ou la non prise en charge d’éléments dans le fichier de signature.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant lit un fichier contenant une signature XML et la vérifie en appelant la méthode verify() (dans l’exemple suivant, nous supposons que l’implémentation de IURIDereferencer est appropriée pour la signature).
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 );
Détails de l’événement
    

complete

Evénement
Type d’objet d’événement: flash.events.Event
propriété Event.type = flash.events.Event.COMPLETE

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Distribué une fois la vérification terminée.

Un événement complete n’indique pas la validité d’une signature. Vérifiez la propriété validityStatus de l’objet XMLSignatureValidator afin de déterminer les résultats de la vérification de la signature.

La constante Event.COMPLETE définit la valeur de la propriété type d’un objet événement complete.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet réseau dont le chargement est terminé.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant écoute l’événement complete distribué par un objet XMLSignatureValidator et localise les résultats de la vérification :
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);    
}

Eléments de l’API associés

    

error

Evénement  
Type d’objet d’événement: flash.events.ErrorEvent
propriété ErrorEvent.type = flash.events.ErrorEvent.ERROR

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0

Distribué si la vérification s’avère impossible à cause d’erreurs.

Définit la valeur de la propriété type d’un objet d’événement error.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet qui subit l’échec de l’opération réseau.
textTexte à afficher en tant que message d’erreur.

Exemple  ( Comment utiliser cet exemple )

L’exemple suivant écoute l’événement error distribué par un objet XMLSignatureValidator et localise le message d’erreur :
private function verificationError(event:ErrorEvent):void{
    trace("Verification error: " + event.text);                
}
XMLSignatureValidatorExample.as

L’exemple suivant charge et vérifie un fichier contenant une signature XML. Pour utiliser cet exemple, vous devez implémenter une classe IURIDereferencer appropriée afin que les signatures soient validées (en remplaçant la classe SignedMessageDereferencer utilisée dans l’exemple). Exécutez l’exemple en appelant SignatureValidatorExample.validateSignature( signatureFile ) et en transmettant le fichier qui référence le document de signature XML à valider.
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 ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.