Partager via


SignedObject Classe

Définition

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

[Android.Runtime.Register("java/security/SignedObject", DoNotGenerateAcw=true)]
public sealed class SignedObject : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/security/SignedObject", DoNotGenerateAcw=true)>]
type SignedObject = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Héritage
SignedObject
Attributs
Implémente

Remarques

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

Plus précisément, un SignedObject contient un autre objet Serializable, l’objet (to-be-) signé et sa signature.

L’objet signé est une « copie approfondie » (sous forme sérialisée) d’un objet d’origine. Une fois la copie effectuée, une manipulation supplémentaire de l’objet d’origine n’a aucun effet secondaire sur la copie.

L’algorithme de signature sous-jacent est désigné par l’objet Signature passé au constructeur et à la verify méthode. Une utilisation classique pour la signature est la suivante :

{@code
            Signature signingEngine = Signature.getInstance(algorithm,
                                                            provider);
            SignedObject so = new SignedObject(myobject, signingKey,
                                               signingEngine);
            }

Une utilisation classique pour la vérification est la suivante (ayant reçu SignedObject so) :

{@code
            Signature verificationEngine =
                Signature.getInstance(algorithm, provider);
            if (so.verify(publickey, verificationEngine))
                try {
                    Object myobj = so.getObject();
                } catch (java.lang.ClassNotFoundException e) {};
            }

Plusieurs points méritent d’être soulignés. Tout d’abord, il n’est pas nécessaire d’initialiser le moteur de signature ou de vérification, car il sera réinitialisé à l’intérieur du constructeur et de la verify méthode. Deuxièmement, pour que la vérification réussisse, la clé publique spécifiée doit être la clé publique correspondant à la clé privée utilisée pour générer l’objet SignedObject.

Plus important encore, pour des raisons de flexibilité, le constructeur et verify la méthode permettent des moteurs de signature personnalisés, qui peuvent implémenter des algorithmes de signature qui ne sont pas installés formellement dans le cadre d’un fournisseur de chiffrement. Toutefois, il est essentiel que le programmeur écrivant le code du vérificateur sache quel Signature moteur est utilisé, car sa propre implémentation de la verify méthode est appelée pour vérifier une signature. En d’autres termes, un malveillant Signature peut choisir de toujours retourner true lors de la vérification dans une tentative de contourner un contrôle de sécurité.

L’algorithme de signature peut être, entre autres, le DSA standard NIST, à l’aide de DSA et SHA-256. L’algorithme est spécifié à l’aide de la même convention que pour les signatures. L’algorithme DSA utilisant l’algorithme de synthèse des messages SHA-256 peut être spécifié, par exemple , en tant que « SHA256withDSA ». Dans le cas de RSA, l’algorithme de signature peut être spécifié comme, par exemple, « SHA256withRSA ». Le nom de l’algorithme doit être spécifié, car il n’existe pas de valeur par défaut.

Le nom du fournisseur de package de chiffrement est également désigné par le paramètre Signature au constructeur et à la verify méthode. Si le fournisseur n’est pas spécifié, le fournisseur par défaut est utilisé. Chaque installation peut être configurée pour utiliser un fournisseur particulier comme valeur par défaut.

Les applications potentielles de SignedObject incluent : <ul><li Il> peut être utilisé en interne pour n’importe quel runtime Java en tant que jeton d’autorisation infalsifiable - un qui peut être passé sans craindre que le jeton puisse être modifié de manière malveillante sans être détecté. <li> Il peut être utilisé pour signer et sérialiser des données/objets pour le stockage en dehors du runtime Java (par exemple, le stockage des données de contrôle d’accès critiques sur le disque). <Li> Nested SignedObjects peut être utilisé pour construire une séquence logique de signatures, semblable à une chaîne d’autorisation et de délégation. </ul>

Ajouté dans la version 1.2.

Documentation Java pour java.security.SignedObject.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

Constructeurs

SignedObject(ISerializable, IPrivateKey, Signature)

Construit un SignedObject à partir de n’importe quel objet Serializable.

Propriétés

Algorithm

Récupère le nom de l’algorithme de signature.

Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
JniIdentityHashCode

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)
JniPeerMembers

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

Object

Récupère l’objet encapsulé.

PeerReference

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

(Hérité de Object)
ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

(Hérité de Object)

Méthodes

Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Dispose()

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)
Dispose(Boolean)

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
GetHashCode()

Retourne une valeur de code de hachage pour l'objet.

(Hérité de Object)
GetSignature()

Récupère la signature sur l’objet signé, sous la forme d’un tableau d’octets.

JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
ToArray<T>()

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)
ToString()

Retourne une représentation de chaîne de l'objet.

(Hérité de Object)
UnregisterFromRuntime()

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)
Verify(IPublicKey, Signature)

Vérifie que la signature dans ce SignedObject est la signature valide de l’objet stocké à l’intérieur, avec la clé de vérification donnée, à l’aide du moteur de vérification désigné.

Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

IJavaPeerable.Disposed()

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)
IJavaPeerable.DisposeUnlessReferenced()

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)
IJavaPeerable.Finalized()

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)
IJavaPeerable.JniManagedPeerState

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

(Hérité de Object)

Méthodes d’extension

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

GetJniTypeName(IJavaPeerable)

SignedObject est une classe destinée à créer des objets runtime authentiques dont l’intégrité ne peut pas être compromise sans être détectée.

S’applique à