#include <stdio.h>
static const char *certB64 =
"MIIFcDCCBFigAwIBAgIEBOOmQDANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQGEwJLUjENMAsGA1UECgwES0lDQTEVMBMGA1UECwwMQWNjcmVkaXRl"
"ZENBMRUwEwYDVQQDDAxzaWduR0FURSBDQTUwHhcNMTkwNzE4MDEzODI4WhcNMjAwNzE5MTQ1OTU5WjCBkjELMAkGA1UEBhMCS1IxDTALBgNVBAoM"
"BEtJQ0ExEzARBgNVBAsMCmxpY2Vuc2VkQ0ExFjAUBgNVBAsMDVRFU1TrsJzquInsmqkxFjAUBgNVBAsMDVRFU1Tsnbjspp3shJwxETAPBgNVBAsM"
"CFJB7IS87YSwMRwwGgYDVQQDDBPthYzsiqTtirgo67KV7J24LUEpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs/0ZlxnYgA1RgfCR"
"jUA+5A+2//k74rzNE2KTVD//ulxYViRnBGnPEBOegaP0ZEfhUm4T50utynUnmv6VTy4YC/yvLzbu+x4S1bsStluIUN6VJSfVW3jYHTvTadZeXHW7"
"oQg6BtmMbRWX16PIwqxZ29fcO8NrQ+XFUAvVF22K3GLYdEga4l6W5iT2Jg0YUJZi1gozYAkd2bNeShyTOi+/mDQbPUr3zUfjYtmU+rEsjWWTUx9x"
"+VLMC0oRsVIrAWHoj8Iyew07+OCgvQPoSgiEaFCcC4Pph75jNdlGERvTBDjraSerIqqp3d6gctXi5HtrDeT3ldm8sLshoNrQDL6yIwIDAQABo4IC"
"EzCCAg8wgY8GA1UdIwSBhzCBhIAU2L467EWZxZ7jnOqBH9IdErA2PoihaKRmMGQxCzAJBgNVBAYTAktSMQ0wCwYDVQQKDARLSVNBMS4wLAYDVQQL"
"DCVLb3JlYSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBDZW50cmFsMRYwFAYDVQQDDA1LSVNBIFJvb3RDQSA0ggIQHTAdBgNVHQ4EFgQUnrcKqP2A"
"ud+LdDCYTf3wDiCq4xAwDgYDVR0PAQH/BAQDAgUgMBcGA1UdIAQQMA4wDAYKKoMajJpEBQIBATCBiwYDVR0RBIGDMIGAgRVwdXJlMjcxM0BzaWdu"
"Z2F0ZS5jb22gZwYJKoMajJpECgEBoFowWAwT7YWM7Iqk7Yq4KOuyleyduC1BKTBBMD8GCiqDGoyaRAoBAQEwMTALBglghkgBZQMEAgGgIgQgKitY"
"vdm0gRTpVhMYPG+TQKIkVjffUR9NMEks9r0Q5IkwXwYDVR0fBFgwVjBUoFKgUIZObGRhcDovL2xkYXAuc2lnbmdhdGUuY29tOjM4OS9vdT1kcDdw"
"MTUwMjksb3U9Y3JsZHAsb3U9QWNjcmVkaXRlZENBLG89S0lDQSxjPUtSMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcwAYYoaHR0cDovL29jc3Au"
"c2lnbmdhdGUuY29tOjkwMjAvT0NTUFNlcnZlcjANBgkqhkiG9w0BAQsFAAOCAQEAf9c0cN/64IYMApJkackYGuK+FZ0YzIHfksokUlEnuFerPVul"
"X7jKyEhS9tU6Q4E+vsJwAQQtqI7IUHHqym6OPrY8gLvtzwmRVJRvdLMyRvhrdoseb3xaTA/gqYch/TtNk7qwYlO4b10DLUCVTK9wubbLscOZ3uFO"
"XsrU6t1Lms9VnfVuZPFa+TH9LJ7pdLjbEGtSV+HZ+uNbdxfbTsgmDGux98E+MJqR7AsqnOICE/9W+lWPk3nNEKwWW7KA5SaRw38wgrJQDqoi7GlW"
"pTbrYVv2M/IoSGMHipAEoPBzqU8nrnjiHVWatycNNGZGKQ8Jy7gAvbItl1xjjqIAsMQm3Q==";
static unsigned char certBytes[4096] = { 0, };
static int certBytesLen = 0;
static int sample_setup() {
return 1;
}
return 1;
}
return 1;
}
return 0;
}
static int sample_usr_path_validation_ex() {
printf("sample_usr_path_validation_ex() => ");
}
}
printf("[OK]\n");
return 0;
} else {
return 1;
}
}
int main() {
int result;
result = sample_setup();
if (result != 0) {
return result;
}
return sample_usr_path_validation_ex();
}
@ ER_VERIFY_EXPIRED
(70103)
Definition: issacapi_errorcode.h:112
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_CERTIFICATE_VerifyEx(PATHS *verified_paths, CERTIFICATE *cert, CERTIFICATES *ca_certs, CERTIFICATES *trusted_certs, POLICYCONTEXT *policies, CERTIFICATEREVLIST *crl, time_t verify_time, unsigned int flags)
인증서의 유효성을 검증한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_CERTIFICATE_Delete(CERTIFICATE *cert)
CERTIFICATE 에 할당된 메모리를 해제한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_CERTIFICATE_Create(CERTIFICATE *cert)
CERTIFICATE 를 초기화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_CERTIFICATE_Read_Memory(CERTIFICATE *cert, const void *buffer, int buffer_len)
인증서를 버퍼에서 읽어들인다. (DER, BASE64, PEM)
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_CERTIFICATES_Delete(CERTIFICATES *certs)
CERTIFICATES 에 할당된 메모리를 해제한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_CERTIFICATES_Create(CERTIFICATES *certs)
CERTIFICATES 를 초기화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_CERTIFICATEREVLIST_Delete(CERTIFICATEREVLIST *crl)
CERTIFICATEREVLIST 에 할당된 메모리를 해제한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_CERTIFICATEREVLIST_Create(CERTIFICATEREVLIST *crl)
CERTIFICATEREVLIST 를 초기화한다.
#define VERIFY_IGNOREPOLICYCHECKING
정책 검증 무시
Definition: issacapi_bs_definitions.h:25
unsigned int ISSAC_RETURN
ISSAC-API 실행 결과 [ ISSACAPI_BASIC_RETURN, ISSACAPI_ERRORS, ISSAC_LICENSE_ERR ]
Definition: issacapi_bs_definitions.h:32
@ ISSAC_SUCCESS
(0) 성공
Definition: issacapi_bs_definitions.h:37
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_BASE64_Decode(void *data, int *data_len, int data_alloc_len, const char *code)
입력한 BASE64 문자열을 바이너리 데이터로 디코딩한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_Initialize(void)
모듈을 초기화한다.
WA_SDK_API const char *FUNCCALL ISSAC_GetErrorMessage(ISSAC_RETURN errorCode)
ISSAC-API 의 에러코드에 대한 에러메시지를 가져온다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PATHS_Delete(PATHS *paths)
PATHS 에 할당된 메모리를 해제한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PATHS_Create(PATHS *paths)
PATHS 를 초기화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_DLCONTEXT_Delete(DLCONTEXT *info)
DLCONTEXT 에 할당된 메모리를 해제한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_DLCONTEXT_Create(DLCONTEXT *info)
DLCONTEXT 구조체를 초기화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_SetCacheDir(const char *cacheDir)
경로검증 시 다운로드 받은 파일을 저장해두는 경로를 지정한다. (default : 현재 디렉토리)
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_MakeCertPath(CERTIFICATES *caCerts, CERTIFICATES *trustedCaCerts, CERTIFICATEREVLIST *crl, DLCONTEXT *ldapInfo, CERTIFICATE *cert)
경로검증 시 다양한 옵션을 직접 적용할 수 있도록 경로구축만 실행하는 API
인증서에 대한 컨텍스트
Definition: issacapi_bs_definitions.h:106
CRL (인증서 폐지 목록) 에 대한 컨텍스트
Definition: issacapi_bs_definitions.h:119
인증서 집합에 대한 컨텍스트
Definition: issacapi_bs_definitions.h:114
디렉토리 서버에 연결하기 위한 정보가 포함된 구조체
Definition: issacapi_dl.h:36
여러개의 인증서 경로(발급대상 - 발급자 관계에 있는 인증서들의 경로, 인증서 체인)에 대한 컨텍스트
Definition: issacapi_bs_definitions.h:137