WA-SDK  3.0.4.0
WA-SDK
ISSAC-API (VA)

인증서 유효성 검증 (OCSP) 더 자세히 ...

ISSAC-API (VA)에 대한 협력 다이어그램:

데이터 구조

struct  OCSPREQUEST
 OCSP Request 에 대한 컨텍스트 더 자세히 ...
 
struct  OCSPRESPONSE
 OCSP Response 에 대한 컨텍스트 더 자세히 ...
 
struct  VACONTEXT
 OCSP 서버 정보 더 자세히 ...
 
struct  SINGLESTATUS
 
struct  CERTSTATUS
 

열거형 타입

enum  ISSACAPI_RESPONSE_STATUS {
  RESPONSE_SUCCESS = 0 , RESPONSE_MALFORMED_REQUEST = 1 , RESPONSE_INTERNAL_ERROR = 2 , RESPONSE_TRY_LATER = 3 ,
  RESPONSE_SIG_REQUIRED = 5 , RESPONSE_UNAUTHORIZED = 6
}
 OCSP Response 의 상태값 더 자세히 ...
 

함수

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_Create (OCSPREQUEST *ocsp_req)
 OCSPREQUEST 구조체를 초기화한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_Delete (OCSPREQUEST *ocsp_req)
 OCSPREQUEST 에 할당된 메모리를 해제한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_Make (OCSPREQUEST *ocsp_req, CERTIFICATES *tgt_certs, CERTIFICATES *tgt_issuer_cert)
 인증서 검증을 위해 OCSP Request 메시지를 생성한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_Make_WithHashNid (OCSPREQUEST *ocsp_req, CERTIFICATES *tgt_certs, CERTIFICATES *tgt_issuer_cert, int hashNid)
 인증서 검증을 위해 OCSP Request 메시지를 생성한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_MakeSign (OCSPREQUEST *ocsp_req, CERTIFICATE *own_cert, PRIVATEKEY *pri_key)
 요청자의 서명이 필요한 경우, OCSP Request 메시지를 검증 요청자의 인증서로 서명한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_MakeSign_WithHashNid (OCSPREQUEST *ocsp_req, CERTIFICATE *own_cert, PRIVATEKEY *pri_key, int hashNid)
 요청자의 서명이 필요한 경우, OCSP Request 메시지를 검증 요청자의 인증서로 서명한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_SendToServer (OCSPREQUEST *ocsp_req, VACONTEXT *info)
 OCSP Request 메시지를 OCSP 서버로 전송한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_SendToServer_timeout (OCSPREQUEST *ocsp_req, VACONTEXT *info, long second, long usecond)
 OCSP Request 메시지를 OCSP 서버로 전송한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPRESPONSE_Create (OCSPRESPONSE *ocsp_rsp)
 OCSPRESPONSE 구조체를 초기화한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPRESPONSE_Delete (OCSPRESPONSE *ocsp_rsp)
 OCSPRESPONSE 에 할당된 메모리를 해제한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL ISSAC_VA_OCSPRESPONSE_ReceiveFromServer (OCSPRESPONSE *ocsp_rsp, VACONTEXT *info)
 OCSP Response 메시지를 OCSP 서버에서 받는다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL ISSAC_VA_OCSPRESPONSE_ReceiveFromServer_timeout (OCSPRESPONSE *ocsp_rsp, VACONTEXT *info, long second, long usecond)
 OCSP Response 메시지를 OCSP 서버에서 받는다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPRESPONSE_CheckValid (OCSPRESPONSE *ocsp_rsp, OCSPREQUEST *ocsp_req, time_t checktime)
 OCSP 서버에 전송한 Request에 대한 Response 가 맞는지, 또 특정시점에 유효한지를 확인한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPRESPONSE_GetResponderCert (CERTIFICATE *rsp_cert, OCSPRESPONSE *ocsp_rsp)
 OCSP Response 에서 ResponderCert를 가져온다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPRESPONSE_GetCertStatus (OCSPRESPONSE *ocsp_rsp, CERTSTATUS *cert_status)
 OCSP Response 에서 CERTSTATUS 를 가져온다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_CERTSTATUS_Create (CERTSTATUS *cert_status)
 CERTSTATUS 구조체를 초기화한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_CERTSTATUS_Delete (CERTSTATUS *cert_status)
 CERTSTATUS 에 할당된 메모리를 해제한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_CERTSTATUS_GetSingleStatus (CERTIFICATESTATUS *status, int nSeq, CERTSTATUS *cert_status)
 CERTSTATUS 에서 인증서의 현재 상태를 가져온다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_VACONTEXT_Create (VACONTEXT *info)
 VACONTEXT 구조체를 초기화한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_VACONTEXT_Delete (VACONTEXT *info)
 VACONTEXT 에 할당된 메모리를 해제한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_VACONTEXT_Set (VACONTEXT *info, const char *protocol, const char *ip, int port, const char *absPath, CERTIFICATE *own_cert)
 VACONTEXT 에 OCSP 서버의 정보를 설정한다. 더 자세히 ...
 

