サーチ…


構文

  • SealedObject sealedObject =新しいSealedObject(obj、cipher);
  • SignedObject signedObject =新しいSignedObject(obj、signingKey、signingEngine);

SealedObject(javax.crypto.SealedObject)

このクラスを使用すると、プログラマーはオブジェクトを作成し、暗号アルゴリズムを使用してその機密性を保護することができます。

シリアライズ可能なオブジェクトがあれば、AES、DESなどの暗号アルゴリズムを使用してシリアル化されたコンテンツをシリアライズされたフォーマット(つまり「ディープコピー」)でカプセル化し、シリアル化されたコンテンツをシール(暗号化)するSealedObjectを作成できますその機密性。暗号化されたコンテンツは、(適切な復号鍵を使用して対応するアルゴリズムを使用して)復号化し、逆シリアル化して元のオブジェクトを生成することができます。

ここに画像の説明を入力

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には、別のシリアライズ可能オブジェクト、(署名される)署名付きオブジェクトとその署名が含まれます。

ここに画像の説明を入力

//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