Class IssacE2E

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class IssacE2E
    extends java.lang.Object
    implements java.io.Closeable
    구간암호화 기능을 제공해주는 클래스.

    현재는 클라이언트용 기능만을 가지고 있다.

    • Constructor Summary

      Constructors 
      Constructor Description
      IssacE2E()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      세션 정보를 삭제한다.
      void finalizeSession()
      세션 정보를 삭제한다.
      byte[] generateSession​(byte[] data, int symmAlg, int hashAlg, byte[] publicKey)
      새로운 세션 정보(하이브리드 데이터)를 생성한다.
      byte[] generateSession​(byte[] data, int symmAlg, int hashAlg, java.lang.String publicKeyB64)
      새로운 세션 정보(하이브리드 데이터)를 생성한다.
      byte[] generateSessionWithSessionKey​(byte[] data, int symmAlg, int hashAlg, byte[] sessionKey, byte[] publicKey)
      새로운 세션 정보(하이브리드 데이터)를 생성한다.
      byte[] generateSessionWithSessionKey​(byte[] data, int symmAlg, int hashAlg, byte[] sessionKey, java.lang.String publicKeyB64)
      새로운 세션 정보(하이브리드 데이터)를 생성한다.
      byte[] getSessionKey()
      생성된 세션의 세션키를 가져온다.
      byte[] sessionDecrypt​(byte[] encryptedData)
      생성된 세션으로 암호화 된 데이터를 복호화한다.
      byte[] sessionEncrypt​(byte[] data)
      생성된 세션으로 데이터를 암호화한다.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • IssacE2E

        public IssacE2E()
    • Method Detail

      • generateSession

        public byte[] generateSession​(byte[] data,
                                      int symmAlg,
                                      int hashAlg,
                                      java.lang.String publicKeyB64)
                               throws IssacSDKException
        새로운 세션 정보(하이브리드 데이터)를 생성한다.
        Parameters:
        data - 암호화 할 데이터
        symmAlg - 세션 암호화에 사용할 대칭키 알고리즘 [ IssacSECONTEXT.ISSACAPI_AES256, ... ]
        hashAlg - 세션 암호화에 사용할 해시 알고리즘 [ IssacHash.ISSACAPI_SHA256, ... ]
        publicKeyB64 - 서버의 공개키 (Base64)
        Returns:
        세션 정보(하이브리드 데이터)
        Throws:
        IssacSDKException - 오류 발생
      • generateSession

        public byte[] generateSession​(byte[] data,
                                      int symmAlg,
                                      int hashAlg,
                                      byte[] publicKey)
                               throws IssacSDKException
        새로운 세션 정보(하이브리드 데이터)를 생성한다.
        Parameters:
        data - 암호화 할 데이터
        symmAlg - 세션 암호화에 사용할 대칭키 알고리즘 [ IssacSECONTEXT.ISSACAPI_AES256, ... ]
        hashAlg - 세션 암호화에 사용할 해시 알고리즘 [ IssacHash.ISSACAPI_SHA256, ... ]
        publicKey - 서버의 공개키
        Returns:
        세션 정보(하이브리드 데이터)
        Throws:
        IssacSDKException - 오류 발생
      • generateSessionWithSessionKey

        public byte[] generateSessionWithSessionKey​(byte[] data,
                                                    int symmAlg,
                                                    int hashAlg,
                                                    byte[] sessionKey,
                                                    java.lang.String publicKeyB64)
                                             throws IssacSDKException
        새로운 세션 정보(하이브리드 데이터)를 생성한다.
        Parameters:
        data - 암호화 할 데이터
        symmAlg - 세션 암호화에 사용할 대칭키 알고리즘 [ IssacSECONTEXT.ISSACAPI_AES256, ... ]
        hashAlg - 세션 암호화에 사용할 해시 알고리즘 [ IssacHash.ISSACAPI_SHA256, ... ]
        sessionKey - 주입할 세션키 (외부 랜덤 생성기 사용)
        publicKeyB64 - 서버의 공개키 (Base64)
        Returns:
        세션 정보(하이브리드 데이터)
        Throws:
        IssacSDKException - 오류 발생
      • generateSessionWithSessionKey

        public byte[] generateSessionWithSessionKey​(byte[] data,
                                                    int symmAlg,
                                                    int hashAlg,
                                                    byte[] sessionKey,
                                                    byte[] publicKey)
                                             throws IssacSDKException
        새로운 세션 정보(하이브리드 데이터)를 생성한다.
        Parameters:
        data - 암호화 할 데이터
        symmAlg - 세션 암호화에 사용할 대칭키 알고리즘 [ IssacSECONTEXT.ISSACAPI_AES256, ... ]
        hashAlg - 세션 암호화에 사용할 해시 알고리즘 [ IssacHash.ISSACAPI_SHA256, ... ]
        sessionKey - 주입할 세션키 (외부 랜덤 생성기 사용)
        publicKey - 서버의 공개키
        Returns:
        세션 정보(하이브리드 데이터)
        Throws:
        IssacSDKException - 오류 발생
      • sessionEncrypt

        public byte[] sessionEncrypt​(byte[] data)
                              throws IssacSDKException
        생성된 세션으로 데이터를 암호화한다.
        Parameters:
        data - 암호화 할 데이터
        Returns:
        암호화 된 데이터
        Throws:
        IssacSDKException - 오류 발생
      • sessionDecrypt

        public byte[] sessionDecrypt​(byte[] encryptedData)
                              throws IssacSDKException
        생성된 세션으로 암호화 된 데이터를 복호화한다.
        Parameters:
        encryptedData - 암호화 된 데이터
        Returns:
        복호화 된 데이터
        Throws:
        IssacSDKException - 오류 발생
      • getSessionKey

        public byte[] getSessionKey()
                             throws IssacSDKException
        생성된 세션의 세션키를 가져온다.
        Returns:
        세션키
        Throws:
        IssacSDKException - 오류 발생
      • close

        public void close()
                   throws IssacSDKException
        세션 정보를 삭제한다.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        IssacSDKException - 오류 발생