상세한 설명

인증서 유효성 검증 (OCSP)

OCSP 검증 기능

열거형 타입 문서화

◆ ISSACAPI_RESPONSE_STATUS

OCSP Response 의 상태값

열거형 멤버
RESPONSE_SUCCESS 

(0) Response has valid confirmations

RESPONSE_MALFORMED_REQUEST 

(1) Illegal confirmation request

RESPONSE_INTERNAL_ERROR 

(2) Internal error in issuer

RESPONSE_TRY_LATER 

(3) Try again later

RESPONSE_SIG_REQUIRED 

(5) Must sign the request

RESPONSE_UNAUTHORIZED 

(6) Request unauthorized

함수 문서화

◆ ISSAC_VA_OCSPREQUEST_Create()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_Create ( OCSPREQUEST ocsp_req)

OCSPREQUEST 구조체를 초기화한다.

주의
사용 후 반드시 ISSAC_VA_OCSPREQUEST_Delete() 를 호출하여 할당된 메모리를 해제해야 한다.
반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
ER_FAIL_CREATE_NEW_OCSPREQ : OCSPRequest 생성 실패
그 외 : 라이선스 오류 (ISSAC_LICENSE_ERR)
매개변수
ocsp_req[IN,OUT] 초기화 할 OCSPREQUEST
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_OCSPREQUEST_Delete()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_Delete ( OCSPREQUEST ocsp_req)

OCSPREQUEST 에 할당된 메모리를 해제한다.

반환값
ISSAC_SUCCESS : 성공
매개변수
ocsp_req[IN,OUT] ISSAC_VA_OCSPREQUEST_Create() 를 호출하여 초기화 된 OCSPREQUEST
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_OCSPREQUEST_Make()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_Make ( OCSPREQUEST ocsp_req,
CERTIFICATES tgt_certs,
CERTIFICATES tgt_issuer_cert 
)

인증서 검증을 위해 OCSP Request 메시지를 생성한다.

반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
ER_FAIL_REQ_TARGETCERTS_SIZE_LESSTHANONE : 검증할 인증서가 없거나 인증서 발급자와 갯수가 일치하지 않음
ER_FAIL_MAKE_NEW_REQUEST : Request 생성 실패
ER_FAIL_MAKE_SERVICE_LOCATOR : ServiceLocator 생성 실패
ER_FAIL_ADD_SINGLE_EXTENSION : singleRequestExtensions 에 Extension(현재는 ServiceLocator) 추가 실패
ER_FAIL_ADD_SINGLE_REQUEST : requestList 에 Request 추가 실패
ER_FAIL_ADD_REQUEST_EXTENSION : requestExtensions 에 Extension 추가 실패
매개변수
ocsp_req[IN,OUT] ISSAC_VA_OCSPREQUEST_Create() 를 호출하여 초기화 된 OCSPREQUEST
tgt_certs[IN] 검증할 인증서들
tgt_issuer_cert[IN] 검증할 인증서들의 발급자 (검증할 인증서들과 순서가 일치해야 함)

◆ ISSAC_VA_OCSPREQUEST_Make_WithHashNid()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_Make_WithHashNid ( OCSPREQUEST ocsp_req,
CERTIFICATES tgt_certs,
CERTIFICATES tgt_issuer_cert,
int  hashNid 
)

인증서 검증을 위해 OCSP Request 메시지를 생성한다.

