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

응용 기능 더 자세히 ...

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

모듈

 ISSAC-API (USR - CERTVERIFIER)
 응용 기능 - 인증서 검증 기능 일부
 
 ISSAC-API (USR - LDAPFINDER)
 응용 기능 - LDAP 검색을 위한 디렉토리 서버 정보 리스트
 

매크로

#define ORDER_CERT_FIRST   0x00
 
#define ORDER_INPUT_FIRST   0x01
 
#define ORDER_CERT_ONLY   0x02
 
#define ORDER_OCSP_FIRST   0x00
 
#define ORDER_CRL_FIRST   0x04
 
#define ORDER_OCSP_ONLY   0x08
 
#define ORDER_CRL_ONLY   0x0c
 
#define INPUT_CERT_MASK   0x03
 
#define OCSP_CRL_MASK   0x0c
 
#define SOCKET   int
 
#define INVALID_SOCKET   (-1)
 
#define SOCKET_ERROR   (-1)
 
#define closesocket(s)   close(s)
 

함수

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_SimpleVerifyCertificate (CERTIFICATE *cert, CERTIFICATE *rootca_cert, CERTIFICATE *own_cert, PRIVATEKEY *priv_key, char *configfile_path)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_SimpleVerifyCertificate_OnlyOcsp (CERTIFICATE *cert, CERTIFICATE *rootca_cert, CERTIFICATE *own_cert, PRIVATEKEY *priv_key, char *configfile_path)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_SimpleVerifyCertificateTime (CERTIFICATE *cert, CERTIFICATE *rootca_cert, CERTIFICATE *own_cert, PRIVATEKEY *priv_key, time_t checktime, char *configfile_path)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_SimplePathValidateCertificate (CERTIFICATE *cert, CERTIFICATE *rootca_cert, char *configfile_path)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_VerifyCertPath (CERTIFICATES *certificates_on_path, CERTIFICATE *certificate, CERTIFICATE *rootca_cert, CERTIFICATE *own_cert, PRIVATEKEY *priv_key, char *configfile_path, char *cacert_cachedir)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_VerifyCertsStatus (CERTIFICATES *certificates_on_path, CERTIFICATE *certificate, CERTIFICATE *rootca_cert, CERTIFICATE *own_cert, PRIVATEKEY *priv_key, char *configfile_path, char *cacert_cachedir)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_GetCertificatesOnPath (CERTIFICATES *certificates_on_path, CERTIFICATE *certificate, LDAPFINDERLIST *ldaplist, char *unused, unsigned int flags)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_CertificateVerify (PATHS *verified_path, CERTIFICATE *cert, CERTIFICATES *ca_certs, CERTIFICATES *trusted_certs, CERTIFICATETRUSTLIST *ctl, POLICYCONTEXT *policies, time_t verify_time, unsigned int flags)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_FullPathCheck (CERTIFICATESTATUS *finalStatus, int *nRevoked, CERTIFICATES *tgtCerts, CERTIFICATES *certificatesOnPath, CERTIFICATES *trustedCerts, CERTIFICATE *ownCert, PRIVATEKEY *privKey, VACONTEXT *inputVaContext, LDAPFINDERLIST *ldaplist, time_t verifyTime, unsigned int orderFlags)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_CheckRevocation (CERTIFICATESTATUS *status, CERTIFICATE *tgtCert, CERTIFICATE *tgtIssuerCert, CERTIFICATES *certificatesOnPath, CERTIFICATES *trustedCerts, CERTIFICATE *ownCert, PRIVATEKEY *privKey, VACONTEXT *inputVaContext, LDAPFINDERLIST *ldaplist, time_t verifyTime, unsigned int orderFlags)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_CTLCheckPath (char *ctlpath, CERTIFICATE *rootca_cert, CERTIFICATES *path)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_CheckDate100 (int *pLeftDays, CERTIFICATE *cert)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_CheckDateMessage (char *message, int *status, CERTIFICATE *cert)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_GetTopCert (CERTIFICATE *topcert, CERTIFICATE *usercert, char *configfile_path)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_GetTime (time_t *timeValue, const char *timeString)
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_SetCacheDir (const char *cacheDir)
 경로검증 시 다운로드 받은 파일을 저장해두는 경로를 지정한다. (default : 현재 디렉토리) 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_AddTrustedCaCert (CERTIFICATE *cert)
 신뢰하는 최상위 인증기관의 인증서를 추가한다. 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_MakeCertPath (CERTIFICATES *caCerts, CERTIFICATES *trustedCaCerts, CERTIFICATEREVLIST *crl, DLCONTEXT *ldapInfo, CERTIFICATE *cert)
 경로검증 시 다양한 옵션을 직접 적용할 수 있도록 경로구축만 실행하는 API 더 자세히 ...
 
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_CertPathValidation (CERTIFICATE *cert)
 옵션이 정해져 있는 일반 검증 (일반적인 사용을 위한 API) 더 자세히 ...
 

상세한 설명

응용 기능

매크로 문서화

◆ ORDER_CERT_FIRST

#define ORDER_CERT_FIRST   0x00

◆ ORDER_INPUT_FIRST

#define ORDER_INPUT_FIRST   0x01

◆ ORDER_CERT_ONLY

#define ORDER_CERT_ONLY   0x02

◆ ORDER_OCSP_FIRST

#define ORDER_OCSP_FIRST   0x00

◆ ORDER_CRL_FIRST

#define ORDER_CRL_FIRST   0x04

◆ ORDER_OCSP_ONLY

#define ORDER_OCSP_ONLY   0x08

◆ ORDER_CRL_ONLY

#define ORDER_CRL_ONLY   0x0c

◆ INPUT_CERT_MASK

#define INPUT_CERT_MASK   0x03

◆ OCSP_CRL_MASK

#define OCSP_CRL_MASK   0x0c

◆ SOCKET

#define SOCKET   int

◆ INVALID_SOCKET

#define INVALID_SOCKET   (-1)

◆ SOCKET_ERROR

#define SOCKET_ERROR   (-1)

◆ closesocket

#define closesocket (   s)    close(s)

함수 문서화

◆ ISSAC_USR_SimpleVerifyCertificate()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_SimpleVerifyCertificate ( CERTIFICATE cert,
CERTIFICATE rootca_cert,
CERTIFICATE own_cert,
PRIVATEKEY priv_key,
char *  configfile_path 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_SimpleVerifyCertificate_OnlyOcsp()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_SimpleVerifyCertificate_OnlyOcsp ( CERTIFICATE cert,
CERTIFICATE rootca_cert,
CERTIFICATE own_cert,
PRIVATEKEY priv_key,
char *  configfile_path 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_SimpleVerifyCertificateTime()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_SimpleVerifyCertificateTime ( CERTIFICATE cert,
CERTIFICATE rootca_cert,
CERTIFICATE own_cert,
PRIVATEKEY priv_key,
time_t  checktime,
char *  configfile_path 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_SimplePathValidateCertificate()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_SimplePathValidateCertificate ( CERTIFICATE cert,
CERTIFICATE rootca_cert,
char *  configfile_path 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_VerifyCertPath()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_VerifyCertPath ( CERTIFICATES certificates_on_path,
CERTIFICATE certificate,
CERTIFICATE rootca_cert,
CERTIFICATE own_cert,
PRIVATEKEY priv_key,
char *  configfile_path,
char *  cacert_cachedir 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_VerifyCertsStatus()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_VerifyCertsStatus ( CERTIFICATES certificates_on_path,
CERTIFICATE certificate,
CERTIFICATE rootca_cert,
CERTIFICATE own_cert,
PRIVATEKEY priv_key,
char *  configfile_path,
char *  cacert_cachedir 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_GetCertificatesOnPath()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_GetCertificatesOnPath ( CERTIFICATES certificates_on_path,
CERTIFICATE certificate,
LDAPFINDERLIST ldaplist,
char *  unused,
unsigned int  flags 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_CertificateVerify()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_CertificateVerify ( PATHS verified_path,
CERTIFICATE cert,
CERTIFICATES ca_certs,
CERTIFICATES trusted_certs,
CERTIFICATETRUSTLIST ctl,
POLICYCONTEXT policies,
time_t  verify_time,
unsigned int  flags 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_FullPathCheck()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_FullPathCheck ( CERTIFICATESTATUS finalStatus,
int *  nRevoked,
CERTIFICATES tgtCerts,
CERTIFICATES certificatesOnPath,
CERTIFICATES trustedCerts,
CERTIFICATE ownCert,
PRIVATEKEY privKey,
VACONTEXT inputVaContext,
LDAPFINDERLIST ldaplist,
time_t  verifyTime,
unsigned int  orderFlags 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_CheckRevocation()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_CheckRevocation ( CERTIFICATESTATUS status,
CERTIFICATE tgtCert,
CERTIFICATE tgtIssuerCert,
CERTIFICATES certificatesOnPath,
CERTIFICATES trustedCerts,
CERTIFICATE ownCert,
PRIVATEKEY privKey,
VACONTEXT inputVaContext,
LDAPFINDERLIST ldaplist,
time_t  verifyTime,
unsigned int  orderFlags 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_CTLCheckPath()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_CTLCheckPath ( char *  ctlpath,
CERTIFICATE rootca_cert,
CERTIFICATES path 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_CheckDate100()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_CheckDate100 ( int *  pLeftDays,
CERTIFICATE cert 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_CheckDateMessage()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_CheckDateMessage ( char *  message,
int *  status,
CERTIFICATE cert 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_GetTopCert()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_GetTopCert ( CERTIFICATE topcert,
CERTIFICATE usercert,
char *  configfile_path 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_GetTime()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_GetTime ( time_t *  timeValue,
const char *  timeString 
)
반환값
ISSAC_SUCCESS : 성공

◆ ISSAC_USR_SetCacheDir()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_SetCacheDir ( const char *  cacheDir)

경로검증 시 다운로드 받은 파일을 저장해두는 경로를 지정한다. (default : 현재 디렉토리)

주의
경로의 마지막에 디렉토리 구분자를 입력하지 않도록 한다. (플랫폼에 따라 오류가 발생할 가능성이 있음)
없는 디렉토리를 생성하지는 않으니 디렉토리 생성과 적절한 권한이 필요하다.
반환값
ISSAC_SUCCESS : 성공
매개변수
cacheDir[IN] 캐시 디렉토리 경로
예제
issacapi/usr/sample_usr_path_validation.c, issacapi/usr/sample_usr_path_validation_ex.c.

◆ ISSAC_USR_AddTrustedCaCert()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_AddTrustedCaCert ( CERTIFICATE cert)

신뢰하는 최상위 인증기관의 인증서를 추가한다.

반환값
ISSAC_SUCCESS : 성공
ER_INVALID_INPUT : 입력값 오류
ISSAC_CERTIFICATES_AddCertificate() 리턴값
매개변수
cert[IN] 신뢰하는 최상위 인증기관 인증서

◆ ISSAC_USR_MakeCertPath()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_MakeCertPath ( CERTIFICATES caCerts,
CERTIFICATES trustedCaCerts,
CERTIFICATEREVLIST crl,
DLCONTEXT ldapInfo,
CERTIFICATE cert 
)

경로검증 시 다양한 옵션을 직접 적용할 수 있도록 경로구축만 실행하는 API

주의
LDAP 이 운영되고, CRLDP가 ldap 일 경우에만 가능하다.
반환값
ISSAC_SUCCESS : 성공
참고
ISSAC_CERTIFICATE_VerifyEx()
매개변수
caCerts[OUT] 경로상의 CA 인증서 목록
trustedCaCerts[OUT] 신뢰하는 최상위 인증기관 목록
crl[OUT] 인증서 폐지 목록
ldapInfo[OUT] LDAP 정보
cert[IN] 경로를 구축할 Leaf 인증서
예제
issacapi/usr/sample_usr_path_validation_ex.c.

◆ ISSAC_USR_CertPathValidation()

WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_USR_CertPathValidation ( CERTIFICATE cert)

옵션이 정해져 있는 일반 검증 (일반적인 사용을 위한 API)

주의
LDAP 이 운영되고, CRLDP가 ldap 일 경우에만 가능하다.
반환값
ISSAC_SUCCESS : 성공
매개변수
cert[IN] 경로 검증을 실행할 인증서 (Leaf 인증서)
예제
issacapi/usr/sample_usr_path_validation.c.