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
37 #define issacweb_server_decrypt_s(A, B, C) issacweb_hybrid_decrypt_s(A, B, C, PRIKEY)
41 #define issacweb_server_decrypt(A, B, C, D) issacweb_hybrid_decrypt(A, B, C, D, PRIKEY)
45 #define issacweb_client_encrypt_s(A, B, C, D) issacweb_hybrid_encrypt_s(A, B, C, PUBKEY, D)
49 #define issacweb_client_encrypt(A, B, C, D) issacweb_hybrid_encrypt(A, B, C, PUBKEY, D)
52 typedef enum _ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM {
59 typedef enum _ISSACWEB_SUPPORTED_HASH_ALGORITHM {
69 typedef enum _ISSACWEB_SUPPORTED_PUBLICKEY_ALGORITHM {
77 typedef enum _ISSACWEB_SUPPORTED_PAGE_CHARSET {
205 const int sessionKeySize
565 const char *pubKeyB64
579 const char *privateKeyB64
597 const char *pubKeyB64,
615 const char *privateKeyB64,
647 void *privatekey_info
689 const char *publickey,
690 char *szPubkeyExponent,
702 const char *publickey,
703 char *szPubkeyModulus,
719 const char *publicKeyB64,
750 const char *publicKeyB64,
789 const char *publicKeyB64,
833 const char *publicKeyB64,
847 const char *inputstring,
849 const char *privateKeyB64
863 const char *publicKeyB64,
877 const char *inputstring,
879 const char *privateKeyB64,
895 const char *publicKeyB64,
913 const char *inputB64,
915 const char *privateKeyB64,
932 const char *inputstring,
934 const char *privateKeyB64
948 const char *publicKeyB64,
962 const char *inputstring,
964 const char *privateKeyB64,
986 const char *publicKeyB64,
1013 const char *privateKeyB64,
1030 const char *publicKeyB64,
1048 const char *inputB64,
1050 const char *privateKeyB64,
1101 const char *publicKeyB64,
1118 const char *inputstring,
1141 const char *publicKeyB64,
1164 const char *publicKeyB64,
1184 const char *publicKeyB64,
1209 const char *publicKeyB64,
1229 const char *publicKeyB64,
1334 #ifdef SUPPORT_SHARED_MEMORY
1345 issacweb_hybrid_decrypt2(
1363 issacweb_hybrid_decrypt2_s(
1365 const char *inputB64,
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