수색…


통사론

  • SealedObject sealedObject = 새로운 SealedObject (obj, cipher);
  • SignedObject signedObject = 새로운 SignedObject (obj, signingKey, signingEngine);

SealedObject (javax.crypto.SealedObject)

이 클래스는, 프로그래머가 오브젝트를 작성해, 암호화 알고리즘을 사용해 그 기밀성을 보호 할 수 있도록 (듯이)합니다.

Serializable 객체가 주어지면 AES, DES와 같은 암호화 알고리즘을 사용하여 직렬화 된 형식 (즉, "딥 (deep) 복사본")으로 원본 객체를 캡슐화하고 직렬화 된 내용을 봉인 (암호화)하는 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