반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
ER_FAIL_REQ_TARGETCERTS_SIZE_LESSTHANONE : 검증할 인증서가 없거나 인증서 발급자와 갯수가 일치하지 않음
ER_FAIL_MAKE_NEW_REQUEST : Request 생성 실패
ER_FAIL_MAKE_SERVICE_LOCATOR : ServiceLocator 생성 실패
ER_FAIL_ADD_SINGLE_EXTENSION : singleRequestExtensions 에 Extension(현재는 ServiceLocator) 추가 실패
ER_FAIL_ADD_SINGLE_REQUEST : requestList 에 Request 추가 실패
ER_FAIL_ADD_REQUEST_EXTENSION : requestExtensions 에 Extension 추가 실패
매개변수
ocsp_req[IN,OUT] ISSAC_VA_OCSPREQUEST_Create() 를 호출하여 초기화 된 OCSPREQUEST
tgt_certs[IN] 검증할 인증서들
tgt_issuer_cert[IN] 검증할 인증서들의 발급자 (검증할 인증서들과 순서가 일치해야 함)
hashNid[IN] CertID 생성에 사용할 해시 알고리즘 [ SHA1(134), SHA256(385), SHA384(386), SHA512(387) ]
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_OCSPREQUEST_MakeSign()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_MakeSign ( OCSPREQUEST ocsp_req,
CERTIFICATE own_cert,
PRIVATEKEY pri_key 
)

요청자의 서명이 필요한 경우, OCSP Request 메시지를 검증 요청자의 인증서로 서명한다.

반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
ER_FAIL_MAKE_SIGN_OCSPREQ : OCSP Request 메시지 서명 실패
매개변수
ocsp_req[IN,OUT] 서명할 OCSP Request 메시지
own_cert[IN] 검증 요청자의 인증서
pri_key[IN] 검증 요청자의 개인키

◆ ISSAC_VA_OCSPREQUEST_MakeSign_WithHashNid()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_MakeSign_WithHashNid ( OCSPREQUEST ocsp_req,
CERTIFICATE own_cert,
PRIVATEKEY pri_key,
int  hashNid 
)

요청자의 서명이 필요한 경우, OCSP Request 메시지를 검증 요청자의 인증서로 서명한다.

반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
ER_FAIL_MAKE_SIGN_OCSPREQ : OCSP Request 메시지 서명 실패
매개변수
ocsp_req[IN,OUT] 서명할 OCSP Request 메시지
own_cert[IN] 검증 요청자의 인증서
pri_key[IN] 검증 요청자의 개인키
hashNid[IN] 서명에 사용할 해시 알고리즘 [ SHA1(134), SHA256(385), SHA384(386), SHA512(387) ]

◆ ISSAC_VA_OCSPREQUEST_SendToServer()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_SendToServer ( OCSPREQUEST ocsp_req,
VACONTEXT info 
)

OCSP Request 메시지를 OCSP 서버로 전송한다.

반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
ER_FAIL_ENCODE_DER : OCSP Request 메시지 인코딩 실패
ER_CAN_NOT_ALLOC_MEMORY : 메모리 할당 실패
ER_WINSOCK_LIBRARY_ERROR : WinSock 라이브러리 오류 - WSAStartup() 실패
ER_WINSOCK_VERSION_UNSUPPORTED : 지원하지 않는 WinSock 버전. (2.0 만 지원)
ER_FAIL_INVALID_PORT_ADDRESS : 잘못된 포트번호
ER_FAIL_TO_RESOLVE_HOSTNAME : 호스트 주소 확인 실패
ER_FAIL_TO_CREATE_SOCKET : 소켓 생성 실패
ER_FAIL_TO_CONNECT : 서버 연결 실패 - connect()
ER_FAIL_SEND_POLL_RTN_NEGATIVE : 서버 연결 실패 - select()
ER_FAIL_SEND_TO_SERVER_DATALEN : OCSP Request 메시지 크기 전송 실패
ER_FAIL_SEND_TO_SERVER_DATA : OCSP Request 메시지 전송 실패
매개변수
ocsp_req[IN,OUT] OCSP Request 메시지
info[IN] OCSP 서버의 정보가 포함된 VACONTEXT
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_OCSPREQUEST_SendToServer_timeout()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_SendToServer_timeout ( OCSPREQUEST ocsp_req,
VACONTEXT info,
long  second,
long  usecond 
)

OCSP Request 메시지를 OCSP 서버로 전송한다.

