Freigeben über


SignedObject Klasse

Definition

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

[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
Vererbung
SignedObject
Attribute
Implementiert

Hinweise

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

Genauer gesagt enthält ein SignedObject ein weiteres serialisierbares Objekt, das (zu-be-)signierte Objekt und seine Signatur.

Das signierte Objekt ist eine "tiefe Kopie" (in serialisierter Form) eines ursprünglichen Objekts. Sobald die Kopie erstellt wurde, hat die weitere Bearbeitung des ursprünglichen Objekts keine Nebenwirkung auf die Kopie.

Der zugrunde liegende Signaturalgorithmus wird durch das Signature-Objekt festgelegt, das an den Konstruktor und die verify Methode übergeben wird. Eine typische Verwendung für die Signatur ist folgendes:

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

Eine typische Verwendung für die Überprüfung ist folgendes (nachdem SignedObject soempfangen wurde):

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

Es lohnt sich einige Punkte zu notieren. Zunächst muss das Signatur- oder Überprüfungsmodul nicht initialisiert werden, da es innerhalb des Konstruktors und der verify Methode neu initialisiert wird. Zweitens muss der angegebene öffentliche Schlüssel der öffentliche Schlüssel sein, der dem privaten Schlüssel entspricht, der zum Generieren des SignedObject verwendet wird.

Aus Flexibilitätsgründen lässt der Konstruktor und verify die Methode angepasste Signaturmodule zu, die Signaturalgorithmen implementieren können, die nicht formell als Teil eines Kryptoanbieters installiert werden. Es ist jedoch wichtig, dass der Programmierer, der den Prüfcode schreibt, beachten, welches Signature Modul verwendet wird, da die eigene Implementierung der verify Methode aufgerufen wird, um eine Signatur zu überprüfen. Mit anderen Worten, ein Böswilliger Signature kann sich entscheiden, bei der Überprüfung immer "true" zurückzugeben, wenn versucht wird, eine Sicherheitsüberprüfung zu umgehen.

Der Signaturalgorithmus kann u. a. der NIST-Standard-DSA mit DSA und SHA-256 sein. Der Algorithmus wird mit der gleichen Konvention wie für Signaturen angegeben. Der DSA-Algorithmus mit dem SHA-256-Nachrichtendigestalgorithmus kann beispielsweise als "SHA256withDSA" angegeben werden. Im Falle von RSA könnte der Signaturalgorithmus wie z. B. "SHA256withRSA" angegeben werden. Der Algorithmusname muss angegeben werden, da keine Standardeinstellung vorhanden ist.

Der Name des Kryptografiepaketanbieters wird auch durch den Signature-Parameter für den Konstruktor und die verify Methode festgelegt. Wenn der Anbieter nicht angegeben ist, wird der Standardanbieter verwendet. Jede Installation kann so konfiguriert werden, dass ein bestimmter Anbieter als Standard verwendet wird.

Mögliche Anwendungen von SignedObject sind: <ul><li> Es kann intern für jede Java-Runtime als unerforsierbares Autorisierungstoken verwendet werden - eine, die ohne die Angst, dass das Token böswillig geändert werden kann, ohne erkannt zu werden. <li> Es kann zum Signieren und Serialisieren von Daten/Objekten für den Speicher außerhalb der Java-Runtime verwendet werden (z. B. Speichern kritischer Zugriffssteuerungsdaten auf dem Datenträger). <li> Nested SignedObjects kann verwendet werden, um eine logische Abfolge von Signaturen zu erstellen, die einer Kette von Autorisierung und Delegierung ähnelt. </ul>

In 1.2 hinzugefügt.

Java-Dokumentation für java.security.SignedObject.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

SignedObject(ISerializable, IPrivateKey, Signature)

Erstellt ein SignedObject aus jedem serialisierbaren Objekt.

Eigenschaften

Algorithm

Ruft den Namen des Signaturalgorithmus ab.

Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
JniIdentityHashCode

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)
JniPeerMembers

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

Object

Ruft das gekapselte Objekt ab.

PeerReference

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)
ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)

Methoden

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Dispose()

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)
Dispose(Boolean)

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
GetSignature()

Ruft die Signatur für das signierte Objekt in Form eines Bytearrays ab.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
ToArray<T>()

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)
Verify(IPublicKey, Signature)

Überprüft, ob die Signatur in diesem SignedObject die gültige Signatur für das in dem Objekt gespeicherte Objekt mit dem angegebenen Überprüfungsschlüssel ist, wobei das angegebene Überprüfungsmodul verwendet wird.

Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em> oder <em>unterbrochen</em>.<><

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IJavaPeerable.Disposed()

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)
IJavaPeerable.Finalized()

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

GetJniTypeName(IJavaPeerable)

SignedObject ist eine Klasse zum Erstellen authentischer Laufzeitobjekte, deren Integrität nicht kompromittiert werden kann, ohne erkannt zu werden.

Gilt für: