WA-SDK  3.0.4.0
WA-SDK
issacapi_pfx.h
이 파일의 문서화 페이지로 가기
1 #ifndef _issacapi_pfx_h
2 #define _issacapi_pfx_h
3 
4 #include "issacapi.h"
5 
10 
11 #define PFX_CONTEXT_MAXNUMOFSAFEBAGS 10
12 
14 typedef enum {
20 
22 typedef struct _SAFEBAG {
23  void *context;
24 } SAFEBAG;
25 
27 typedef struct _PFX_CONTEXT {
28  int count;
31 } PFX_CONTEXT;
32 
41  PFX_CONTEXT *pfxContext
42 );
43 
55  unsigned char *pfxData,
56  int* pfxDataSize,
57  int pfxBufSize,
58  const PFX_CONTEXT *pfxContext,
59  const char *pfxPassword,
60  int hashAlg,
61  int pbeEncAlg,
62  const unsigned char *salt,
63  int saltSize,
64  int iteration
65 );
66 
70  PFX_CONTEXT *pfxContext
71 );
72 
81  PFX_CONTEXT *pfxContext,
82  const void *pfxData,
83  int pfxDataSize,
84  const char *pfxPassword
85 );
86 
95  PFX_CONTEXT *pfxContext,
96  const CERTIFICATE *cert
97 );
98 
107  PFX_CONTEXT *pfxContext,
108  const CERTIFICATES *certs
109 );
110 
120  PFX_CONTEXT *pfxContext,
121  const CERTIFICATE *cert,
122  const PRIVATEKEY *privateKey
123 );
124 
136  PFX_CONTEXT *pfxContext,
137  const CERTIFICATE *cert,
138  const PRIVATEKEY *privateKey,
139  const char *password,
140  int pbeEncAlg,
141  const unsigned char *salt,
142  int saltSize,
143  int iteration
144 );
145 
155  PFX_CONTEXT *pfxContext,
156  const CERTIFICATE *cert,
157  const unsigned char *pkiData,
158  int pkiSize
159 );
160 
170  PFX_CONTEXT *pfxContext,
171  const CERTIFICATE *cert,
172  const unsigned char *epkiData,
173  int epkiSize
174 );
175 
184  unsigned char *outBuffer,
185  int* outSize,
186  int outBufferSize,
187  const PFX_CONTEXT *pfxContext,
188  int bagIndex
189 );
190 
201  unsigned char *outBuffer,
202  int* outSize,
203  int outBufferSize,
204  const PFX_CONTEXT *pfxContext,
205  ISSACAPI_BAGTYPE bagType,
206  const void *localKeyId,
207  int localKeyIdSize
208 );
209 
218  const PFX_CONTEXT *pfxContext,
219  ISSACAPI_BAGTYPE bagType,
220  const void *localKeyId,
221  int localKeyIdSize
222 );
223 
235  CERTIFICATE *certificate,
236  const PFX_CONTEXT *pfxContext,
237  const void *localKeyId,
238  int localKeyIdSize
239 );
240 
253  PRIVATEKEY *privateKey,
254  const PFX_CONTEXT *pfxContext,
255  const void *localKeyId,
256  int localKeyIdSize,
257  const char *privateKeyPassword
258 );
259 
274  CERTIFICATE *certificate,
275  PRIVATEKEY *privateKey,
276  const PFX_CONTEXT *pfxContext,
277  const void *localKeyId,
278  int localKeyIdSize,
279  const char *privateKeyPassword
280 );
281 
292  CERTIFICATES *certificates,
293  const PFX_CONTEXT *pfxContext
294 );
295 
303  ISSACAPI_BAGTYPE *bagType,
304  const PFX_CONTEXT *pfxContext,
305  int bagIndex
306 );
307 
316  unsigned char *outBuffer,
317  int *outSize,
318  int outBufferSize,
319  const PFX_CONTEXT *pfxContext,
320  int bagIndex
321 );
322 
324 
325 #endif /* _issacapi_pfx.h */
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