반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
ER_FAIL_ENCODE_DER : OCSP Request 메시지 인코딩 실패
ER_CAN_NOT_ALLOC_MEMORY : 메모리 할당 실패
ER_WINSOCK_LIBRARY_ERROR : WinSock 라이브러리 오류 - WSAStartup() 실패
ER_WINSOCK_VERSION_UNSUPPORTED : 지원하지 않는 WinSock 버전. (2.0 만 지원)
ER_FAIL_INVALID_PORT_ADDRESS : 잘못된 포트번호
ER_FAIL_TO_RESOLVE_HOSTNAME : 호스트 주소 확인 실패
ER_FAIL_TO_CREATE_SOCKET : 소켓 생성 실패
ER_FAIL_TO_CONNECT : 서버 연결 실패 - connect()
ER_FAIL_SEND_TO_SERVER_DATALEN : OCSP Request 메시지 크기 전송 실패
ER_FAIL_SEND_TO_SERVER_DATA : OCSP Request 메시지 전송 실패
매개변수
ocsp_req[IN] OCSP Request 메시지
info[IN] OCSP 서버의 정보가 포함된 VACONTEXT
second[IN] 응답 대기시간 (초)
usecond[IN] 응답 대기시간 (마이크로 초)

◆ ISSAC_VA_OCSPRESPONSE_Create()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPRESPONSE_Create ( OCSPRESPONSE ocsp_rsp)

OCSPRESPONSE 구조체를 초기화한다.

주의
사용 후 반드시 ISSAC_VA_OCSPRESPONSE_Delete() 를 호출하여 할당된 메모리를 해제해야 한다.
반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
그 외 : 라이선스 오류 (ISSAC_LICENSE_ERR)
매개변수
ocsp_rsp[IN,OUT] 초기화 할 OCSPRESPONSE
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_OCSPRESPONSE_Delete()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPRESPONSE_Delete ( OCSPRESPONSE ocsp_rsp)

OCSPRESPONSE 에 할당된 메모리를 해제한다.

반환값
ISSAC_SUCCESS : 성공
매개변수
ocsp_rsp[IN,OUT] ISSAC_VA_OCSPRESPONSE_Create() 를 호출하여 초기화 된 OCSPRESPONSE
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_OCSPRESPONSE_ReceiveFromServer()

WA_SDK_API int FUNCCALL ISSAC_VA_OCSPRESPONSE_ReceiveFromServer ( OCSPRESPONSE ocsp_rsp,
VACONTEXT info 
)

OCSP Response 메시지를 OCSP 서버에서 받는다.

반환값
ISSACAPI_RESPONSE_STATUS
ER_INVALID_INPUT : 입력값 오류
ER_INVALID_DATA : 받은 데이터가 OCSP Response 메시지 형식이 아니거나 ResponseStatus 를 가져올 수 없음
ER_CAN_NOT_ALLOC_MEMORY : 메모리 할당 실패
ER_FAIL_RCV_POLL_RTN_NEGATIVE : OCSP 서버로부터 데이터를 받지 못함
ER_FAIL_RCV_DATALEN_MSGPEEK : OCSP Response 데이터의 크기(첫 4 bytes)를 받지 못함 (MSG_PEEK)
ER_FAIL_RCV_DATALEN : OCSP Response 데이터의 크기(첫 4 bytes)를 받지 못함
ER_FAIL_RCV_EXCEED_LEN : 받을 데이터의 크기가 0 또는 0 보다 작거나 5mb 이상 (첫 4 bytes 에 받을 데이터의 크기를 내려준 것이 아닐 수 있음)
ER_FAIL_RCV_DATA : 실제로 받은 데이터의 크기가 처음 알려준 데이터의 크기와 맞지 않음
ER_FAIL_HTTP_RECEIVE_FAIL : HTTP Response 를 받지 못함
ER_FAIL_HTTP_RCVDATA_INVALID : HTTP 헤더 정보를 파싱할 수 없음 (Content-Length:, Content-Type: application/ocsp-response 확인 실패)
ER_FAIL_HTTP_HEADER_SIZE_WRONG : HTTP 헤더의 Content-Length 값이 0 또는 음수이거나 0x100000 보다 큼
매개변수
ocsp_rsp[IN,OUT] ISSAC_VA_OCSPRESPONSE_Create() 를 호출하여 초기화 된 OCSPRESPONSE
info[IN] OCSP 서버의 정보가 포함된 VACONTEXT
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_OCSPRESPONSE_ReceiveFromServer_timeout()

WA_SDK_API int FUNCCALL ISSAC_VA_OCSPRESPONSE_ReceiveFromServer_timeout ( OCSPRESPONSE ocsp_rsp,
VACONTEXT info,
long  second,
long  usecond 
)

OCSP Response 메시지를 OCSP 서버에서 받는다.

