SignedObject Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 so
empfangen 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 |
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, 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) |
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) |
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. |