WA-SDK  3.0.4.0
WA-SDK
issacweb.h
이 파일의 문서화 페이지로 가기
1 /*
2  * Copyright (C) 2003 PENTA SECURITY SYSTEMS, INC.
3  * All rights reserved
4  *
5  * THIS IS UNPUBLISHED PROPRIETARY
6  * SOURCE CODE OF PENTA SECURITY SYSTEMS, INC.
7  * The copyright notice above does not evidence any actual or intended publication of
8  * such source code.
9  *
10  * Filename : issacweb.h
11  */
12 
13 #ifndef _issacweb_h_
14 #define _issacweb_h_
15 
16 #include "wasdk_public.h"
17 #include "issacwebpro_errorcode.h"
18 
22 
23 #define SHARED_NAME "issacweb_key"
24 #define ISSACWEB_SHARED_ID 1499
25 #define PUBLICKEY_ENC_BUFSIZE (256*4/3+6)
26 #define CERTIFICATE_DEFAULT_BUFSIZE 8192
27 #define PRIVKEY_DEFAULT_BUFSIZE 8192
28 
29 typedef char *issac_string;
30 typedef unsigned char *issac_binary;
31 
32 // 2004. 02. 03
33 // 박정현 : std 용으로 쓸 수 있게 define 추가
34 
37 #define issacweb_server_decrypt_s(A, B, C) issacweb_hybrid_decrypt_s(A, B, C, PRIKEY)
38 
41 #define issacweb_server_decrypt(A, B, C, D) issacweb_hybrid_decrypt(A, B, C, D, PRIKEY)
42 
45 #define issacweb_client_encrypt_s(A, B, C, D) issacweb_hybrid_encrypt_s(A, B, C, PUBKEY, D)
46 
49 #define issacweb_client_encrypt(A, B, C, D) issacweb_hybrid_encrypt(A, B, C, PUBKEY, D)
50 
52 typedef enum _ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM {
57 
59 typedef enum _ISSACWEB_SUPPORTED_HASH_ALGORITHM {
67 
69 typedef enum _ISSACWEB_SUPPORTED_PUBLICKEY_ALGORITHM {
75 
77 typedef enum _ISSACWEB_SUPPORTED_PAGE_CHARSET {
82 
98 
104 
111  char *outstring
112 );
113 
119  int algId
120 );
121 
127 
133  int algId
134 );
135 
141 
148  int algId
149 );
150 
159  issac_string outstring,
160  issac_binary input,
161  int input_len
162 );
163 
172  issac_binary outbuf,
173  issac_string inputstring
174 );
175 
183  char *outstring
184 );
185 
193  char *timestamp,
194  int allowedTimeSec
195 );
196 
204  void *sessionKey,
205  const int sessionKeySize
206 );
207 
214  issac_binary out,
215  int *outlen,
216  char *msg,
217  int msglen
218 );
219 
226  issac_binary out,
227  int *outlen,
228  char *msg,
229  int msglen
230 );
231 
235  issac_binary out,
236  int *outlen,
237  char *msg,
238  int msglen
239 );
240 
247  issac_binary out,
248  int *outlen,
249  char *msg,
250  int msglen,
251  char *hmackey,
252  int hmackey_len
253 );
254 
263  char *enKey,
264  int *enKeyLen,
265  void *deKey,
266  int deKeyLen
267 );
268 
278  void *deKey,
279  int *deKeyLen,
280  char *enKey,
281  int enKeyLen
282 );
283 
292  void *outbuf,
293  void *input,
294  int input_len,
295  void *key
296 );
297 
306  void *outbuf,
307  void *input,
308  int input_len,
309  void *key
310 );
311 
320  void *outbuf,
321  void *input,
322  int input_len,
323  void *key,
324  int cipher_id
325 );
326 
336  void *outbuf,
337  void *input,
338  int input_len,
339  void *key,
340  int cipher_id
341 );
342 
351  char *outstring,
352  void *input,
353  int input_len,
354  void *key
355 );
356 
365  void *outbuf,
366  char *inputstring,
367  void *key
368 );
369 
379  char *outstring,
380  void *input,
381  int input_len,
382  void *key,
383  int cipher_id
384 );
385 
395  void *outbuf,
396  char *inputB64,
397  void *key,
398  int cipher_id
399 );
400 
401 // 2009. 10. 12
402 // 국보연에서 암복화시에 IV를 항상 변하는 값으로 변경요청
403 
412  char *outstring,
413  void *input,
414  int input_len,
415  void *key
416 );
417 
426  void *outbuf,
427  char *inputstring,
428  void *key
429 );
430 
440  char *outstring,
441  void *input,
442  int input_len,
443  void *key,
444  int cipher_id
445 );
446 
456  void *outbuf,
457  char *inputstring,
458  void *key,
459  int cipher_id
460 );
461 
472  void *outbuf,
473  void *input,
474  int input_len,
475  void *key,
476  int cipher_id
477 );
478 
488  void *outbuf,
489  void *input,
490  int input_len,
491  void *key,
492  int cipher_id
493 );
494 
509  char *filePath,
510  void *sessionKey
511 );
512 
528  char *decFilePath,
529  char *filePath,
530  void *sessionKey
531 );
532 
548  char *decFilePath,
549  char *encFilePath,
550  void *sessionKey
551 );
552 
562  void *outbuf,
563  const void *inbuf,
564  int inbufSize,
565  const char *pubKeyB64
566 );
567 
576  void *outbuf,
577  void *inbuf,
578  int inbuf_len,
579  const char *privateKeyB64
580 );
581 
594  void *outbuf,
595  const void *inbuf,
596  int inbufSize,
597  const char *pubKeyB64,
598  int hashId
599 );
600 
612  void *outbuf,
613  void *inbuf,
614  int inbuf_len,
615  const char *privateKeyB64,
616  int hash_id
617 );
618 
630  issac_binary outbuf,
631  issac_binary inbuf,
632  int inbufSize,
633  issac_string certB64
634 );
635 
644  issac_binary outbuf,
645  issac_binary inbuf,
646  int inbuf_len,
647  void *privatekey_info
648 );
649 
659  issac_string outstring,
660  issac_binary inbuf,
661  int inbufSize,
662  issac_string certB64
663 );
664 
676  issac_binary outbuf,
677  issac_string encryptedB64,
678  issac_string privateKeyB64
679 );
680 
689  const char *publickey,
690  char *szPubkeyExponent,
691  int *nExponentLen
692 );
693 
702  const char *publickey,
703  char *szPubkeyModulus,
704  int *nModulusLen
705 );
706 
716  void *outbuf,
717  void *input,
718  int input_len,
719  const char *publicKeyB64,
720  void *key
721 );
722 
732  void *outbuf,
733  void *input,
734  int input_len,
735  void *key,
736  const char *prikey
737 );
738 
747  void *outbuf,
748  void *input,
749  int input_len,
750  const char *publicKeyB64,
751  void *key,
752  int cipher_id
753 );
754 
763  void *outbuf,
764  void *input,
765  int input_len,
766  void *key,
767  const char *prikey,
768  int cipher_id
769 );
770 
786  void *outbuf,
787  void *input,
788  int input_len,
789  const char *publicKeyB64,
790  void *key,
791  int cipher_id,
792  int hash_id
793 );
794 
812  void *outbuf,
813  void *input,
814  int input_len,
815  void *key,
816  const char *prikey,
817  int cipher_id,
818  int hash_id
819 );
820 
830  char *outstring,
831  void *input,
832  int input_len,
833  const char *publicKeyB64,
834  void *key
835 );
836 
846  void *outbuf,
847  const char *inputstring,
848  void *key,
849  const char *privateKeyB64
850 );
851 
860  char *outstring,
861  void *input,
862  int input_len,
863  const char *publicKeyB64,
864  void *key,
865  int cipher_id
866 );
867 
876  void *outbuf,
877  const char *inputstring,
878  void *key,
879  const char *privateKeyB64,
880  int cipher_id
881 );
882 
892  char *outstring,
893  void *input,
894  int input_len,
895  const char *publicKeyB64,
896  void *key,
897  int cipher_id,
898  int hash_id
899 );
900 
912  void *outbuf,
913  const char *inputB64,
914  void *key,
915  const char *privateKeyB64,
916  int cipher_id,
917  int hash_id
918 );
919 
920 // no issacweb_hybrid_encrypt_s_iv
921 
931  void *outbuf,
932  const char *inputstring,
933  void *key,
934  const char *privateKeyB64
935 );
936 
945  char *outstring,
946  void *input,
947  int input_len,
948  const char *publicKeyB64,
949  void *key,
950  int cipher_id
951 );
952 
961  void *outbuf,
962  const char *inputstring,
963  void *key,
964  const char *privateKeyB64,
965  int cipher_id
966 );
967 
983  void *outbuf,
984  void *input,
985  int input_len,
986  const char *publicKeyB64,
987  void *key,
988  int cipher_id,
989  int hash_id
990 );
991 
1007 WA_SDK_API int FUNCCALL
1009  void *outbuf,
1010  void *input,
1011  int input_len,
1012  void *key,
1013  const char *privateKeyB64,
1014  int cipher_id,
1015  int hash_id
1016 );
1017 
1025 WA_SDK_API int FUNCCALL
1027  char *outstring,
1028  void *input,
1029  int input_len,
1030  const char *publicKeyB64,
1031  void *key,
1032  int cipher_id,
1033  int hash_id
1034 );
1035 
1045 WA_SDK_API int FUNCCALL
1047  void *outbuf,
1048  const char *inputB64,
1049  void *key,
1050  const char *privateKeyB64,
1051  int cipher_id,
1052  int hash_id
1053 );
1054 
1062 WA_SDK_API int FUNCCALL
1064  void *outbuf,
1065  void *input,
1066  int input_len,
1067  const char *pub,
1068  void *key
1069 );
1070 
1080 WA_SDK_API int FUNCCALL
1082  void *outbuf,
1083  void *input,
1084  int input_len,
1085  void *key,
1086  const char *prikey
1087 );
1088 
1096 WA_SDK_API int FUNCCALL
1098  char *outstring,
1099  void *input,
1100  int input_len,
1101  const char *publicKeyB64,
1102  void *key
1103 );
1104 
1115 WA_SDK_API int FUNCCALL
1117  void *outbuf,
1118  const char *inputstring,
1119  void *key,
1120  const char *prikey
1121 );
1122 
1136 WA_SDK_API int FUNCCALL
1138  void *outbuf,
1139  void *input,
1140  int input_len,
1141  const char *publicKeyB64,
1142  void *key,
1143  int cipher_id
1144 );
1145 
1159 WA_SDK_API int FUNCCALL
1161  void *outbuf,
1162  void *input,
1163  int inputLen,
1164  const char *publicKeyB64,
1165  void *key,
1166  int cipherId,
1167  int hashAlgId
1168 );
1169 
1170 // no issacweb_hybrid_decrypt_with_sessionkey_ex
1171 
1179 WA_SDK_API int FUNCCALL
1181  char *outstring,
1182  void *input,
1183  int input_len,
1184  const char *publicKeyB64,
1185  void *key,
1186  int cipher_id
1187 );
1188 
1189 // no issacweb_hybrid_decrypt_with_sessionkey_ex_s
1190 
1204 WA_SDK_API int FUNCCALL
1206  void *outbuf,
1207  void *input,
1208  int input_len,
1209  const char *publicKeyB64,
1210  void *key,
1211  int cipher_id
1212 );
1213 
1214 // no issacweb_hybrid_decrypt_with_sessionkey_ex_iv
1215 
1216 
1224 WA_SDK_API int FUNCCALL
1226  char *outstring,
1227  void *input,
1228  int input_len,
1229  const char *publicKeyB64,
1230  void *key,
1231  int cipher_id
1232 );
1233 
1234 // no issacweb_hybrid_decrypt_with_sessionkey_ex_s_iv
1235 
1250 WA_SDK_API int FUNCCALL
1252  issac_binary outbuf,
1253  issac_binary input,
1254  int input_len,
1255  issac_string certB64,
1256  issac_binary key
1257 );
1258 
1267 WA_SDK_API int FUNCCALL
1269  issac_string outstring,
1270  issac_binary input,
1271  int input_len,
1272  issac_string certB64,
1273  issac_binary key
1274 );
1275 
1289 WA_SDK_API int FUNCCALL
1291  void *sessionKey,
1292  char *filePath,
1293  char *pubKey
1294 );
1295 
1296 
1304 WA_SDK_API int FUNCCALL
1306  void *sessionKey,
1307  char *encFilePath,
1308  char *priKey
1309 );
1310 
1311 // no issacweb_hybrid_encrypt_file_ex_s
1312 
1326 WA_SDK_API int FUNCCALL
1328  void *sessionKey,
1329  char *encFilePath,
1330  char *decFilePath,
1331  char *priKey
1332 );
1333 
1334 #ifdef SUPPORT_SHARED_MEMORY
1335 
1344 WA_SDK_API int FUNCCALL
1345 issacweb_hybrid_decrypt2(
1346  void *outbuf,
1347  void *input,
1348  int input_len,
1349  void *key
1350 );
1351 
1362 WA_SDK_API int FUNCCALL
1363 issacweb_hybrid_decrypt2_s(
1364  void *outbuf,
1365  const char *inputB64,
1366  void *key
1367 );
1368 
1369 #endif // SUPPORT_SHARED_MEMORY
1370 
1372 
1373 #endif /* _ISSACWEB_H */
1374 
WA_SDK_API int FUNCCALL issacweb_decrypt(void *outbuf, void *input, int input_len, void *key)
암호문을 복호화한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_ex2_s(char *outstring, void *input, int input_len, const char *publicKeyB64, void *key, int cipher_id, int hash_id)
RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_publickey_encrypt_ex(void *outbuf, const void *inbuf, int inbufSize, const char *pubKeyB64, int hashId)
평문을 RSA 공개키로 암호화한다. (RSAES-OAEP)
WA_SDK_API int FUNCCALL issacweb_publickey_encrypt_c(issac_binary outbuf, issac_binary inbuf, int inbufSize, issac_string certB64)
평문을 RSA 인증서로 암호화한다. (RSAES-OAEP - SHA1)
char * issac_string
Definition: issacweb.h:29
WA_SDK_API int FUNCCALL issacweb_base64_decode(issac_binary outbuf, issac_string inputstring)
입력한 Base64 문자열을 데이터로 디코딩한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_cs(issac_string outstring, issac_binary input, int input_len, issac_string certB64, issac_binary key)
RSA 인증서를 이용하여 하이브리드 암호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_timestamp_get(char *outstring)
타임스탬프 값을 가져온다.
WA_SDK_API int FUNCCALL issacweb_encrypt_s(char *outstring, void *input, int input_len, void *key)
평문을 암호화 후 Base64로 인코딩한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_file_s(void *sessionKey, char *filePath, char *pubKey)
입력한 경로의 파일을 하이브리드 암호화 후 Base64로 인코딩하여 새로운 파일(파일명.enc)에 출력한다.
WA_SDK_API int FUNCCALL issacweb_get_publickey_modulus(const char *publickey, char *szPubkeyModulus, int *nModulusLen)
RSA 공개키에서 modulus 값을 가져온다. (ASN.1 Integer)
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_with_sessionkey_s(char *outstring, void *input, int input_len, const char *publicKeyB64, void *key)
주어진 세션키와 RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.
ISSACWEB_SUPPORTED_PUBLICKEY_ALGORITHM
기존 정의값 호환성 유지 (공개키 알고리즘으로 잘못 정의되어 있던 것. 서명 알고리즘으로 볼 수 있지만 ISSAC-Web 에 서명 기능은 없음)
Definition: issacweb.h:69
WA_SDK_API int FUNCCALL issacweb_hash_message_sha256(issac_binary out, int *outlen, char *msg, int msglen)
메시지를 SHA256 알고리즘으로 해시한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_with_sessionkey_ex_s_iv(char *outstring, void *input, int input_len, const char *publicKeyB64, void *key, int cipher_id)
주어진 세션키와 RSA 공개키를 이용하여 하이브리드 암호화를 실행한다. (Random IV 사용)
WA_SDK_API int FUNCCALL issacweb_decrypt_ex(void *outbuf, void *input, int input_len, void *key, int cipher_id)
암호문을 복호화한다.
WA_SDK_API int FUNCCALL issacweb_decrypt_ex_s(void *outbuf, char *inputB64, void *key, int cipher_id)
암호문(Base64)을 복호화한다.
WA_SDK_API int FUNCCALL issacweb_hmac_message_sha256(issac_binary out, int *outlen, char *msg, int msglen, char *hmackey, int hmackey_len)
SHA256 알고리즘을 이용하여 HMAC을 생성한다.
WA_SDK_API int FUNCCALL issacweb_publickey_decrypt_ex(void *outbuf, void *inbuf, int inbuf_len, const char *privateKeyB64, int hash_id)
RSA 암호문을 RSA 개인키로 복호화한다. (RSAES-OAEP)
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_with_sessionkey(void *outbuf, void *input, int input_len, void *key, const char *prikey)
주어진 세션키와 RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_GetHashAlgorithm()
기본 해시 알고리즘을 가져온다.
WA_SDK_API int FUNCCALL issacweb_getLicenseInfo(char *outstring)
라이선스 정보를 가져온다.
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_ex2_s_iv(void *outbuf, const char *inputB64, void *key, const char *privateKeyB64, int cipher_id, int hash_id)
RSA 개인키를 이용하여 하이브리드 복호화를 실행한다. (Random IV 사용)
WA_SDK_API int FUNCCALL issacweb_hmac_message(issac_binary out, int *outlen, char *msg, int msglen)
no description (특수용도 - issacweb_hmac_message_sha256() 의 SHA1 버전이 아님)
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_file_s(void *sessionKey, char *encFilePath, char *priKey)
암호화 된 파일(Base64)을 복호화 후 새로운 파일(암호화 된 파일 경로에서 .뒤의 값 삭제) 에 출력한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_ex_s_iv(char *outstring, void *input, int input_len, const char *publicKeyB64, void *key, int cipher_id)
RSA 공개키를 이용하여 하이브리드 암호화를 실행한다. (Random IV 사용)
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_s(void *outbuf, const char *inputstring, void *key, const char *privateKeyB64)
RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_with_sessionkey_ex_s(char *outstring, void *input, int input_len, const char *publicKeyB64, void *key, int cipher_id)
주어진 세션키와 RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_ex2_iv(void *outbuf, void *input, int input_len, void *key, const char *privateKeyB64, int cipher_id, int hash_id)
RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_decrypt_s(void *outbuf, char *inputstring, void *key)
암호문(Base64)을 복호화한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_with_sessionkey_ex_iv(void *outbuf, void *input, int input_len, const char *publicKeyB64, void *key, int cipher_id)
주어진 세션키와 RSA 공개키를 이용하여 하이브리드 암호화를 실행한다. (Random IV 사용)
WA_SDK_API int FUNCCALL issacweb_encrypt_ex(void *outbuf, void *input, int input_len, void *key, int cipher_id)
평문을 암호화한다.
WA_SDK_API int FUNCCALL issacweb_SetSymAlgorithm(int algId)
기본 대칭키 알고리즘을 설정한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_with_sessionkey(void *outbuf, void *input, int input_len, const char *pub, void *key)
주어진 세션키와 RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_create_sessionkey(void *sessionKey, const int sessionKeySize)
세션키를 생성한다.
WA_SDK_API int FUNCCALL issacweb_encrypt(void *outbuf, void *input, int input_len, void *key)
평문을 암호화한다.
WA_SDK_API int FUNCCALL issacweb_base64_encode(issac_string outstring, issac_binary input, int input_len)
입력한 데이터를 Base64 문자열로 인코딩한다.
WA_SDK_API int FUNCCALL issacweb_hash_message(issac_binary out, int *outlen, char *msg, int msglen)
메시지를 SHA1 알고리즘으로 해시한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_ex2_s_iv(char *outstring, void *input, int input_len, const char *publicKeyB64, void *key, int cipher_id, int hash_id)
RSA 공개키를 이용하여 하이브리드 암호화를 실행한다. (Random IV 사용)
ISSACWEB_SUPPORTED_PAGE_CHARSET
문자열의 문자셋(Character Set - Code Page)
Definition: issacweb.h:77
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_ex(void *outbuf, void *input, int input_len, const char *publicKeyB64, void *key, int cipher_id)
RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_with_sessionkey_s(void *outbuf, const char *inputstring, void *key, const char *prikey)
주어진 세션키와 RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt(void *outbuf, void *input, int input_len, void *key, const char *prikey)
RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_decrypt_ex_s_iv(void *outbuf, char *inputstring, void *key, int cipher_id)
IV Seed 값 + 암호문 (Base64) 을 복호화한다.
WA_SDK_API int FUNCCALL issacweb_EncodeWithAlpah(char *enKey, int *enKeyLen, void *deKey, int deKeyLen)
5bit 단위로 끊어서 [0-9A-V] 의 32가지 문자로 인코딩한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_with_sessionkey_ex2(void *outbuf, void *input, int inputLen, const char *publicKeyB64, void *key, int cipherId, int hashAlgId)
주어진 세션키와 RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_encrypt_ex_iv(void *outbuf, void *input, int input_len, void *key, int cipher_id)
평문을 암호화 후 IV Seed 값 뒤에 붙인다.
WA_SDK_API int FUNCCALL issacweb_decrypt_s_iv(void *outbuf, char *inputstring, void *key)
IV Seed 값 + 암호문 (Base64) 을 복호화한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt(void *outbuf, void *input, int input_len, const char *publicKeyB64, void *key)
RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_decrypt_file_lm_s(char *decFilePath, char *encFilePath, void *sessionKey)
암호화 된 파일(Base64)을 복호화 후 새로운 파일에 출력한다. (최대 65536 크기만큼 나누어서 복호화한다)
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_s_iv(void *outbuf, const char *inputstring, void *key, const char *privateKeyB64)
RSA 개인키를 이용하여 하이브리드 복호화를 실행한다. (Random IV 사용)
WA_SDK_API int FUNCCALL issacweb_timestamp_verify(char *timestamp, int allowedTimeSec)
타임스탬프 값을 검증한다.
WA_SDK_API int FUNCCALL issacweb_encrypt_s_iv(char *outstring, void *input, int input_len, void *key)
평문을 암호화 후 IV Seed 값 뒤에 붙여서 Base64로 인코딩한다.
WA_SDK_API int FUNCCALL issacweb_publickey_decrypt_cs(issac_binary outbuf, issac_string encryptedB64, issac_string privateKeyB64)
RSA 암호문(Base64)을 RSA 개인키를 가진 PKCS#8 개인키로 복호화한다. (RSAES-OAEP - SHA1)
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_c(issac_binary outbuf, issac_binary input, int input_len, issac_string certB64, issac_binary key)
RSA 인증서를 이용하여 하이브리드 암호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_encrypt_ex_s(char *outstring, void *input, int input_len, void *key, int cipher_id)
평문을 암호화 후 Base64로 인코딩한다.
WA_SDK_API int FUNCCALL issacweb_encrypt_ex_s_iv(char *outstring, void *input, int input_len, void *key, int cipher_id)
평문을 암호화 후 IV Seed 값 뒤에 붙여서 Base64로 인코딩한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_ex_s_iv(void *outbuf, const char *inputstring, void *key, const char *privateKeyB64, int cipher_id)
RSA 개인키를 이용하여 하이브리드 복호화를 실행한다. (Random IV 사용)
WA_SDK_API int FUNCCALL issacweb_FinalizeCIS()
모듈을 종료한다.
ISSACWEB_SUPPORTED_HASH_ALGORITHM
해시 알고리즘 종류
Definition: issacweb.h:59
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_s(char *outstring, void *input, int input_len, const char *publicKeyB64, void *key)
RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_ex(void *outbuf, void *input, int input_len, void *key, const char *prikey, int cipher_id)
RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_publickey_decrypt(void *outbuf, void *inbuf, int inbuf_len, const char *privateKeyB64)
RSA 암호문을 RSA 개인키로 복호화한다. (RSAES-OAEP)
WA_SDK_API int FUNCCALL issacweb_InitializeCIS()
모듈 초기화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_with_sessionkey_ex(void *outbuf, void *input, int input_len, const char *publicKeyB64, void *key, int cipher_id)
주어진 세션키와 RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_encrypt_file_s(char *filePath, void *sessionKey)
평문을 암호화 후 Base64로 인코딩하여 새로운 파일(파일명.enc)에 출력한다.
WA_SDK_API int FUNCCALL issacweb_SetAsymAlgorithm(int algId)
기본 공개키(실제로는 해시) 알고리즘을 설정한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_ex2_s(void *outbuf, const char *inputB64, void *key, const char *privateKeyB64, int cipher_id, int hash_id)
RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_DecodeWithAlpah(void *deKey, int *deKeyLen, char *enKey, int enKeyLen)
issacweb_EncodeWithAlpah()로 인코딩 된 문자열을 디코딩한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_ex2_iv(void *outbuf, void *input, int input_len, const char *publicKeyB64, void *key, int cipher_id, int hash_id)
RSA 공개키를 이용하여 하이브리드 암호화를 실행한다. (Random IV 사용)
WA_SDK_API int FUNCCALL issacweb_decrypt_ex_iv(void *outbuf, void *input, int input_len, void *key, int cipher_id)
IV Seed 값 + 암호문을 복호화한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_file_ex_s(void *sessionKey, char *encFilePath, char *decFilePath, char *priKey)
암호화 된 파일(Base64)을 복호화 후 새로운 파일에 출력한다.
WA_SDK_API int FUNCCALL issacweb_publickey_decrypt_c(issac_binary outbuf, issac_binary inbuf, int inbuf_len, void *privatekey_info)
RSA 암호문을 RSA 개인키를 가진 PKCS#8 개인키로 복호화한다. (RSAES-OAEP - SHA1)
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_ex2(void *outbuf, void *input, int input_len, const char *publicKeyB64, void *key, int cipher_id, int hash_id)
RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_ex2(void *outbuf, void *input, int input_len, void *key, const char *prikey, int cipher_id, int hash_id)
RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_ex_s(void *outbuf, const char *inputstring, void *key, const char *privateKeyB64, int cipher_id)
RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_GetSymAlgorithm()
기본 대칭키 알고리즘을 가져온다.
WA_SDK_API int FUNCCALL issacweb_publickey_encrypt_cs(issac_string outstring, issac_binary inbuf, int inbufSize, issac_string certB64)
평문을 RSA 인증서로 암호화 후 Base64로 인코딩한다. (RSAES-OAEP - SHA1)
unsigned char * issac_binary
Definition: issacweb.h:30
WA_SDK_API int FUNCCALL issacweb_get_publickey_exponent(const char *publickey, char *szPubkeyExponent, int *nExponentLen)
RSA 공개키에서 public exponent 값을 가져온다. (ASN.1 Integer)
WA_SDK_API int FUNCCALL issacweb_SetHashAlgorithm(int algId)
기본 해시 알고리즘을 설정한다.
WA_SDK_API int FUNCCALL issacweb_publickey_encrypt(void *outbuf, const void *inbuf, int inbufSize, const char *pubKeyB64)
평문을 RSA 공개키로 암호화한다. (RSAES-OAEP)
WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_ex_s(char *outstring, void *input, int input_len, const char *publicKeyB64, void *key, int cipher_id)
RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.
WA_SDK_API int FUNCCALL issacweb_decrypt_file_s(char *decFilePath, char *filePath, void *sessionKey)
암호화 된 파일(Base64)을 복호화 후 새로운 파일에 출력한다.
ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM
대칭키 알고리즘
Definition: issacweb.h:52
@ ISSACWEB_RSA_SHA256
Definition: issacweb.h:71
@ ISSACWEB_RSA_SHA384
Definition: issacweb.h:72
@ ISSACWEB_RSA_SHA512
Definition: issacweb.h:73
@ ISSACWEB_RSA_SHA1
Definition: issacweb.h:70
@ ISSACWEB_CHARSET_EUCKR
EUC-KR
Definition: issacweb.h:79
@ ISSACWEB_CHARSET_NOT_ENCODING
JVM 의존적
Definition: issacweb.h:78
@ ISSACWEB_CHARSET_UTF8
UTF-8
Definition: issacweb.h:80
@ ISSACWEB_HAS160
HAS160
Definition: issacweb.h:64
@ ISSACWEB_MD5
MD5
Definition: issacweb.h:65
@ ISSACWEB_SHA1
SHA1
Definition: issacweb.h:60
@ ISSACWEB_SHA512
SHA512
Definition: issacweb.h:63
@ ISSACWEB_SHA256
SHA256
Definition: issacweb.h:61
@ ISSACWEB_SHA384
SHA384
Definition: issacweb.h:62
@ ISSACWEB_AES256
AES256
Definition: issacweb.h:55
@ ISSACWEB_ARIA
ARIA
Definition: issacweb.h:54
@ ISSACWEB_SEED
SEED
Definition: issacweb.h:53
#define FUNCCALL
Definition: wasdk_public.h:9
#define WA_SDK_API
Definition: wasdk_public.h:27