1 #ifndef _issacapi_pfx_h
2 #define _issacapi_pfx_h
11 #define PFX_CONTEXT_MAXNUMOFSAFEBAGS 10
22 typedef struct _SAFEBAG {
27 typedef struct _PFX_CONTEXT {
55 unsigned char *pfxData,
59 const char *pfxPassword,
62 const unsigned char *salt,
84 const char *pfxPassword
139 const char *password,
141 const unsigned char *salt,
157 const unsigned char *pkiData,
172 const unsigned char *epkiData,
184 unsigned char *outBuffer,
201 unsigned char *outBuffer,
206 const void *localKeyId,
220 const void *localKeyId,
237 const void *localKeyId,
255 const void *localKeyId,
257 const char *privateKeyPassword
277 const void *localKeyId,
279 const char *privateKeyPassword
316 unsigned char *outBuffer,
unsigned int ISSAC_RETURN
ISSAC-API 실행 결과 [ ISSACAPI_BASIC_RETURN, ISSACAPI_ERRORS, ISSAC_LICENSE_ERR ]
Definition: issacapi_bs_definitions.h:32
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_GetLocalKeyID(unsigned char *outBuffer, int *outSize, int outBufferSize, const PFX_CONTEXT *pfxContext, int bagIndex)
SafeBag의 LocalKeyID를 가져온다.
WA_SDK_API void FUNCCALL ISSAC_PFX_Delete(PFX_CONTEXT *pfxContext)
PFX_CONTEXT 에 할당된 메모리를 해제한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_GetOtherCertificates(CERTIFICATES *certificates, const PFX_CONTEXT *pfxContext)
LocalKeyID 가 없는 인증서들을 가져온다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_GetValue(unsigned char *outBuffer, int *outSize, int outBufferSize, const PFX_CONTEXT *pfxContext, int bagIndex)
SafeBag 의 데이터를 가져온다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_AddCertificateAndPrivateKeyInfo(PFX_CONTEXT *pfxContext, const CERTIFICATE *cert, const unsigned char *pkiData, int pkiSize)
PFX 에 인증서와 암호화되지 않은 개인키를 추가한다.
ISSACAPI_BAGTYPE
PFX의 SafeBag 종류 (https://tools.ietf.org/html/rfc7292#section-4.2)
Definition: issacapi_pfx.h:14
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_HasBag(const PFX_CONTEXT *pfxContext, ISSACAPI_BAGTYPE bagType, const void *localKeyId, int localKeyIdSize)
입력한 SafeBag 타입, LocalKeyID (Optional) 와 일치하는 SafeBag 이 존재하는지 여부를 확인한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_AddCertificateAndPrivateKey(PFX_CONTEXT *pfxContext, const CERTIFICATE *cert, const PRIVATEKEY *privateKey)
PFX 에 인증서와 개인키를 암호화 없이 그대로 추가한다.
#define PFX_CONTEXT_MAXNUMOFSAFEBAGS
Definition: issacapi_pfx.h:11
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_GetValueWithType(unsigned char *outBuffer, int *outSize, int outBufferSize, const PFX_CONTEXT *pfxContext, ISSACAPI_BAGTYPE bagType, const void *localKeyId, int localKeyIdSize)
입력한 SafeBag 타입, LocalKeyID (Optional) 와 일치하는 SafeBag 의 데이터를 가져온다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_GetBagType(ISSACAPI_BAGTYPE *bagType, const PFX_CONTEXT *pfxContext, int bagIndex)
SafeBag의 Type을 가져온다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_GetPrivateKey(PRIVATEKEY *privateKey, const PFX_CONTEXT *pfxContext, const void *localKeyId, int localKeyIdSize, const char *privateKeyPassword)
입력한 LocalKeyID 와 일치하는 개인키를 가져온다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_Encode(unsigned char *pfxData, int *pfxDataSize, int pfxBufSize, const PFX_CONTEXT *pfxContext, const char *pfxPassword, int hashAlg, int pbeEncAlg, const unsigned char *salt, int saltSize, int iteration)
입력된 PFX 데이터들을 인코딩한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_GetCertificate(CERTIFICATE *certificate, const PFX_CONTEXT *pfxContext, const void *localKeyId, int localKeyIdSize)
입력한 LocalKeyID 와 일치하는 인증서를 가져온다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_AddCertificateAndPrivateKeyWithEncrypt(PFX_CONTEXT *pfxContext, const CERTIFICATE *cert, const PRIVATEKEY *privateKey, const char *password, int pbeEncAlg, const unsigned char *salt, int saltSize, int iteration)
PFX 에 인증서와 개인키를 입력받은 비밀번호로 암호화(PBE)하여 추가한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_GetCertificateAndPrivateKey(CERTIFICATE *certificate, PRIVATEKEY *privateKey, const PFX_CONTEXT *pfxContext, const void *localKeyId, int localKeyIdSize, const char *privateKeyPassword)
입력한 LocalKeyID 와 일치하는 인증서와 개인키를 가져온다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_AddCertificates(PFX_CONTEXT *pfxContext, const CERTIFICATES *certs)
PFX 에 인증서들을 추가한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_AddCertificate(PFX_CONTEXT *pfxContext, const CERTIFICATE *cert)
PFX 에 인증서만 하나 추가한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_Create(PFX_CONTEXT *pfxContext)
PFX_CONTEXT 구조체를 초기화한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_AddCertificateAndEncryptedPrivateKeyInfo(PFX_CONTEXT *pfxContext, const CERTIFICATE *cert, const unsigned char *epkiData, int epkiSize)
PFX 에 인증서와 암호화 된 개인키를 추가한다.
WA_SDK_API ISSAC_RETURN FUNCCALL ISSAC_PFX_Decode(PFX_CONTEXT *pfxContext, const void *pfxData, int pfxDataSize, const char *pfxPassword)
PFX 를 디코딩한다.
@ ISSACAPI_BAGTYPE_KEY_ENCRYPTED
암호화 된 개인키 (PKCS #8 - EncryptedPrivateKeyInfo)
Definition: issacapi_pfx.h:16
@ ISSACAPI_BAGTYPE_KEY
개인키 (PKCS #8 - PrivateKeyInfo)
Definition: issacapi_pfx.h:15
@ ISSACAPI_BAGTYPE_CRL
인증서 폐지 목록 (X.509 CRL)
Definition: issacapi_pfx.h:18
@ ISSACAPI_BAGTYPE_CERT
인증서 형식과 인증서 (X.509 Certificate. SDSI 는 지원하지 않음)
Definition: issacapi_pfx.h:17
인증서에 대한 컨텍스트
Definition: issacapi_bs_definitions.h:106
인증서 집합에 대한 컨텍스트
Definition: issacapi_bs_definitions.h:114
PFX 구조체
Definition: issacapi_pfx.h:27
int keyPairCount
Definition: issacapi_pfx.h:30
int count
Definition: issacapi_pfx.h:28
PKCS#8 형식의 개인키에 대한 컨텍스트
Definition: issacapi_bs_definitions.h:152
PFX의 SafeBag 구조체
Definition: issacapi_pfx.h:22
void * context
Definition: issacapi_pfx.h:23
#define FUNCCALL
Definition: wasdk_public.h:9
#define WA_SDK_API
Definition: wasdk_public.h:27