반환값
ISSACAPI_RESPONSE_STATUS
ER_INVALID_INPUT : 입력값 오류
ER_INVALID_DATA : 받은 데이터가 OCSP Response 메시지 형식이 아니거나 ResponseStatus 를 가져올 수 없음
ER_CAN_NOT_ALLOC_MEMORY : 메모리 할당 실패
ER_FAIL_RCV_POLL_RTN_NEGATIVE : OCSP 서버로부터 데이터를 받지 못함
ER_FAIL_RCV_DATALEN_MSGPEEK : OCSP Response 데이터의 크기(첫 4 bytes)를 받지 못함 (MSG_PEEK)
ER_FAIL_RCV_DATALEN : OCSP Response 데이터의 크기(첫 4 bytes)를 받지 못함
ER_FAIL_RCV_EXCEED_LEN : 받을 데이터의 크기가 0 또는 0 보다 작거나 5mb 이상 (첫 4 bytes 에 받을 데이터의 크기를 내려준 것이 아닐 수 있음)
ER_FAIL_RCV_DATA : 실제로 받은 데이터의 크기가 처음 알려준 데이터의 크기와 맞지 않음
ER_FAIL_HTTP_RECEIVE_FAIL : HTTP Response 를 받지 못함
ER_FAIL_HTTP_RCVDATA_INVALID : HTTP 헤더 정보를 파싱할 수 없음 (Content-Length:, Content-Type: application/ocsp-response 확인 실패)
ER_FAIL_HTTP_HEADER_SIZE_WRONG : HTTP 헤더의 Content-Length 값이 0 또는 음수이거나 0x100000 보다 큼
매개변수
ocsp_rsp[IN,OUT] ISSAC_VA_OCSPRESPONSE_Create() 를 호출하여 초기화 된 OCSPRESPONSE
info[IN] OCSP 서버의 정보가 포함된 VACONTEXT
second[IN] 응답 대기시간 (초)
usecond[IN] 응답 대기시간 (마이크로 초)

◆ ISSAC_VA_OCSPRESPONSE_CheckValid()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPRESPONSE_CheckValid ( OCSPRESPONSE ocsp_rsp,
OCSPREQUEST ocsp_req,
time_t  checktime 
)

OCSP 서버에 전송한 Request에 대한 Response 가 맞는지, 또 특정시점에 유효한지를 확인한다.

반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
ER_FAIL_GET_BASIC_OCSPRSP : OCSP Response 에서 BasicOCSPResponse를 가져오지 못함
ER_FAIL_GET_RESPONDER_CERT : BasicOCSPResponse 에서 ResponderCert 를 가져오지 못함
ER_FAIL_GET_REQ_EXTENSION : OCSP Request 에서 ocsp nonce Extension 을 가져오지 못함
ER_FAIL_NONCE_NOT_VALID : nonce 가 유효하지 않음
ER_FAIL_CHECK_RESPONDER_CERT : ResponderCert 가 OCSP 서명용이 아님 (ExtendedKeyUsage 확인)
ER_FAIL_CHECK_RESPONDER_ID : OCSPResponse의 ResponderID 와 ResponderCert 의 ID(DN 또는 KeyHash)가 일치하지 않음
ER_FAIL_RESPONDERCERT_TIME_NOT_VALID : 검증 시점 ResponderCert 의 유효기간 내에 있지 않음
ER_FAIL_SERIALNUMBER_NOT_EQUAL : OCSP Request 와 OCSP Response 의 일련번호가 일치하지 않음
ER_FAIL_PRDCTIME_BIGGER_THAN_NEXTUPDATE : OCSP Response의 시간 오류 (다음 업데이트 시간이 OCSP Response 생성 시간보다 이전)
ER_FAIL_PRDCTIME_SMALLER_THAN_THISUPDATE : OCSP Response의 시간 오류 (이번 업데이트 시간이 OCSP Response 생성 시간보다 이후)
매개변수
ocsp_rsp[IN] OCSP Response 메시지
ocsp_req[IN] OCSP Request 메시지
checktime[IN] 검증 시점 (0: 현재 시각)
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_OCSPRESPONSE_GetResponderCert()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPRESPONSE_GetResponderCert ( CERTIFICATE rsp_cert,
OCSPRESPONSE ocsp_rsp 
)

OCSP Response 에서 ResponderCert를 가져온다.

