Class IssacKACONTEXT

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

    public class IssacKACONTEXT
    extends java.lang.Object
    implements java.io.Closeable
    세션키(symmetric) 공유를 위한 정보를 담는 클래스

    암호학적으로 안전한 임의의 정보, 세션키를 공유하고자 하는 상대방으로부터 공개된 채널을 통해 전달받은 정보를 생성하고 세션키를 얻어내는데 사용된다.

    • Constructor Detail

      • IssacKACONTEXT

        public IssacKACONTEXT​(int dhType)
                       throws IssacSDKException
        생성자 (타입 설정 가능)

        Note: 사용이 끝나면 close()를 호출해야 한다.

        Parameters:
        dhType - [IN] DH 타입 [KEX_DH, KEX_DH_X9_42, KEX_ECDH, KEX_ECCDH]
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        close()
      • IssacKACONTEXT

        public IssacKACONTEXT​(int dhType,
                              boolean initWithDefaultValue)
                       throws IssacSDKException
        생성자 (타입 설정 가능)

        Note: 사용이 끝나면 close()를 호출해야 한다.

        Parameters:
        dhType - [IN] DH 타입 [KEX_DH, KEX_DH_X9_42, KEX_ECDH, KEX_ECCDH]
        initWithDefaultValue - [IN] 기본값으로 초기화 여부
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        close()
    • Method Detail

      • getKacontext

        public byte[] getKacontext()
        Deprecated.
        참조값은 바이너리 데이터가 아니므로 외부에선 절대 사용하지 않도록 한다!
        IssacKACONTEXT 객체의 참조값을 리턴한다.
        Returns:
        IssacKACONTEXT 객체의 참조값
      • SetParam_ECDH

        public void SetParam_ECDH​(int curve_id)
                           throws IssacSDKException
        KEX_ECDH 또는 KEX_ECCDH 인 경우 커브를 설정한다. 반드시 Initialize()를 호출하기 전에 설정해야 한다.
        Parameters:
        curve_id - [IN] 커브 ID [ ISSAC_EC_CURVE_P192(0), ISSAC_EC_CURVE_P224(1), ISSAC_EC_CURVE_P256(2), ISSAC_EC_CURVE_P384(3), ISSAC_EC_CURVE_P521(4) ]
        Throws:
        IssacSDKException - 오류 발생
      • SetKDF

        public void SetKDF​(int unused,
                           int hashAlg)
                    throws IssacSDKException
        Deprecated.
        사용하지 않는 인자를 입력해야 한다.
        KDF(키유도함수) 관련 정보를 설정한다.
        Parameters:
        unused - [IN] 사용되지 않음
        hashAlg - [IN] KDF에 사용될 해시 알고리즘 [ HAS160(1), SHA1(2), SHA256(6) ]
        Throws:
        IssacSDKException - 오류 발생
      • SetKDF

        public void SetKDF​(int hashAlg)
                    throws IssacSDKException
        KDF(키유도함수)에 사용될 해시 알고리즘을 설정한다.
        Parameters:
        hashAlg - [IN] KDF에 사용될 해시 알고리즘 [ HAS160(1), SHA1(2), SHA256(6) ]
        Throws:
        IssacSDKException - 오류 발생
      • Finalize

        public void Finalize​(byte[] sessioninfo)
                      throws IssacSDKException
        세션키를 공유하고자 하는 상대방이 보낸 세션정보를 이용하여 세션 공유 정보를 완성한다.

        이 함수가 수행된 이후에는 세션키를 얻어낼 수 있다.

        Parameters:
        sessioninfo - [IN] 세션키 공유를 위해 상대방이 보낸 세션정보
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        Initialize(), GetSessionKey(int)
      • GetSessionKey

        public byte[] GetSessionKey​(int key_len)
                             throws IssacSDKException
        세션키를 얻는다.

        여기서 IssacKACONTEXT 객체는 이미 Initialize와 Finalize를 거쳐서 양단간의 공유하고자 하는 세션 정보를 모두 포함하고 있는 상태이어야 한다.

        Parameters:
        key_len - [IN] 공유할 세션키의 바이트 길이. 즉 128 비트는 16, 160 비트는 20을 입력해야 한다.
        Returns:
        공유된 세션키
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        Initialize(), Finalize(byte[])
      • GenerateKey

        public byte[] GenerateKey​(int keyLen)
                           throws IssacSDKException
        세션키를 얻는다.

        여기서 IssacKACONTEXT 객체는 이미 Initialize와 Finalize를 거쳐서 양단간의 공유하고자 하는 세션 정보를 모두 포함하고 있는 상태이어야 한다.

        Parameters:
        keyLen - [IN] 공유할 세션키의 바이트 길이. 즉 128 비트는 16, 160 비트는 20을 입력해야 한다.
        Returns:
        공유된 세션키
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        Initialize(), Finalize(byte[])
      • Delete

        public void Delete()
                    throws IssacSDKException
        Deprecated.
        Resource Leak 의 효율적인 관리를 위해 close() 를 사용할 것을 권장함.
        세션키 공유 정보를 삭제한다.
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        IssacKACONTEXT()
      • close

        public void close()
                   throws IssacSDKException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        IssacSDKException