Java Language
Oggetti sicuri
Ricerca…
Sintassi
- SealedObject sealedObject = new SealedObject (obj, cipher);
- SignedObject signedObject = new SignedObject (obj, signingKey, signingEngine);
SealedObject (javax.crypto.SealedObject)
Questa classe consente a un programmatore di creare un oggetto e proteggere la sua riservatezza con un algoritmo crittografico.
Dato qualsiasi oggetto Serializable, si può creare un SealedObject che incapsula l'oggetto originale, in formato serializzato (cioè una "copia profonda"), e sigilla (crittografa) i suoi contenuti serializzati, usando un algoritmo crittografico come AES, DES, per proteggere la sua riservatezza Il contenuto crittografato può essere successivamente decrittografato (con l'algoritmo corrispondente utilizzando la chiave di decrittazione corretta) e de-serializzato, ottenendo l'oggetto originale.
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 è una classe con lo scopo di creare oggetti runtime autentici la cui integrità non può essere compromessa senza essere rilevata.
Più in particolare, SignedObject contiene un altro oggetto Serializable, l'oggetto (to-be-) firmato e la sua 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());