Поиск…


Синтаксис

  • SealedObject sealedObject = новый SealedObject (obj, cipher);
  • SignedObject signedObject = новый SignedObject (obj, signedKey, signedEngine);

SealedObject (javax.crypto.SealedObject)

Этот класс позволяет программисту создать объект и защитить его конфиденциальность криптографическим алгоритмом.

Для любого объекта Serializable можно создать объект SealedObject, который инкапсулирует исходный объект в последовательном формате (т. Е. «Глубокую копию») и печатает (шифрует) его сериализованное содержимое, используя криптографический алгоритм, такой как AES, DES, для защиты его конфиденциальность. Зашифрованный контент впоследствии может быть дешифрован (с соответствующим алгоритмом с использованием правильного ключа дешифрования) и де-сериализован, что даст исходный объект.

введите описание изображения здесь

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 - это класс с целью создания аутентичных объектов времени исполнения, целостность которых не может быть скомпрометирована без обнаружения.

Более конкретно, SignedObject содержит другой объект Serializable, объект (to-be-), подписанный и его подпись.

введите описание изображения здесь

//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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow