Java Language
Objetos seguros
Buscar..
Sintaxis
- SealedObject sealedObject = new SealedObject (obj, cipher);
- SignedObject signedObject = new SignedObject (obj, signKey, signEngine);
SealedObject (javax.crypto.SealedObject)
Esta clase permite que un programador cree un objeto y proteja su confidencialidad con un algoritmo criptográfico.
Dado cualquier objeto Serializable, se puede crear un SealedObject que encapsula el objeto original, en formato serializado (es decir, una "copia profunda"), y sella (encripta) su contenido serializado, utilizando un algoritmo criptográfico como AES, DES, para proteger Su confidencialidad. El contenido cifrado se puede descifrar más tarde (con el algoritmo correspondiente utilizando la clave de descifrado correcta) y deserializarse, lo que genera el objeto original.
Serializable obj = new String("John");
// Generate key
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128);
SecretKey aesKey = kgen.generateKey();
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, aesKey);
SealedObject sealedObject = new SealedObject(obj, cipher);
System.out.println("sealedObject-" + sealedObject);
System.out.println("sealedObject Data-" + sealedObject.getObject(aesKey));
SignedObject (java.security.SignedObject)
SignedObject es una clase con el propósito de crear objetos de tiempo de ejecución auténticos cuya integridad no puede ser comprometida sin ser detectada.
Más específicamente, un SignedObject contiene otro objeto Serializable, el objeto firmado (a ser) y su firma.
//Create a key
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA", "SUN");
SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");
keyGen.initialize(1024, random);
// create a private key
PrivateKey signingKey = keyGen.generateKeyPair().getPrivate();
// create a Signature
Signature signingEngine = Signature.getInstance("DSA");
signingEngine.initSign(signingKey);
// create a simple object
Serializable obj = new String("John");
// sign our object
SignedObject signedObject = new SignedObject(obj, signingKey, signingEngine);
System.out.println("signedObject-" + signedObject);
System.out.println("signedObject Data-" + signedObject.getObject());