Class IssacOCSPREQUEST

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

    public class IssacOCSPREQUEST
    extends java.lang.Object
    implements java.io.Closeable
    인증서 폐지 정보에 대한 검증 요청 정보를 담고 있는 클래스

    특정 인증서의 폐지 정보를 검증할 필요성이 있을 때 검증하고자 하는 인증서와 그 발급자 인증서로부터 serialNo, 발급자 DN, 검증받을 OCSP서버(Service Locator) 정보 등의 정보를 조합하여 검증 요청 구조체를 생성할 수 있다.
    그리고 자신의 인증서 Extension 필드의 AIA(Authority Info Access)에 정의되어 있는 OCSP 서버에 실시간으로 검증 요청을 할 수가 있다.

    만약 자신의 인증서에 AIA가 설정되어 있지 않으면 설정 정보 등을 통하여 수동으로 OCSP 접속 정보를 설정할 수 있다.

    OCSP서버에서 응답 요청을 받아서 검증이 끝나면 응답 메시지를 보내 준다.
    Client는 응답 메시지를 받아서 성공이면 응답의 유효성을 검증하고 알고자 하는 인증서의 상태를 확인하면 된다.
    만약 응답이 성공하지 못했다면 표준 에러 메시지를 받게 되는데 그것에 따라서 서버에 전송 재시도를 하거나 서버가 서명이 필요하다면 서명을 해서 다시 전송하는 등의 후속 조치를 취하면 된다.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int HAS160  
      static int SHA1  
      static int SHA256  
    • Constructor Summary

      Constructors 
      Constructor Description
      IssacOCSPREQUEST()
      검증 요청 정보를 담고 있는 IssacOCSPREQUEST를 생성한다.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void close()  
      void Delete()
      Deprecated.
      Resource Leak 의 효율적인 관리를 위해 close() 를 사용할 것을 권장함.
      byte[] getOcsprequest()
      Deprecated.
      참조값은 바이너리 데이터가 아니므로 외부에선 절대 사용하지 않도록 한다!
      void Make​(IssacCERTIFICATES tgtCerts, IssacCERTIFICATES tgtIssuerCerts)
      검증하고자 하는 인증서와 그 인증서 발급자 인증서를 인자로 받아서 검증 요청 메시지를 생성한다.
      void Make​(IssacCERTIFICATES tgtCerts, IssacCERTIFICATES tgtIssuerCerts, int hashNid)
      검증하고자 하는 인증서와 그 인증서 발급자 인증서를 인자로 받아서 검증 요청 메시지를 생성한다.
      void MakeSign​(IssacCERTIFICATE ownCert, IssacPRIVATEKEY priKey)
      요청자의 서명이 필요한 경우, 자신의 Cert와 비공개키 정보를 인자로 받아서 생성된 OCSP REQUEST에 서명을 한다
      void MakeSign​(IssacCERTIFICATE ownCert, IssacPRIVATEKEY priKey, int hashNid)
      요청자의 서명이 필요한 경우, 자신의 Cert와 비공개키 정보를 인자로 받아서 생성된 OCSP REQUEST에 서명을 한다
      void SendToServer​(IssacVACONTEXT vaContext)
      생성된 OCSP REQUEST를 DER 인코딩한 후, IssacVACONTEXT 객체에 설정된 검증 서버로 전송한다.
      void SendToServer_timeout​(IssacVACONTEXT vaContext, int timeout_sec)
      생성된 OCSP REQUEST를 DER 인코딩한 후, IssacVACONTEXT 객체에 설정된 검증 서버로 전송한다.
      • Methods inherited from class java.lang.Object

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

      • IssacOCSPREQUEST

        public IssacOCSPREQUEST()
                         throws IssacSDKException
        검증 요청 정보를 담고 있는 IssacOCSPREQUEST를 생성한다.

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

        Throws:
        IssacSDKException - 오류 발생
        See Also:
        close()
    • Method Detail

      • getOcsprequest

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

        public void MakeSign​(IssacCERTIFICATE ownCert,
                             IssacPRIVATEKEY priKey,
                             int hashNid)
                      throws IssacSDKException
        요청자의 서명이 필요한 경우, 자신의 Cert와 비공개키 정보를 인자로 받아서 생성된 OCSP REQUEST에 서명을 한다
        Parameters:
        ownCert - [IN] 요청자 자신의 인증서
        priKey - [IN] 요청자 자신의 비공개키
        hashNid - [IN] 해시에 사용할 알고리즘 [ HAS160(4), SHA1(134), SHA256(385) ]
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        Make(IssacCERTIFICATES, IssacCERTIFICATES)
      • SendToServer_timeout

        public void SendToServer_timeout​(IssacVACONTEXT vaContext,
                                         int timeout_sec)
                                  throws IssacSDKException
        생성된 OCSP REQUEST를 DER 인코딩한 후, IssacVACONTEXT 객체에 설정된 검증 서버로 전송한다.
        Parameters:
        vaContext - [IN] 접속할 OCSP서버의 ip, port, protocol 정보를 포함하고 IssacVACONTEXT 객체
        timeout_sec - [IN] 연결대기시간 (초)
        Throws:
        IssacSDKException - 오류 발생
      • Delete

        public void Delete()
                    throws IssacSDKException
        Deprecated.
        Resource Leak 의 효율적인 관리를 위해 close() 를 사용할 것을 권장함.
        검증 요청 정보를 포함하고 있는 IssacOCSPREQUEST 객체의 데이터를 메모리에서 삭제한다.
        Throws:
        IssacSDKException - 오류 발생
        See Also:
        IssacOCSPREQUEST()
      • close

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