SignedObject Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata.
[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
- Ereditarietà
- Attributi
- Implementazioni
Commenti
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata.
In particolare, un oggetto SignedObject contiene un altro oggetto Serializable, l'oggetto (da firmare) e la relativa firma.
L'oggetto firmato è una "copia completa" (in formato serializzato) di un oggetto originale. Una volta eseguita la copia, un'ulteriore manipolazione dell'oggetto originale non ha alcun effetto collaterale sulla copia.
L'algoritmo di firma sottostante è designato dall'oggetto Signature passato al costruttore e al verify
metodo . Un utilizzo tipico per la firma è il seguente:
{@code
Signature signingEngine = Signature.getInstance(algorithm,
provider);
SignedObject so = new SignedObject(myobject, signingKey,
signingEngine);
}
Un utilizzo tipico per la verifica è il seguente (dopo aver ricevuto SignedObject so
):
{@code
Signature verificationEngine =
Signature.getInstance(algorithm, provider);
if (so.verify(publickey, verificationEngine))
try {
Object myobj = so.getObject();
} catch (java.lang.ClassNotFoundException e) {};
}
Alcuni punti vale la pena notare. In primo luogo, non è necessario inizializzare il motore di firma o di verifica, perché verrà nuovamente inizializzato all'interno del costruttore e del verify
metodo . In secondo luogo, affinché la verifica abbia esito positivo, la chiave pubblica specificata deve essere la chiave pubblica corrispondente alla chiave privata usata per generare SignedObject.
Più importante, per motivi di flessibilità, il costruttore e verify
il metodo consentono motori di firma personalizzati, che possono implementare algoritmi di firma che non vengono installati formalmente come parte di un provider di crittografia. Tuttavia, è fondamentale che il programmatore che scrive il codice di verifica sia consapevole del motore Signature
usato, perché viene richiamata la propria implementazione del verify
metodo per verificare una firma. In altre parole, un malintenzionato Signature
può scegliere di restituire sempre true alla verifica nel tentativo di ignorare un controllo di sicurezza.
L'algoritmo di firma può essere, tra gli altri, il DSA standard NIST, usando DSA e SHA-256. L'algoritmo viene specificato usando la stessa convenzione di quella per le firme. È possibile specificare l'algoritmo DSA che usa l'algoritmo di digest del messaggio SHA-256, ad esempio "SHA256withDSA". Nel caso di RSA, è possibile specificare l'algoritmo di firma come ad esempio "SHA256withRSA". È necessario specificare il nome dell'algoritmo, perché non esiste un valore predefinito.
Il nome del provider di pacchetti di crittografia è designato anche dal parametro Signature per il costruttore e il verify
metodo . Se il provider non è specificato, viene utilizzato il provider predefinito. Ogni installazione può essere configurata per l'uso di un provider specifico come impostazione predefinita.
Le potenziali applicazioni di SignedObject includono: <ul><li> Può essere usato internamente a qualsiasi runtime Java come token di autorizzazione non verificabile, uno che può essere passato senza timore che il token possa essere modificato in modo dannoso senza essere rilevato. <li> Può essere usato per firmare e serializzare dati/oggetti per l'archiviazione all'esterno del runtime Java (ad esempio, l'archiviazione dei dati di controllo di accesso critici su disco). <li> Nested SignedObjects può essere usato per costruire una sequenza logica di firme, simile a una catena di autorizzazione e delega. </ul>
Aggiunta nella versione 1.2.
Documentazione java per java.security.SignedObject
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Costruttori
SignedObject(ISerializable, IPrivateKey, Signature) |
Costruisce un oggetto SignedObject da qualsiasi oggetto Serializable. |
Proprietà
Algorithm |
Recupera il nome dell'algoritmo di firma. |
Class |
Restituisce la classe di runtime di questo |
Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
JniIdentityHashCode |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
JniPeerMembers |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. |
Object |
Recupera l'oggetto incapsulato. |
PeerReference |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
Metodi
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
Dispose() |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
Dispose(Boolean) |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
GetSignature() |
Recupera la firma nell'oggetto firmato, sotto forma di matrice di byte. |
JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
ToArray<T>() |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
Verify(IPublicKey, Signature) |
Verifica che la firma in questo SignedObject sia la firma valida per l'oggetto archiviato all'interno, con la chiave di verifica specificata, usando il motore di verifica designato. |
Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
IJavaPeerable.DisposeUnlessReferenced() |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
IJavaPeerable.Finalized() |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
IJavaPeerable.JniManagedPeerState |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. (Ereditato da Object) |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. |
GetJniTypeName(IJavaPeerable) |
SignedObject è una classe allo scopo di creare oggetti di runtime autentica la cui integrità non può essere compromessa senza essere rilevata. |