Java Language
Säkra föremål
Sök…
Syntax
- SealedObject sealedObject = new SealedObject (obj, chiffer);
- SignedObject signObject = new SignedObject (obj, signingKey, signingEngine);
SealedObject (javax.crypto.SealedObject)
Denna klass gör det möjligt för en programmerare att skapa ett objekt och skydda det konfidentiella med en kryptografisk algoritm.
Med tanke på vilket seriellt objekt som helst, kan man skapa ett SealedObject som kapslar in det ursprungliga objektet, i seriellt format (dvs en "djup kopia") och förseglar (krypterar) dess serialiserade innehåll med hjälp av en kryptografisk algoritm som AES, DES, för att skydda dess konfidentialitet. Det krypterade innehållet kan senare dekrypteras (med motsvarande algoritm med rätt dekrypteringsnyckel) och avserialiseras, vilket ger det ursprungliga objektet.
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 är en klass för att skapa autentiska runtime-objekt vars integritet inte kan äventyras utan att upptäckas.
Mer specifikt innehåller ett SignedObject ett annat serielliserbart objekt, det (att vara) signerade objektet och dess signatur.
//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());