Class IssacCTL

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

    public class IssacCTL
    extends java.lang.Object
    implements java.io.Closeable
    인증서 신뢰목록(CTL) 객체를 생성 및 삭제하는 클래스

    인증서 신뢰목록 객체를 초기화하고, 파일에서 가져오는 함수들을 설명한다.
    또한 인증서가 CTL을 통해 신뢰될 수 있는지, 인증서 목록에 있는 인증서가 신뢰 될 수 있는지 등을 판별해주는 함수와 CTL을 DER 인코딩한 상태로 출력해주는 함수 등이 있다.

    이 외에 CTL을 이용하여 경로 검증을 해주는 함수 등은 IssacUSR 모듈에서 찾아볼 수 있다.

    • Constructor Summary

      Constructors 
      Constructor Description
      IssacCTL()
      생성자
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void close()  
      void Delete()
      Deprecated.
      Resource Leak 의 효율적인 관리를 위해 close() 를 사용할 것을 권장함.
      byte[] getCtl()
      Deprecated.
      참조값은 바이너리 데이터가 아니므로 외부에선 절대 사용하지 않도록 한다!
      int IsCertificateFromCertificatesTrusted​(IssacCERTIFICATES certs, int index)
      인증서 신뢰목록에 인자로 입력받은 인증서 목록의 특정 인증서가 포함되어 있는지를 확인한다.
      int IsCertificateTrusted​(IssacCERTIFICATE cert)
      인증서 신뢰목록에 인자로 입력받은 인증서가 포함되어 있는지를 확인한다.
      void Read_File​(java.lang.String filename)
      파일에서 인증서 신뢰목록을 가져온다.
      void Read_Memory​(byte[] buffer)
      바이트 배열에서 인증서 신뢰목록을 읽어 들인다.
      boolean ValidAt​(java.util.Date verifyTime)
      인증서 신뢰목록의 유효기간을 검증한다.
      int Verify​(IssacCERTIFICATE caCert)
      인증서 신뢰목록을 검증한다.
      void Write_File​(java.lang.String filename)
      파일에 인증서 신뢰목록을 DER 인코딩하여 저장한다.
      byte[] Write_Memory()
      인증서 신뢰목록을 바이트 배열로 저장한다.
      • Methods inherited from class java.lang.Object

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

      • getCtl

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

        public void Read_File​(java.lang.String filename)
                       throws IssacSDKException
        파일에서 인증서 신뢰목록을 가져온다.

        이 함수에서는 발급자의 전자서명을 확인하지 않기 때문에 단순히 파일에 적인 CTL의 형식이 올바른 것인지에 대한 확인만 한 것이다.

        Parameters:
        filename - [IN] DER 인코딩 된 인증서 신뢰목록 파일의 경로
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        Write_File(String)
      • Write_File

        public void Write_File​(java.lang.String filename)
                        throws IssacSDKException
        파일에 인증서 신뢰목록을 DER 인코딩하여 저장한다.
        Parameters:
        filename - [IN] 인증서 신뢰목록 파일의 경로
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        Read_File(String)
      • Read_Memory

        public void Read_Memory​(byte[] buffer)
                         throws IssacSDKException
        바이트 배열에서 인증서 신뢰목록을 읽어 들인다.
        Parameters:
        buffer - [IN] DER 인코딩 된 인증서 신뢰목록 바이트 배열
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        Write_Memory()
      • Write_Memory

        public byte[] Write_Memory()
                            throws IssacSDKException
        인증서 신뢰목록을 바이트 배열로 저장한다.
        Returns:
        DER 인코딩 인증서 신뢰목록 바이트 배열
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        Read_Memory(byte[])
      • Verify

        public int Verify​(IssacCERTIFICATE caCert)
                   throws IssacSDKException
        인증서 신뢰목록을 검증한다.

        입력으로 주어지는 CA 인증서로 CTL의 전자서명 검증을 수행하며, 그 결과로 얻어지는 정보를 반영한다.
        Read_File로 가져온 인증서 신뢰목록은 꼭 이 함수를 이용하여 검증한 후에 다른 함수의 입력으로 사용되어 질 수 있다.

        Parameters:
        caCert - [IN] 인증서 신뢰목록을 발급한 CA의 인증서 객체
        Returns:
        검증 성공 : 0
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        Read_File(String), Read_Memory(byte[])
      • ValidAt

        public boolean ValidAt​(java.util.Date verifyTime)
                        throws IssacSDKException
        인증서 신뢰목록의 유효기간을 검증한다.
        Parameters:
        verifyTime - [IN] 검증할 특정 시각
        Returns:
        검증 결과
        Throws:
        IssacSDKException - 오류 발생
      • IsCertificateTrusted

        public int IsCertificateTrusted​(IssacCERTIFICATE cert)
                                 throws IssacSDKException
        인증서 신뢰목록에 인자로 입력받은 인증서가 포함되어 있는지를 확인한다.
        Parameters:
        cert - [IN] 인증서
        Returns:
        포함됨 : 0, 포함되지 않음 : -1
        Throws:
        IssacSDKException - 오류 발생
      • IsCertificateFromCertificatesTrusted

        public int IsCertificateFromCertificatesTrusted​(IssacCERTIFICATES certs,
                                                        int index)
                                                 throws IssacSDKException
        인증서 신뢰목록에 인자로 입력받은 인증서 목록의 특정 인증서가 포함되어 있는지를 확인한다.
        Parameters:
        certs - [IN] 인증서 목록
        index - [IN] 확인할 인증서의 인덱스
        Returns:
        포함됨 : 0, 포함되지 않음 : -1
        Throws:
        IssacSDKException - 오류 발생
      • Delete

        public void Delete()
                    throws IssacSDKException
        Deprecated.
        Resource Leak 의 효율적인 관리를 위해 close() 를 사용할 것을 권장함.
        인증서 신뢰목록 객체를 메모리에서 삭제한다.
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        IssacCTL()
      • close

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