Szukaj…


Składnia

  • SealedObject sealedObject = nowy SealedObject (obj, szyfr);
  • SignedObject podpisanyObject = nowy SignedObject (obj, signingKey, signingEngine);

SealedObject (javax.crypto.SealedObject)

Ta klasa umożliwia programiście tworzenie obiektu i ochronę jego poufności za pomocą algorytmu kryptograficznego.

Biorąc pod uwagę dowolny obiekt nadający się do serializacji, można utworzyć obiekt SealedObject, który hermetyzuje oryginalny obiekt w formacie zserializowanym (tj. „Głęboką kopię”) i uszczelnia (szyfruje) jego serializowaną zawartość, używając algorytmu kryptograficznego, takiego jak AES, DES, w celu ochrony jego poufność. Zaszyfrowaną treść można później odszyfrować (za pomocą odpowiedniego algorytmu przy użyciu prawidłowego klucza odszyfrowującego) i zdezserializować, uzyskując oryginalny obiekt.

wprowadź opis zdjęcia tutaj

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 to klasa do tworzenia autentycznych obiektów wykonawczych, których integralność nie może zostać naruszona bez wykrycia.

Mówiąc dokładniej, SignedObject zawiera inny obiekt Serializable, (podpisany) obiekt i jego podpis.

wprowadź opis zdjęcia tutaj

//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());


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow