SignedObject Clase

Definición

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

[Android.Runtime.Register("java/security/SignedObject", DoNotGenerateAcw=true)]
public sealed class SignedObject : Java.Lang.Object, IDisposable, Java.IO.ISerializable
[<Android.Runtime.Register("java/security/SignedObject", DoNotGenerateAcw=true)>]
type SignedObject = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Herencia
SignedObject
Atributos
Implementaciones

Comentarios

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

Más concretamente, un Objeto SignedObject contiene otro objeto Serializable, el objeto firmado (to-be-)y su firma.

El objeto firmado es una "copia profunda" (en forma serializada) de un objeto original. Una vez realizada la copia, la manipulación adicional del objeto original no tiene ningún efecto secundario en la copia.

El algoritmo de firma subyacente lo designa el objeto Signature pasado al constructor y al verify método . Un uso típico para la firma es el siguiente:

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

Un uso típico para la comprobación es el siguiente (después de haber recibido SignedObject so):

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

Cabe destacar varios puntos. En primer lugar, no es necesario inicializar el motor de firma o comprobación, ya que se volverá a inicializar dentro del constructor y el verify método . En segundo lugar, para que la comprobación se realice correctamente, la clave pública especificada debe ser la clave pública correspondiente a la clave privada que se usa para generar signedObject.

Lo más importante es que, por motivos de flexibilidad, el constructor y verify el método permiten motores de firma personalizados, que pueden implementar algoritmos de firma que no están instalados formalmente como parte de un proveedor criptográfico. Sin embargo, es fundamental que el programador que escribe el código comprobador tenga en cuenta qué Signature motor se usa, ya que se invoca su propia implementación del verify método para comprobar una firma. En otras palabras, un malintencionado Signature puede optar por devolver siempre true en la comprobación en un intento de omitir una comprobación de seguridad.

El algoritmo de firma puede ser, entre otros, el DSA estándar NIST, mediante DSA y SHA-256. El algoritmo se especifica con la misma convención que para las firmas. El algoritmo DSA que usa el algoritmo de síntesis de mensajes SHA-256 se puede especificar, por ejemplo, como "SHA256withDSA". En el caso de RSA, el algoritmo de firma podría especificarse como, por ejemplo, "SHA256withRSA". El nombre del algoritmo debe especificarse, ya que no hay ningún valor predeterminado.

El nombre del proveedor de paquetes criptográficos también lo designa el parámetro Signature para el constructor y el verify método . Si no se especifica el proveedor, se usa el proveedor predeterminado. Cada instalación se puede configurar para usar un proveedor determinado como valor predeterminado.

Las posibles aplicaciones de SignedObject incluyen: <ul><li> Se puede usar internamente en cualquier entorno de ejecución de Java como un token de autorización irreforable, uno que se puede pasar sin el temor de que el token se pueda modificar de forma malintencionada sin ser detectado. <li> Se puede usar para firmar y serializar datos o objetos para el almacenamiento fuera del entorno de ejecución de Java (por ejemplo, almacenar datos de control de acceso críticos en el disco). <li> Nested SignedObjects se puede usar para construir una secuencia lógica de firmas, similar a una cadena de autorización y delegación. </ul>

Agregado en la versión 1.2.

Java documentación para java.security.SignedObject.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Constructores

Nombre Description
SignedObject(ISerializable, IPrivateKey, Signature)

Construye un SignedObject a partir de cualquier objeto Serializable.

Propiedades

Nombre Description
Algorithm

Recupera el nombre del algoritmo de firma.

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

(Heredado de JavaObject)
JniPeerMembers

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

Object

Recupera el objeto encapsulado.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)
ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

(Heredado de Object)

Métodos

Nombre Description
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

(Heredado de JavaObject)
Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

(Heredado de JavaObject)
Equals(Object)

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
GetSignature()

Recupera la firma en el objeto firmado, en forma de una matriz de bytes.

JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

(Heredado de JavaObject)
ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
Verify(IPublicKey, Signature)

Comprueba que la firma de este SignedObject es la firma válida para el objeto almacenado dentro, con la clave de verificación especificada, mediante el motor de verificación designado.

Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

SignedObject es una clase para crear objetos en tiempo de ejecución auténticos cuya integridad no se puede poner en peligro sin ser detectada.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a