WA-SDK  3.0.4.0
WA-SDK
issacapi_va.h
이 파일의 문서화 페이지로 가기
1 #ifndef _issacapi_va_h
2 #define _issacapi_va_h
3 
7 #include "issacapi.h"
8 
13 
14 #ifdef WIN32
15 #define close(s) closesocket(s)
16 #endif
17 
19 typedef struct _OCSPREQUEST {
20  void *ocsprequest;
21 } OCSPREQUEST;
22 
24 typedef struct _OCSPRESPONSE {
25  void *ocspresponse;
26 } OCSPRESPONSE;
27 
29 typedef struct _VACONTEXT {
30  char *protocol;
31  char *ip;
32  int port;
33  char *absPath;
34  int nSock;
35 } VACONTEXT;
36 
38 typedef struct _SINGLESTATUS {
39  int status;
42  time_t thisUpdate;
43  time_t nextUpdate;
44  char *issuerName;
45  char *issuerKey;
46  char *serialNumber;
47 } SINGLESTATUS;
48 
50 typedef struct _CERTSTATUS {
51  int size;
53 } CERTSTATUS;
54 
56 typedef enum {
61  // 4 is not used
65 
66 
76  OCSPREQUEST *ocsp_req
77 );
78 
84  OCSPREQUEST *ocsp_req
85 );
86 
99  OCSPREQUEST *ocsp_req,
100  CERTIFICATES *tgt_certs,
101  CERTIFICATES *tgt_issuer_cert
102 );
103 
116  OCSPREQUEST *ocsp_req,
117  CERTIFICATES *tgt_certs,
118  CERTIFICATES *tgt_issuer_cert,
119  int hashNid
120 );
121 
129  OCSPREQUEST *ocsp_req,
130  CERTIFICATE *own_cert,
131  PRIVATEKEY *pri_key
132 );
133 
141  OCSPREQUEST *ocsp_req,
142  CERTIFICATE *own_cert,
143  PRIVATEKEY *pri_key,
144  int hashNid
145 );
146 
164  OCSPREQUEST *ocsp_req,
165  VACONTEXT *info
166 );
167 
184  OCSPREQUEST *ocsp_req,
185  VACONTEXT *info,
186  long second,
187  long usecond
188 );
189 
198  OCSPRESPONSE *ocsp_rsp
199 );
200 
206  OCSPRESPONSE *ocsp_rsp
207 );
208 
225  OCSPRESPONSE *ocsp_rsp,
226  VACONTEXT *info
227 );
228 
229 
246  OCSPRESPONSE *ocsp_rsp,
247  VACONTEXT *info,
248  long second,
249  long usecond
250 );
251 
268  OCSPRESPONSE *ocsp_rsp,
269  OCSPREQUEST *ocsp_req,
270  time_t checktime
271 );
272 
282  CERTIFICATE *rsp_cert,
283  OCSPRESPONSE *ocsp_rsp
284 );
285 
296  OCSPRESPONSE *ocsp_rsp,
297  CERTSTATUS *cert_status
298 );
299 
307  CERTSTATUS *cert_status
308 );
309 
315  CERTSTATUS *cert_status
316 );
317 
324  CERTIFICATESTATUS *status,
325  int nSeq,
326  CERTSTATUS *cert_status
327 );
328 
337  VACONTEXT *info
338 );
339 
345  VACONTEXT *info
346 );
347 
355  VACONTEXT *info,
356  const char *protocol,
357  const char *ip,
358  int port,
359  const char *absPath,
360  CERTIFICATE *own_cert
361 );
362 
364 
365 #endif /*_issacapi_va_h*/
unsigned int ISSAC_RETURN
ISSAC-API 실행 결과 [ ISSACAPI_BASIC_RETURN, ISSACAPI_ERRORS, ISSAC_LICENSE_ERR ]
Definition: issacapi_bs_definitions.h:32
CERTIFICATESTATUS
인증서의 현재 상태 (OCSP)
Definition: issacapi_bs_definitions.h:95
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 서버의 정보를 설정한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_VACONTEXT_Delete(VACONTEXT *info)
VACONTEXT 에 할당된 메모리를 해제한다.
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_OCSPREQUEST_Delete(OCSPREQUEST *ocsp_req)
OCSPREQUEST 에 할당된 메모리를 해제한다.
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_CERTSTATUS_GetSingleStatus(CERTIFICATESTATUS *status, int nSeq, CERTSTATUS *cert_status)
CERTSTATUS 에서 인증서의 현재 상태를 가져온다.
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_OCSPRESPONSE_GetResponderCert(CERTIFICATE *rsp_cert, OCSPRESPONSE *ocsp_rsp)
OCSP Response 에서 ResponderCert를 가져온다.
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_OCSPREQUEST_Make(OCSPREQUEST *ocsp_req, CERTIFICATES *tgt_certs, CERTIFICATES *tgt_issuer_cert)
인증서 검증을 위해 OCSP Request 메시지를 생성한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_VACONTEXT_Create(VACONTEXT *info)
VACONTEXT 구조체를 초기화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPRESPONSE_Create(OCSPRESPONSE *ocsp_rsp)
OCSPRESPONSE 구조체를 초기화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPREQUEST_Create(OCSPREQUEST *ocsp_req)
OCSPREQUEST 구조체를 초기화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_OCSPRESPONSE_Delete(OCSPRESPONSE *ocsp_rsp)
OCSPRESPONSE 에 할당된 메모리를 해제한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_VA_CERTSTATUS_Create(CERTSTATUS *cert_status)
CERTSTATUS 구조체를 초기화한다.
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_timeout(OCSPREQUEST *ocsp_req, VACONTEXT *info, long second, long usecond)
OCSP Request 메시지를 OCSP 서버로 전송한다.
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_CERTSTATUS_Delete(CERTSTATUS *cert_status)
CERTSTATUS 에 할당된 메모리를 해제한다.
ISSACAPI_RESPONSE_STATUS
OCSP Response 의 상태값
Definition: issacapi_va.h:56
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 서버에서 받는다.
@ RESPONSE_SIG_REQUIRED
(5) Must sign the request
Definition: issacapi_va.h:62
@ RESPONSE_MALFORMED_REQUEST
(1) Illegal confirmation request
Definition: issacapi_va.h:58
@ RESPONSE_UNAUTHORIZED
(6) Request unauthorized
Definition: issacapi_va.h:63
@ RESPONSE_SUCCESS
(0) Response has valid confirmations
Definition: issacapi_va.h:57
@ RESPONSE_TRY_LATER
(3) Try again later
Definition: issacapi_va.h:60
@ RESPONSE_INTERNAL_ERROR
(2) Internal error in issuer
Definition: issacapi_va.h:59
인증서에 대한 컨텍스트
Definition: issacapi_bs_definitions.h:106
인증서 집합에 대한 컨텍스트
Definition: issacapi_bs_definitions.h:114
Definition: issacapi_va.h:50
SINGLESTATUS * singleStatus
Definition: issacapi_va.h:52
int size
Definition: issacapi_va.h:51
OCSP Request 에 대한 컨텍스트
Definition: issacapi_va.h:19
void * ocsprequest
Definition: issacapi_va.h:20
OCSP Response 에 대한 컨텍스트
Definition: issacapi_va.h:24
void * ocspresponse
Definition: issacapi_va.h:25
PKCS#8 형식의 개인키에 대한 컨텍스트
Definition: issacapi_bs_definitions.h:152
Definition: issacapi_va.h:38
int status
Definition: issacapi_va.h:39
char * issuerName
Definition: issacapi_va.h:44
time_t nextUpdate
Definition: issacapi_va.h:43
time_t revocationTime
Definition: issacapi_va.h:40
int revocationReason
Definition: issacapi_va.h:41
char * serialNumber
Definition: issacapi_va.h:46
time_t thisUpdate
Definition: issacapi_va.h:42
char * issuerKey
Definition: issacapi_va.h:45
OCSP 서버 정보
Definition: issacapi_va.h:29
int nSock
연결된 소켓의 Descriptor
Definition: issacapi_va.h:34
char * protocol
OCSP 서버의 통신 프로토콜 [ "tcp", "http" ]
Definition: issacapi_va.h:30
int port
OCSP 서버의 서비스 포트번호
Definition: issacapi_va.h:32
char * ip
OCSP 서버의 호스트 주소
Definition: issacapi_va.h:31
char * absPath
OCSP 서버의 서비스 경로
Definition: issacapi_va.h:33
#define FUNCCALL
Definition: wasdk_public.h:9
#define WA_SDK_API
Definition: wasdk_public.h:27