반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
ER_FAIL_GET_BASIC_OCSPRSP : OCSP Response 에서 BasicOCSPResponse를 가져오지 못함
ER_FAIL_GET_RESPONDER_CERT : BasicOCSPResponse 에서 ResponderCert 를 가져오지 못함
ER_CERT_COPY_FAIL : 인증서 데이터 복사 실패
매개변수
rsp_cert[IN,OUT] ISSAC_CERTIFICATE_Create() 를 호출하여 초기화 된 CERTIFICATE
ocsp_rsp[IN] OCSP Response 메시지
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_OCSPRESPONSE_GetCertStatus()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPRESPONSE_GetCertStatus ( OCSPRESPONSE ocsp_rsp,
CERTSTATUS cert_status 
)

OCSP Response 에서 CERTSTATUS 를 가져온다.

반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
ER_CAN_NOT_ALLOC_MEMORY : 메모리 할당 실패
ER_FAIL_GET_BASIC_OCSPRSP : OCSP Response 에서 BasicOCSPResponse를 가져오지 못함
ER_FAIL_SINGLERSP_LESS_THAN_ONE : SingleResponse가 하나도 없음
ER_FAIL_CHECK_CERT_STATUS : 폐지되었는데 폐지정보(RevokedInfo) 가 없음
매개변수
ocsp_rsp[IN] OCSP Response 메시지
cert_status[IN,OUT] ISSAC_VA_CERTSTATUS_Create() 를 호출하여 초기화 된 CERTSTATUS
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_CERTSTATUS_Create()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_CERTSTATUS_Create ( CERTSTATUS cert_status)

CERTSTATUS 구조체를 초기화한다.

주의
사용 후 반드시 ISSAC_VA_CERTSTATUS_Delete() 를 호출하여 할당된 메모리를 해제해야 한다.
반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
매개변수
cert_status[IN,OUT] 초기화 할 CERTSTATUS

◆ ISSAC_VA_CERTSTATUS_Delete()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_CERTSTATUS_Delete ( CERTSTATUS cert_status)

CERTSTATUS 에 할당된 메모리를 해제한다.

반환값
ISSAC_SUCCESS : 성공
매개변수
cert_status[IN,OUT] ISSAC_VA_CERTSTATUS_Create() 를 호출하여 초기화 된 CERTSTATUS
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_CERTSTATUS_GetSingleStatus()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_CERTSTATUS_GetSingleStatus ( CERTIFICATESTATUS status,
int  nSeq,
CERTSTATUS cert_status 
)

CERTSTATUS 에서 인증서의 현재 상태를 가져온다.

반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
매개변수
status[OUT] 인증서의 현재 상태
nSeq[IN] 상태를 가져올 인증서의 인덱스
cert_status[IN] ISSAC_VA_OCSPRESPONSE_GetCertStatus() 로 가져온 CERTSTATUS
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_VACONTEXT_Create()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_VACONTEXT_Create ( VACONTEXT info)

VACONTEXT 구조체를 초기화한다.

주의
사용 후 반드시 ISSAC_VA_VACONTEXT_Delete() 를 호출하여 할당된 메모리를 해제해야 한다.
반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
ER_CAN_NOT_ALLOC_MEMORY : 메모리 할당 실패
매개변수
info[IN,OUT] 초기화 할 VACONTEXT
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_VACONTEXT_Delete()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_VACONTEXT_Delete ( VACONTEXT info)

VACONTEXT 에 할당된 메모리를 해제한다.

반환값
ISSAC_SUCCESS : 성공
매개변수
info[IN,OUT] ISSAC_VA_VACONTEXT_Create() 를 호출하여 초기화 된 VACONTEXT
예제
issacapi/va/sample_va_basic.c.

◆ ISSAC_VA_VACONTEXT_Set()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_VACONTEXT_Set ( VACONTEXT info,
const char *  protocol,
const char *  ip,
int  port,
const char *  absPath,
CERTIFICATE own_cert 
)

VACONTEXT 에 OCSP 서버의 정보를 설정한다.

주의
일반적으로 OCSP를 사용하는 인증서는 AIA 정보가 포함되어 있다. 이 경우는 다른 4가지 값은 필요없고, 인증서만 입력해주면 된다.
반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
매개변수
info[IN,OUT] ISSAC_VA_VACONTEXT_Create() 를 호출하여 초기화 된 VACONTEXT
protocol[IN] OCSP 서버의 통신 프로토콜 [ "tcp", "http" ]
ip[IN] OCSP 서버의 호스트 주소
port[IN] OCSP 서버의 서비스 포트번호
absPath[IN] OCSP 서버의 서비스 경로
own_cert[IN] AIA 정보가 포함된 인증서 (이 값 입력 시 다른 값들은 입력하지 않아도 됨)
예제
issacapi/va/sample_va_basic.c.