SignedObject Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.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
- Herencia
- 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 (para ser)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.
Entre las posibles aplicaciones de SignedObject se incluyen: <ul><li> Se puede usar internamente en cualquier tiempo 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 críticos de control de acceso 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.
Documentación de Java 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
| SignedObject(ISerializable, IPrivateKey, Signature) |
Construye un SignedObject a partir de cualquier objeto Serializable. |
Propiedades
| Algorithm |
Recupera el nombre del algoritmo de firma. |
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| JniIdentityHashCode |
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 Object) |
| 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 |
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 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
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| Dispose() |
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 Object) |
| Dispose(Boolean) |
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 Object) |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| GetHashCode() |
Devuelve un valor de código hash del 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) |
| ToArray<T>() |
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 Object) |
| ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
| 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. (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 despierta, 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
| 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 Object) |
| IJavaPeerable.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 Object) |
| 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 Object) |
| IJavaPeerable.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 Object) |
| 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 Object) |
| 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 Object) |
| 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 Object) |
Métodos de extensión
| 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. |
| GetJniTypeName(IJavaPeerable) |
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. |