WA-SDK  3.0.4.0
WA-SDK
ISSAC-Web

기존에 ISSAC-Web 이라는 제품명으로 제공되던 기능들 더 자세히 ...

매크로

#define SHARED_NAME   "issacweb_key"
 
#define ISSACWEB_SHARED_ID   1499
 
#define PUBLICKEY_ENC_BUFSIZE   (256*4/3+6)
 
#define CERTIFICATE_DEFAULT_BUFSIZE   8192
 
#define PRIVKEY_DEFAULT_BUFSIZE   8192
 
#define issacweb_server_decrypt_s(A, B, C)   issacweb_hybrid_decrypt_s(A, B, C, PRIKEY)
 구버전 호환기능 - 하이브리드 복호화 (PRIKEY 가 정의되어 있어야 함) 더 자세히 ...
 
#define issacweb_server_decrypt(A, B, C, D)   issacweb_hybrid_decrypt(A, B, C, D, PRIKEY)
 구버전 호환기능 - 하이브리드 복호화 (PRIKEY 가 정의되어 있어야 함) 더 자세히 ...
 
#define issacweb_client_encrypt_s(A, B, C, D)   issacweb_hybrid_encrypt_s(A, B, C, PUBKEY, D)
 구버전 호환기능 - 하이브리드 암호화 (PUBKEY 가 정의되어 있어야 함) 더 자세히 ...
 
#define issacweb_client_encrypt(A, B, C, D)   issacweb_hybrid_encrypt(A, B, C, PUBKEY, D)
 구버전 호환기능 - 하이브리드 암호화 (PUBKEY 가 정의되어 있어야 함) 더 자세히 ...
 

타입정의

typedef char * issac_string
 
typedef unsigned char * issac_binary
 

열거형 타입

enum  ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM { ISSACWEB_SEED = 1 , ISSACWEB_ARIA , ISSACWEB_AES256 }
 대칭키 알고리즘 더 자세히 ...
 
enum  ISSACWEB_SUPPORTED_HASH_ALGORITHM {
  ISSACWEB_SHA1 = 1 , ISSACWEB_SHA256 , ISSACWEB_SHA384 , ISSACWEB_SHA512 ,
  ISSACWEB_HAS160 , ISSACWEB_MD5
}
 해시 알고리즘 종류 더 자세히 ...
 
enum  ISSACWEB_SUPPORTED_PUBLICKEY_ALGORITHM { ISSACWEB_RSA_SHA1 = ISSACWEB_SHA1 , ISSACWEB_RSA_SHA256 = ISSACWEB_SHA256 , ISSACWEB_RSA_SHA384 = ISSACWEB_SHA384 , ISSACWEB_RSA_SHA512 = ISSACWEB_SHA512 }
 기존 정의값 호환성 유지 (공개키 알고리즘으로 잘못 정의되어 있던 것. 서명 알고리즘으로 볼 수 있지만 ISSAC-Web 에 서명 기능은 없음) 더 자세히 ...
 
enum  ISSACWEB_SUPPORTED_PAGE_CHARSET { ISSACWEB_CHARSET_NOT_ENCODING = 1 , ISSACWEB_CHARSET_EUCKR , ISSACWEB_CHARSET_UTF8 }
 문자열의 문자셋(Character Set - Code Page) 더 자세히 ...
 

함수

WA_SDK_API int FUNCCALL issacweb_InitializeCIS ()
 모듈 초기화를 실행한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_FinalizeCIS ()
 모듈을 종료한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_getLicenseInfo (char *outstring)
 라이선스 정보를 가져온다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_SetSymAlgorithm (int algId)
 기본 대칭키 알고리즘을 설정한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_GetSymAlgorithm ()
 기본 대칭키 알고리즘을 가져온다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_SetHashAlgorithm (int algId)
 기본 해시 알고리즘을 설정한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_GetHashAlgorithm ()
 기본 해시 알고리즘을 가져온다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_SetAsymAlgorithm (int algId)
 기본 공개키(실제로는 해시) 알고리즘을 설정한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_base64_encode (issac_string outstring, issac_binary input, int input_len)
 입력한 데이터를 Base64 문자열로 인코딩한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_base64_decode (issac_binary outbuf, issac_string inputstring)
 입력한 Base64 문자열을 데이터로 디코딩한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_timestamp_get (char *outstring)
 타임스탬프 값을 가져온다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_timestamp_verify (char *timestamp, int allowedTimeSec)
 타임스탬프 값을 검증한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_create_sessionkey (void *sessionKey, const int sessionKeySize)
 세션키를 생성한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_hash_message (issac_binary out, int *outlen, char *msg, int msglen)
 메시지를 SHA1 알고리즘으로 해시한다. 더 자세히 ...
 
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_hmac_message (issac_binary out, int *outlen, char *msg, int msglen)
 no description (특수용도 - issacweb_hmac_message_sha256() 의 SHA1 버전이 아님) 더 자세히 ...
 
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_EncodeWithAlpah (char *enKey, int *enKeyLen, void *deKey, int deKeyLen)
 5bit 단위로 끊어서 [0-9A-V] 의 32가지 문자로 인코딩한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_DecodeWithAlpah (void *deKey, int *deKeyLen, char *enKey, int enKeyLen)
 issacweb_EncodeWithAlpah()로 인코딩 된 문자열을 디코딩한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_encrypt (void *outbuf, void *input, int input_len, void *key)
 평문을 암호화한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_decrypt (void *outbuf, void *input, int input_len, void *key)
 암호문을 복호화한다. 더 자세히 ...
 
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_decrypt_ex (void *outbuf, void *input, int input_len, void *key, int cipher_id)
 암호문을 복호화한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_encrypt_s (char *outstring, void *input, int input_len, void *key)
 평문을 암호화 후 Base64로 인코딩한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_decrypt_s (void *outbuf, char *inputstring, void *key)
 암호문(Base64)을 복호화한다. 더 자세히 ...
 
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_decrypt_ex_s (void *outbuf, char *inputB64, void *key, int cipher_id)
 암호문(Base64)을 복호화한다. 더 자세히 ...
 
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_decrypt_s_iv (void *outbuf, char *inputstring, void *key)
 IV Seed 값 + 암호문 (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_decrypt_ex_s_iv (void *outbuf, char *inputstring, void *key, int cipher_id)
 IV Seed 값 + 암호문 (Base64) 을 복호화한다. 더 자세히 ...
 
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_ex_iv (void *outbuf, void *input, int input_len, void *key, int cipher_id)
 IV Seed 값 + 암호문을 복호화한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_encrypt_file_s (char *filePath, void *sessionKey)
 평문을 암호화 후 Base64로 인코딩하여 새로운 파일(파일명.enc)에 출력한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_decrypt_file_s (char *decFilePath, char *filePath, void *sessionKey)
 암호화 된 파일(Base64)을 복호화 후 새로운 파일에 출력한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_decrypt_file_lm_s (char *decFilePath, char *encFilePath, void *sessionKey)
 암호화 된 파일(Base64)을 복호화 후 새로운 파일에 출력한다. (최대 65536 크기만큼 나누어서 복호화한다) 더 자세히 ...
 
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_publickey_decrypt (void *outbuf, void *inbuf, int inbuf_len, const char *privateKeyB64)
 RSA 암호문을 RSA 개인키로 복호화한다. (RSAES-OAEP) 더 자세히 ...
 
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_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_publickey_encrypt_c (issac_binary outbuf, issac_binary inbuf, int inbufSize, issac_string certB64)
 평문을 RSA 인증서로 암호화한다. (RSAES-OAEP - SHA1) 더 자세히 ...
 
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_publickey_encrypt_cs (issac_string outstring, issac_binary inbuf, int inbufSize, issac_string certB64)
 평문을 RSA 인증서로 암호화 후 Base64로 인코딩한다. (RSAES-OAEP - SHA1) 더 자세히 ...
 
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_get_publickey_exponent (const char *publickey, char *szPubkeyExponent, int *nExponentLen)
 RSA 공개키에서 public exponent 값을 가져온다. (ASN.1 Integer) 더 자세히 ...
 
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 (void *outbuf, void *input, int input_len, const char *publicKeyB64, void *key)
 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_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_ex (void *outbuf, void *input, int input_len, void *key, const char *prikey, int cipher_id)
 RSA 개인키를 이용하여 하이브리드 복호화를 실행한다. 더 자세히 ...
 
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_encrypt_s (char *outstring, void *input, int input_len, const char *publicKeyB64, void *key)
 RSA 공개키를 이용하여 하이브리드 암호화를 실행한다. 더 자세히 ...
 
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_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_ex_s (void *outbuf, const char *inputstring, void *key, const char *privateKeyB64, int cipher_id)
 RSA 개인키를 이용하여 하이브리드 복호화를 실행한다. 더 자세히 ...
 
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_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_hybrid_decrypt_s_iv (void *outbuf, const char *inputstring, void *key, const char *privateKeyB64)
 RSA 개인키를 이용하여 하이브리드 복호화를 실행한다. (Random IV 사용) 더 자세히 ...
 
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_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_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_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_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 사용) 더 자세히 ...
 
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_hybrid_encrypt_with_sessionkey (void *outbuf, void *input, int input_len, const char *pub, void *key)
 주어진 세션키와 RSA 공개키를 이용하여 하이브리드 암호화를 실행한다. 더 자세히 ...
 
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_hybrid_encrypt_with_sessionkey_s (char *outstring, void *input, int input_len, const char *publicKeyB64, void *key)
 주어진 세션키와 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_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_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_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_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_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_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_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_hybrid_encrypt_file_s (void *sessionKey, char *filePath, char *pubKey)
 입력한 경로의 파일을 하이브리드 암호화 후 Base64로 인코딩하여 새로운 파일(파일명.enc)에 출력한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_file_s (void *sessionKey, char *encFilePath, char *priKey)
 암호화 된 파일(Base64)을 복호화 후 새로운 파일(암호화 된 파일 경로에서 .뒤의 값 삭제) 에 출력한다. 더 자세히 ...
 
WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_file_ex_s (void *sessionKey, char *encFilePath, char *decFilePath, char *priKey)
 암호화 된 파일(Base64)을 복호화 후 새로운 파일에 출력한다. 더 자세히 ...
 

상세한 설명

기존에 ISSAC-Web 이라는 제품명으로 제공되던 기능들

매크로 문서화

◆ SHARED_NAME

#define SHARED_NAME   "issacweb_key"

◆ ISSACWEB_SHARED_ID

#define ISSACWEB_SHARED_ID   1499

◆ PUBLICKEY_ENC_BUFSIZE

#define PUBLICKEY_ENC_BUFSIZE   (256*4/3+6)

◆ CERTIFICATE_DEFAULT_BUFSIZE

#define CERTIFICATE_DEFAULT_BUFSIZE   8192

◆ PRIVKEY_DEFAULT_BUFSIZE

#define PRIVKEY_DEFAULT_BUFSIZE   8192

◆ issacweb_server_decrypt_s

#define issacweb_server_decrypt_s (   A,
  B,
 
)    issacweb_hybrid_decrypt_s(A, B, C, PRIKEY)

구버전 호환기능 - 하이브리드 복호화 (PRIKEY 가 정의되어 있어야 함)

참고
issacweb_hybrid_decrypt_s()

◆ issacweb_server_decrypt

#define issacweb_server_decrypt (   A,
  B,
  C,
 
)    issacweb_hybrid_decrypt(A, B, C, D, PRIKEY)

구버전 호환기능 - 하이브리드 복호화 (PRIKEY 가 정의되어 있어야 함)

참고
issacweb_hybrid_decrypt()

◆ issacweb_client_encrypt_s

#define issacweb_client_encrypt_s (   A,
  B,
  C,
 
)    issacweb_hybrid_encrypt_s(A, B, C, PUBKEY, D)

구버전 호환기능 - 하이브리드 암호화 (PUBKEY 가 정의되어 있어야 함)

참고
issacweb_hybrid_encrypt_s()

◆ issacweb_client_encrypt

#define issacweb_client_encrypt (   A,
  B,
  C,
 
)    issacweb_hybrid_encrypt(A, B, C, PUBKEY, D)

구버전 호환기능 - 하이브리드 암호화 (PUBKEY 가 정의되어 있어야 함)

참고
issacweb_hybrid_encrypt()

타입정의 문서화

◆ issac_string

typedef char* issac_string

◆ issac_binary

typedef unsigned char* issac_binary

열거형 타입 문서화

◆ ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM

대칭키 알고리즘

열거형 멤버
ISSACWEB_SEED 

SEED

ISSACWEB_ARIA 

ARIA

ISSACWEB_AES256 

AES256

◆ ISSACWEB_SUPPORTED_HASH_ALGORITHM

해시 알고리즘 종류

열거형 멤버
ISSACWEB_SHA1 

SHA1

ISSACWEB_SHA256 

SHA256

ISSACWEB_SHA384 

SHA384

ISSACWEB_SHA512 

SHA512

ISSACWEB_HAS160 

HAS160

ISSACWEB_MD5 

MD5

◆ ISSACWEB_SUPPORTED_PUBLICKEY_ALGORITHM

기존 정의값 호환성 유지 (공개키 알고리즘으로 잘못 정의되어 있던 것. 서명 알고리즘으로 볼 수 있지만 ISSAC-Web 에 서명 기능은 없음)

열거형 멤버
ISSACWEB_RSA_SHA1 
ISSACWEB_RSA_SHA256 
ISSACWEB_RSA_SHA384 
ISSACWEB_RSA_SHA512 

◆ ISSACWEB_SUPPORTED_PAGE_CHARSET

문자열의 문자셋(Character Set - Code Page)

열거형 멤버
ISSACWEB_CHARSET_NOT_ENCODING 

JVM 의존적

ISSACWEB_CHARSET_EUCKR 

EUC-KR

ISSACWEB_CHARSET_UTF8 

UTF-8

함수 문서화

◆ issacweb_InitializeCIS()

WA_SDK_API int FUNCCALL issacweb_InitializeCIS ( )

모듈 초기화를 실행한다.

반환값
WASDK_SUCCESS : 성공
ER_ISSACWEB_INITIALIZE_MODULE_INTEGRITY : 암호모듈의 자가시험 중 무결성 시험 실패
ER_ISSACWEB_INITIALIZE_VERIFIED_ALGORITHM : 암호모듈의 자가시험 중 알고리즘 시험 실패
ER_ISSACWEB_INITIALIZE_INVALID_STATE : 암호모듈의 현재 상태가 요청한 기능을 사용할 수 없는 상태
ER_ISSACWEB_INITIALIZE_CIS_ERROR : 암호모듈에서 발생한 기타 오류
ER_LICENSE_CANNOT_LOAD_CERT : 라이선스 인증서를 찾을 수 없거나 형식이 맞지 않음
ER_LICENSE_INVALID_VALIDITYPERIOD : 라이선스의 유효기간이 맞지 않음
ER_LICENSE_INVALID_CERTIFICATE : 라이선스 인증서 형식 오류 또는 검증 실패
ER_LICENSE_INVALID_HOST : 해당 호스트(IP)로 발급된 라이선스가 아님
ER_LICENSE_NOT_SUPPORTED_FUNCTION_FOR_THIS_LICENSE : 라이선스에 해당 기능에 대한 권한이 없음
그 외 : 개발사에 문의

◆ issacweb_FinalizeCIS()

WA_SDK_API int FUNCCALL issacweb_FinalizeCIS ( )

모듈을 종료한다.

반환값
WASDK_SUCCESS

◆ issacweb_getLicenseInfo()

WA_SDK_API int FUNCCALL issacweb_getLicenseInfo ( char *  outstring)

라이선스 정보를 가져온다.

반환값
WASDK_SUCCESS
WASDK_FAIL
매개변수
outstring[OUT] 라이선스 정보

◆ issacweb_SetSymAlgorithm()

WA_SDK_API int FUNCCALL issacweb_SetSymAlgorithm ( int  algId)

기본 대칭키 알고리즘을 설정한다.

반환값
WASDK_SUCCESS
매개변수
algId[IN] 대칭키 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_GetSymAlgorithm()

WA_SDK_API int FUNCCALL issacweb_GetSymAlgorithm ( )

기본 대칭키 알고리즘을 가져온다.

반환값
ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM

◆ issacweb_SetHashAlgorithm()

WA_SDK_API int FUNCCALL issacweb_SetHashAlgorithm ( int  algId)

기본 해시 알고리즘을 설정한다.

반환값
WASDK_SUCCESS
매개변수
algId[IN] 해시 알고리즘 (ISSACWEB_SUPPORTED_HASH_ALGORITHM)

◆ issacweb_GetHashAlgorithm()

WA_SDK_API int FUNCCALL issacweb_GetHashAlgorithm ( )

기본 해시 알고리즘을 가져온다.

반환값
ISSACWEB_SUPPORTED_HASH_ALGORITHM

◆ issacweb_SetAsymAlgorithm()

WA_SDK_API int FUNCCALL issacweb_SetAsymAlgorithm ( int  algId)

기본 공개키(실제로는 해시) 알고리즘을 설정한다.

반환값
WASDK_SUCCESS
매개변수
algId[IN] 해시 알고리즘 (ISSACWEB_SUPPORTED_PUBLICKEY_ALGORITHM)

◆ issacweb_base64_encode()

WA_SDK_API int FUNCCALL issacweb_base64_encode ( issac_string  outstring,
issac_binary  input,
int  input_len 
)

입력한 데이터를 Base64 문자열로 인코딩한다.

반환값
양수 : 인코딩 된 문자열의 길이
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEBPRO_BASE64_ENCODE : 인코딩 오류
참고
issacweb_base64_decode()
매개변수
outstring[OUT] Base64로 인코딩 된 문자열
input[IN] 인코딩 할 데이터
input_len[IN] 인코딩 할 데이터 크기
예제
issacweb/sample_issacweb_base64.c.

◆ issacweb_base64_decode()

WA_SDK_API int FUNCCALL issacweb_base64_decode ( issac_binary  outbuf,
issac_string  inputstring 
)

입력한 Base64 문자열을 데이터로 디코딩한다.

반환값
양수 : 디코딩 된 데이터의 길이
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEBPRO_BASE64_DECODE : 디코딩 오류
참고
issacweb_base64_encode()
매개변수
outbuf[OUT] 디코딩 된 데이터
inputstring[IN] Base64 문자열
예제
issacweb/sample_issacweb_base64.c.

◆ issacweb_timestamp_get()

WA_SDK_API int FUNCCALL issacweb_timestamp_get ( char *  outstring)

타임스탬프 값을 가져온다.

반환값
WASDK_SUCCESS : 성공
WASDK_FAIL : 실패
참고
issacweb_timestamp_verify()
매개변수
outstring[OUT] 45 바이트 할당된 버퍼
예제
issacweb/sample_issacweb_timestamp.c.

◆ issacweb_timestamp_verify()

WA_SDK_API int FUNCCALL issacweb_timestamp_verify ( char *  timestamp,
int  allowedTimeSec 
)

타임스탬프 값을 검증한다.

반환값
WASDK_SUCCESS : 성공
WASDK_FAIL : 실패
참고
issacweb_timestamp_get()
매개변수
timestamp[IN] issacweb_timestamp_get() 로 가져온 타임스탬프
allowedTimeSec[IN] 허용시간
예제
issacweb/sample_issacweb_timestamp.c.

◆ issacweb_create_sessionkey()

WA_SDK_API int FUNCCALL issacweb_create_sessionkey ( void *  sessionKey,
const int  sessionKeySize 
)

세션키를 생성한다.

반환값
WASDK_SUCCESS : 성공
WASDK_FAIL : 실패
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
매개변수
sessionKey[OUT] 생성된 세션키
sessionKeySize[IN] 세션키 크기

◆ issacweb_hash_message()

WA_SDK_API int FUNCCALL issacweb_hash_message ( issac_binary  out,
int *  outlen,
char *  msg,
int  msglen 
)

메시지를 SHA1 알고리즘으로 해시한다.

반환값
WASDK_SUCCESS : 성공
WASDK_FAIL : 실패
매개변수
out[OUT] 해시된 메시지
outlen[OUT] 해시된 메시지 크기
msg[IN] 원문
msglen[IN] 원문 크기

◆ issacweb_hash_message_sha256()

WA_SDK_API int FUNCCALL issacweb_hash_message_sha256 ( issac_binary  out,
int *  outlen,
char *  msg,
int  msglen 
)

메시지를 SHA256 알고리즘으로 해시한다.

반환값
WASDK_SUCCESS : 성공
WASDK_FAIL : 실패
매개변수
out[OUT] 해시된 메시지
outlen[OUT] 해시된 메시지 크기
msg[IN] 원문
msglen[IN] 원문 크기

◆ issacweb_hmac_message()

WA_SDK_API int FUNCCALL issacweb_hmac_message ( issac_binary  out,
int *  outlen,
char *  msg,
int  msglen 
)

no description (특수용도 - issacweb_hmac_message_sha256() 의 SHA1 버전이 아님)

매개변수
out[OUT] no description
outlen[OUT] no description
msg[IN] no description
msglen[IN] no description

◆ issacweb_hmac_message_sha256()

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을 생성한다.

반환값
WASDK_SUCCESS : 성공
WASDK_FAIL : 실패
매개변수
out[OUT] 생성된 HMAC
outlen[OUT] 생성된 HMAC 크기
msg[IN] 원문
msglen[IN] 원문 크기
hmackey[IN] 비밀키
hmackey_len[IN] 비밀키 길이

◆ issacweb_EncodeWithAlpah()

WA_SDK_API int FUNCCALL issacweb_EncodeWithAlpah ( char *  enKey,
int *  enKeyLen,
void *  deKey,
int  deKeyLen 
)

5bit 단위로 끊어서 [0-9A-V] 의 32가지 문자로 인코딩한다.

Remarks
매핑 테이블 : { 0123456789ABCDEFGHIJKLMNOPQRSTUV }
반환값
인코딩 된 문자열 길이
참고
issacweb_DecodeWithAlpah()
매개변수
enKey[OUT] 인코딩 된 문자열
enKeyLen[OUT] 인코딩 된 문자열 길이
deKey[IN] 원문 데이터
deKeyLen[IN] 원문 데이터 크기

◆ issacweb_DecodeWithAlpah()

WA_SDK_API int FUNCCALL issacweb_DecodeWithAlpah ( void *  deKey,
int *  deKeyLen,
char *  enKey,
int  enKeyLen 
)

issacweb_EncodeWithAlpah()로 인코딩 된 문자열을 디코딩한다.

Remarks
매핑 테이블 : { 0123456789ABCDEFGHIJKLMNOPQRSTUV }
반환값
디코딩 된 원문 데이터 크기
ER_ISSACWEBPRO_ALPA_DECODE : 디코딩 실패
참고
issacweb_EncodeWithAlpah()
매개변수
deKey[OUT] 디코딩 된 원문 데이터
deKeyLen[OUT] 디코딩 된 원문 데이터 크기
enKey[IN] 인코딩 된 문자열
enKeyLen[IN] 인코딩 된 문자열 길이

◆ issacweb_encrypt()

WA_SDK_API int FUNCCALL issacweb_encrypt ( void *  outbuf,
void *  input,
int  input_len,
void *  key 
)

평문을 암호화한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
반환값
양수 : 암호문 크기
issacweb_encrypt_ex() 리턴값
참고
issacweb_decrypt()
매개변수
outbuf[OUT] 암호문 (패딩을 고려하여 평문보다 16 바이트 이상 크게 할당된 버퍼)
input[IN] 평문
input_len[IN] 평문 크기
key[IN] 비밀키

◆ issacweb_decrypt()

WA_SDK_API int FUNCCALL issacweb_decrypt ( void *  outbuf,
void *  input,
int  input_len,
void *  key 
)

암호문을 복호화한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
반환값
양수 : 복호화 된 원문의 크기
issacweb_decrypt_ex() 리턴값
참고
issacweb_encrypt()
매개변수
outbuf[OUT] 복호화된 원문
input[IN] 암호문
input_len[IN] 암호문 크기
key[IN] 비밀키

◆ issacweb_encrypt_ex()

WA_SDK_API int FUNCCALL issacweb_encrypt_ex ( void *  outbuf,
void *  input,
int  input_len,
void *  key,
int  cipher_id 
)

평문을 암호화한다.

반환값
양수 : 암호문 크기
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
ER_ISSACWEBPRO_WEB_ENC_ERROR : 대칭키 암호화 실패
참고
issacweb_decrypt_ex()
매개변수
outbuf[OUT] 암호문 (패딩을 고려하여 평문보다 16 바이트 이상 크게 할당된 버퍼)
input[IN] 평문
input_len[IN] 평문 크기
key[IN] 비밀키
cipher_id[IN] 대칭키 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
예제
issacweb/sample_issacweb_symmetric_encryption.c.

◆ issacweb_decrypt_ex()

WA_SDK_API int FUNCCALL issacweb_decrypt_ex ( void *  outbuf,
void *  input,
int  input_len,
void *  key,
int  cipher_id 
)

암호문을 복호화한다.

반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
ER_ISSACWEBPRO_WEB_DEC_ERROR : 대칭키 복호화 실패
그 외 : 라이선스 오류 (ISSACWEBPRO_LICENSE_ERRORS)
참고
issacweb_encrypt_ex()
매개변수
outbuf[OUT] 복호화된 원문
input[IN] 암호문
input_len[IN] 암호문 크기
key[IN] 비밀키
cipher_id[IN] 대칭키 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
예제
issacweb/sample_issacweb_symmetric_encryption.c.

◆ issacweb_encrypt_s()

WA_SDK_API int FUNCCALL issacweb_encrypt_s ( char *  outstring,
void *  input,
int  input_len,
void *  key 
)

평문을 암호화 후 Base64로 인코딩한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
반환값
양수 : 암호문 (Base64) 의 길이
issacweb_encrypt_ex_s() 리턴값
참고
issacweb_decrypt_s()
매개변수
outstring[OUT] 암호문 (Base64). 최소 32부터 평문보다 2배 이상 크게 할당된 버퍼여야 한다. (정확하게는 패딩 처리된 암호문을 Base64 로 인코딩 할 수 있는 크기)
input[IN] 평문
input_len[IN] 평문 크기
key[IN] 비밀키

◆ issacweb_decrypt_s()

WA_SDK_API int FUNCCALL issacweb_decrypt_s ( void *  outbuf,
char *  inputstring,
void *  key 
)

암호문(Base64)을 복호화한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
반환값
양수 : 복호화 된 원문의 크기
issacweb_decrypt_ex_s() 리턴값
참고
issacweb_encrypt_s()
매개변수
outbuf[OUT] 복호화된 원문
inputstring[IN] 암호문 (Base64)
key[IN] 비밀키

◆ issacweb_encrypt_ex_s()

WA_SDK_API int FUNCCALL issacweb_encrypt_ex_s ( char *  outstring,
void *  input,
int  input_len,
void *  key,
int  cipher_id 
)

평문을 암호화 후 Base64로 인코딩한다.

반환값
양수 : 암호문 (Base64) 의 길이
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_BASE64_ENCODE : Base64 인코딩 실패
issacweb_encrypt_ex() 리턴값
참고
issacweb_decrypt_ex_s()
매개변수
outstring[OUT] 암호문 (Base64). 최소 32부터 평문보다 2배 이상 크게 할당된 버퍼여야 한다. (정확하게는 패딩 처리된 암호문을 Base64 로 인코딩 할 수 있는 크기)
input[IN] 평문
input_len[IN] 평문 크기
key[IN] 비밀키
cipher_id[IN] 대칭키 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
예제
issacweb/sample_issacweb_symmetric_encryption_string.c.

◆ issacweb_decrypt_ex_s()

WA_SDK_API int FUNCCALL issacweb_decrypt_ex_s ( void *  outbuf,
char *  inputB64,
void *  key,
int  cipher_id 
)

암호문(Base64)을 복호화한다.

반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_BASE64_DECODE : Base64 디코딩 실패
issacweb_decrypt_ex() 리턴값
참고
issacweb_encrypt_ex_s()
매개변수
outbuf[OUT] 복호화된 원문
inputB64[IN] 암호문 (Base64)
key[IN] 비밀키
cipher_id[IN] 대칭키 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
예제
issacweb/sample_issacweb_symmetric_encryption_string.c.

◆ issacweb_encrypt_s_iv()

WA_SDK_API int FUNCCALL issacweb_encrypt_s_iv ( char *  outstring,
void *  input,
int  input_len,
void *  key 
)

평문을 암호화 후 IV Seed 값 뒤에 붙여서 Base64로 인코딩한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
반환값
양수 : IV Seed 값 + 암호문 (Base64) 의 길이
issacweb_encrypt_ex_s_iv() 리턴값
참고
issacweb_decrypt_s_iv()
매개변수
outstring[OUT] IV Seed 값 + 암호문 (Base64). 최소 48부터 평문보다 2배 이상 크게 할당된 버퍼여야 한다. (정확하게는 패딩 처리된 암호문과 IV Seed 값을 Base64 로 인코딩 할 수 있는 크기)
input[IN] 평문
input_len[IN] 평문 크기
key[IN] 비밀키

◆ issacweb_decrypt_s_iv()

WA_SDK_API int FUNCCALL issacweb_decrypt_s_iv ( void *  outbuf,
char *  inputstring,
void *  key 
)

IV Seed 값 + 암호문 (Base64) 을 복호화한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
반환값
양수 : 복호화 된 원문의 크기
issacweb_decrypt_ex_s_iv() 리턴값
참고
issacweb_encrypt_s_iv()
매개변수
outbuf[OUT] 복호화된 원문
inputstring[IN] IV Seed 값 + 암호문 (Base64)
key[IN] 비밀키

◆ issacweb_encrypt_ex_s_iv()

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로 인코딩한다.

반환값
양수 : IV Seed 값 + 암호문 (Base64) 의 길이
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_BASE64_ENCODE : Base64 인코딩 실패
issacweb_encrypt_ex_iv() 리턴값
참고
issacweb_decrypt_ex_s_iv()
매개변수
outstring[OUT] IV Seed 값 + 암호문 (Base64). 최소 48부터 평문보다 2배 이상 크게 할당된 버퍼여야 한다. (정확하게는 패딩 처리된 암호문과 IV Seed 값을 Base64 로 인코딩 할 수 있는 크기)
input[IN] 평문
input_len[IN] 평문 크기
key[IN] 비밀키
cipher_id[IN] 대칭키 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_decrypt_ex_s_iv()

WA_SDK_API int FUNCCALL issacweb_decrypt_ex_s_iv ( void *  outbuf,
char *  inputstring,
void *  key,
int  cipher_id 
)

IV Seed 값 + 암호문 (Base64) 을 복호화한다.

반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_BASE64_DECODE : Base64 디코딩 실패
issacweb_decrypt_ex_iv() 리턴값
참고
issacweb_encrypt_ex_s_iv()
매개변수
outbuf[OUT] 복호화된 원문
inputstring[IN] IV Seed 값 + 암호문 (Base64)
key[IN] 비밀키
cipher_id[IN] 대칭키 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_encrypt_ex_iv()

WA_SDK_API int FUNCCALL issacweb_encrypt_ex_iv ( void *  outbuf,
void *  input,
int  input_len,
void *  key,
int  cipher_id 
)

평문을 암호화 후 IV Seed 값 뒤에 붙인다.

반환값
양수 : IV + 암호문의 크기
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_GENERATE_IV_FAIL : IV 생성 실패
ER_ISSACWEBPRO_WEB_ENC_ERROR : 대칭키 암호화 실패
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
참고
issacweb_decrypt_ex_iv()
매개변수
outbuf[OUT] 암호문 (패딩과 IV를 고려하여 평문보다 32 바이트 이상 크게 할당된 버퍼)
input[IN] 평문
input_len[IN] 평문 크기
key[IN] 비밀키
cipher_id[IN] 대칭키 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_decrypt_ex_iv()

WA_SDK_API int FUNCCALL issacweb_decrypt_ex_iv ( void *  outbuf,
void *  input,
int  input_len,
void *  key,
int  cipher_id 
)

IV Seed 값 + 암호문을 복호화한다.

반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEBPRO_GENERATE_IV_FAIL : IV 생성 실패
ER_ISSACWEBPRO_WEB_DEC_ERROR : 대칭키 복호화 실패
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
참고
issacweb_encrypt_ex_iv()
매개변수
outbuf[OUT] 복호화된 원문
input[IN] IV Seed 값 + 암호문
input_len[IN] IV Seed 값 + 암호문 크기
key[IN] 비밀키
cipher_id[IN] 대칭키 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_encrypt_file_s()

WA_SDK_API int FUNCCALL issacweb_encrypt_file_s ( char *  filePath,
void *  sessionKey 
)

평문을 암호화 후 Base64로 인코딩하여 새로운 파일(파일명.enc)에 출력한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
반환값
WASDK_SUCCESS : 성공
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_CANNOT_OPEN_FILE : 파일 열기 실패 (입력 파일 또는 출력 파일)
ER_ISSACWEB_CANNOT_READ_FILE : 파일 읽기 실패
ER_ISSACWEB_CANNOT_WRITE_FILE : 파일 쓰기 실패
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEB_SYMMETRIC_ENCRYPT_FAIL : 대칭키 암호화 실패
issacweb_encrypt_s() 리턴값
참고
issacweb_decrypt_file_s()
매개변수
filePath[IN] 암호화 할 파일 경로
sessionKey[IN] 비밀키

◆ issacweb_decrypt_file_s()

WA_SDK_API int FUNCCALL issacweb_decrypt_file_s ( char *  decFilePath,
char *  filePath,
void *  sessionKey 
)

암호화 된 파일(Base64)을 복호화 후 새로운 파일에 출력한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
날짜
2006.01.29 (김덕수) : 기존에 decFilePath가 아무런 의미가 없었음. decFilePath가 NULL인 경우에만 .enc를 빼도록 수정. 수정하는 차에 .enc가 아닌 경우, .dec를 붙이도록 수정
반환값
WASDK_SUCCESS : 성공
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_CANNOT_OPEN_FILE : 파일 열기 실패 (입력 파일 또는 출력 파일)
ER_ISSACWEB_CANNOT_READ_FILE : 파일 읽기 실패
ER_ISSACWEB_CANNOT_WRITE_FILE : 파일 쓰기 실패
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEB_SYMMETRIC_DECRYPT_FAIL : 대칭키 복호화 실패
issacweb_decrypt_s() 리턴값
참고
issacweb_encrypt_file_s()
매개변수
decFilePath[IN] 복호화 된 파일이 저장될 경로
filePath[IN] 암호화 된 파일 경로
sessionKey[IN] 비밀키

◆ issacweb_decrypt_file_lm_s()

WA_SDK_API int FUNCCALL issacweb_decrypt_file_lm_s ( char *  decFilePath,
char *  encFilePath,
void *  sessionKey 
)

암호화 된 파일(Base64)을 복호화 후 새로운 파일에 출력한다. (최대 65536 크기만큼 나누어서 복호화한다)

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
내부적으로 issacweb_decrypt_s()를 사용하지 않고 직접 구현되었다.
반환값
WASDK_SUCCESS : 성공
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_CANNOT_OPEN_FILE : 파일 열기 실패 (입력 파일 또는 출력 파일)
ER_ISSACWEB_CANNOT_READ_FILE : 파일 읽기 실패
ER_ISSACWEB_CANNOT_WRITE_FILE : 파일 쓰기 실패
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_BASE64_DECODE : Base64 디코딩 실패
ER_ISSACWEB_SYMMETRIC_DECRYPT_FAIL : 대칭키 복호화 실패
issacweb_decrypt_s() 리턴값
매개변수
decFilePath[IN] 복호화 된 파일이 저장될 경로
encFilePath[IN] 암호화 된 파일 경로
sessionKey[IN] 비밀키

◆ issacweb_publickey_encrypt()

WA_SDK_API int FUNCCALL issacweb_publickey_encrypt ( void *  outbuf,
const void *  inbuf,
int  inbufSize,
const char *  pubKeyB64 
)

평문을 RSA 공개키로 암호화한다. (RSAES-OAEP)

주의
RSA Encryption Scheme 에 따른 길이 제약이 있으니 해시값 같은 아주 작은 평문만 암호화하도록 한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
issacweb_publickey_encrypt_ex() 리턴값
참고
issacweb_publickey_decrypt()
매개변수
outbuf[OUT] 암호문 (RSA 키길이만큼 버퍼가 할당되어 있어야 한다)
inbuf[IN] 평문
inbufSize[IN] 평문 크기
pubKeyB64[IN] RSA 공개키 (Base64)

◆ issacweb_publickey_decrypt()

WA_SDK_API int FUNCCALL issacweb_publickey_decrypt ( void *  outbuf,
void *  inbuf,
int  inbuf_len,
const char *  privateKeyB64 
)

RSA 암호문을 RSA 개인키로 복호화한다. (RSAES-OAEP)

주의
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 복호화 된 원문의 크기
issacweb_publickey_decrypt_ex() 리턴값
참고
issacweb_publickey_encrypt()
매개변수
outbuf[OUT] 복호화 된 원문
inbuf[IN] RSA 암호문
inbuf_len[IN] RSA 암호문 크기
privateKeyB64[IN] RSA 개인키 (Base64)

◆ issacweb_publickey_encrypt_ex()

WA_SDK_API int FUNCCALL issacweb_publickey_encrypt_ex ( void *  outbuf,
const void *  inbuf,
int  inbufSize,
const char *  pubKeyB64,
int  hashId 
)

평문을 RSA 공개키로 암호화한다. (RSAES-OAEP)

주의
RSA Encryption Scheme 에 따른 길이 제약이 있으니 해시값 같은 아주 작은 평문만 암호화하도록 한다.
반환값
양수 : 암호문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEB_INVALID_PUBKEY : 잘못된 공개키
ER_ISSACWEB_PUB_FAIL_TO_ENC_MSG : 공개키 암호화 실패
issacweb_base64_decode() 리턴값
참고
issacweb_publickey_decrypt_ex()
매개변수
outbuf[OUT] 암호문 (RSA 키길이만큼 버퍼가 할당되어 있어야 한다)
inbuf[IN] 평문
inbufSize[IN] 평문 크기
pubKeyB64[IN] RSA 공개키 (Base64)
hashId[IN] RSAES-OAEP 에서 사용되는 해시 알고리즘 (ISSACWEB_SUPPORTED_HASH_ALGORITHM)
예제
issacweb/sample_issacweb_rsa_encryption.c.

◆ issacweb_publickey_decrypt_ex()

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)

반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEB_INVALID_PRIKEY : 잘못된 개인키
ER_ISSACWEB_PUB_FAIL_TO_DEC_MSG : 공개키(개인키) 복호화 실패
issacweb_base64_decode() 리턴값
참고
issacweb_publickey_encrypt_ex()
매개변수
outbuf[OUT] 복호화 된 원문
inbuf[IN] RSA 암호문
inbuf_len[IN] RSA 암호문 크기
privateKeyB64[IN] RSA 개인키 (Base64)
hash_id[IN] RSAES-OAEP 에서 사용되는 해시 알고리즘 (ISSACWEB_SUPPORTED_HASH_ALGORITHM)
예제
issacweb/sample_issacweb_rsa_encryption.c.

◆ issacweb_publickey_encrypt_c()

WA_SDK_API int FUNCCALL issacweb_publickey_encrypt_c ( issac_binary  outbuf,
issac_binary  inbuf,
int  inbufSize,
issac_string  certB64 
)

평문을 RSA 인증서로 암호화한다. (RSAES-OAEP - SHA1)

주의
RSA Encryption Scheme 에 따른 길이 제약이 있으니 해시값 같은 아주 작은 평문만 암호화하도록 한다.
반환값
양수 : 암호문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEB_PUB_FAIL_TO_ENC_MSG : 공개키 암호화 실패
issacweb_base64_decode() 리턴값
참고
issacweb_publickey_decrypt_c()
매개변수
outbuf[OUT] 암호문 (RSA 키길이만큼 버퍼가 할당되어 있어야 한다)
inbuf[IN] 평문
inbufSize[IN] 평문 크기
certB64[IN] RSA 인증서 (Base64)

◆ issacweb_publickey_decrypt_c()

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)

반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEBPRO_WEB_DEC_INVALID_PRIKEY : 잘못된 개인키
ER_ISSACWEB_PUB_FAIL_TO_DEC_MSG : 공개키(개인키) 복호화 실패
참고
issacweb_publickey_encrypt_c()
매개변수
outbuf[OUT] 복호화 된 원문
inbuf[IN] RSA 암호문
inbuf_len[IN] RSA 암호문 크기
privatekey_info[IN] RSA 개인키를 가진 PKCS#8 개인키 (Base64)

◆ issacweb_publickey_encrypt_cs()

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)

주의
RSA Encryption Scheme 에 따른 길이 제약이 있으니 해시값 같은 아주 작은 평문만 암호화하도록 한다.
반환값
양수 : 암호문의 크기
issacweb_publickey_encrypt_c() 리턴값
issacweb_base64_encode() 리턴값
참고
issacweb_publickey_decrypt_cs()
매개변수
outstring[OUT] 암호문 (Base64)
inbuf[IN] 평문
inbufSize[IN] 평문 크기
certB64[IN] RSA 인증서 (Base64)

◆ issacweb_publickey_decrypt_cs()

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)

반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_BASE64_DECODE : Base64 디코딩 실패
ER_ISSACWEBPRO_WEB_DEC_INVALID_PRIKEY : 잘못된 개인키
ER_ISSACWEB_PUB_FAIL_TO_DEC_MSG : 공개키(개인키) 복호화 실패
issacweb_base64_decode() 리턴값
참고
issacweb_publickey_encrypt_cs()
매개변수
outbuf[OUT] 복호화 된 원문
encryptedB64[IN] 암호문 (Base64)
privateKeyB64[IN] RSA 개인키를 가진 PKCS#8 개인키 (Base64)

◆ issacweb_get_publickey_exponent()

WA_SDK_API int FUNCCALL issacweb_get_publickey_exponent ( const char *  publickey,
char *  szPubkeyExponent,
int *  nExponentLen 
)

RSA 공개키에서 public exponent 값을 가져온다. (ASN.1 Integer)

반환값
WASDK_SUCCESS : 성공
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEB_INVALID_PUBKEY : 잘못된 공개키
issacweb_base64_decode() 리턴값
매개변수
publickey[IN] RSA 공개키 (Base64)
szPubkeyExponent[OUT] public exponent 버퍼
nExponentLen[OUT] public exponent 값의 크기

◆ issacweb_get_publickey_modulus()

WA_SDK_API int FUNCCALL issacweb_get_publickey_modulus ( const char *  publickey,
char *  szPubkeyModulus,
int *  nModulusLen 
)

RSA 공개키에서 modulus 값을 가져온다. (ASN.1 Integer)

반환값
WASDK_SUCCESS : 성공
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEB_INVALID_PUBKEY : 잘못된 공개키
issacweb_base64_decode() 리턴값
매개변수
publickey[IN] RSA 공개키 (Base64)
szPubkeyModulus[OUT] modulus 버퍼
nModulusLen[OUT] modulus 값의 크기

◆ issacweb_hybrid_encrypt()

WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt ( void *  outbuf,
void *  input,
int  input_len,
const char *  publicKeyB64,
void *  key 
)

RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
issacweb_hybrid_encrypt_ex2() 리턴값
참고
issacweb_hybrid_decrypt()
매개변수
outbuf[OUT] 하이브리드 암호문
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[OUT] 하이브리드 암호화에 사용된 세션키

◆ issacweb_hybrid_decrypt()

WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt ( void *  outbuf,
void *  input,
int  input_len,
void *  key,
const char *  prikey 
)

RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 복호화 된 원문의 크기
issacweb_hybrid_decrypt_ex2() 리턴값
참고
issacweb_hybrid_encrypt()
매개변수
outbuf[OUT] 복호화 된 원문
input[IN] 하이브리드 암호문
input_len[IN] 하이브리드 암호문 크기
key[OUT] 대칭키 암호화에 사용된 세션키
prikey[IN] RSA 개인키 (Base64)

◆ issacweb_hybrid_encrypt_ex()

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 공개키를 이용하여 하이브리드 암호화를 실행한다.

주의
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
issacweb_hybrid_encrypt_ex2() 리턴값
참고
issacweb_hybrid_decrypt_ex()
매개변수
outbuf[OUT] 하이브리드 암호문
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[OUT] 하이브리드 암호화에 사용된 세션키
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_hybrid_decrypt_ex()

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 개인키를 이용하여 하이브리드 복호화를 실행한다.

주의
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 복호화 된 원문의 크기
issacweb_hybrid_decrypt_ex2() 리턴값
참고
issacweb_hybrid_encrypt_ex()
매개변수
outbuf[OUT] 복호화 된 원문
input[IN] 하이브리드 암호문
input_len[IN] 하이브리드 암호문 크기
key[OUT] 대칭키 암호화에 사용된 세션키
prikey[IN] RSA 개인키 (Base64)
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_hybrid_encrypt_ex2()

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 공개키를 이용하여 하이브리드 암호화를 실행한다.

반환값
양수 : 암호문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_INVALID_HASH_ALGORITHM : 잘못된 해시 알고리즘
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
ER_ISSACWEB_INVALID_PUBKEY : 잘못된 공개키
ER_ISSACWEB_SYMMETRIC_ENCRYPT_FAIL : 대칭키 암호화 실패
ER_ISSACWEB_PUB_FAIL_TO_ENC_MSG : 공개키 암호화 실패
ER_ISSACWEBPRO_WEB_ENC_ERROR : 하이브리드 암호화 실패 (기타 이유)
issacweb_base64_decode() 리턴값
참고
issacweb_hybrid_decrypt_ex2()
매개변수
outbuf[OUT] 하이브리드 암호문
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
hash_id[IN] RSAES-OAEP 에서 사용되는 해시 알고리즘 (ISSACWEB_SUPPORTED_HASH_ALGORITHM)
예제
issacweb/sample_issacweb_hybrid_encryption.c.

◆ issacweb_hybrid_decrypt_ex2()

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 개인키를 이용하여 하이브리드 복호화를 실행한다.

반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_INVALID_HASH_ALGORITHM : 잘못된 해시 알고리즘
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
ER_ISSACWEBPRO_INVALID_PUBKEY_ALGORITHM : 잘못된 공개키 알고리즘
ER_ISSACWEB_INVALID_PRIKEY : 잘못된 개인키
ER_ISSACWEB_SYMMETRIC_DECRYPT_FAIL : 대칭키 복호화 실패
ER_ISSACWEB_PUB_FAIL_TO_DEC_MSG : 공개키(개인키) 복호화 실패
ER_ISSACWEBPRO_WEB_DEC_ERROR : 하이브리드 복호화 실패 (기타 이유)
issacweb_base64_decode() 리턴값
그 외 : 라이선스 오류 (ISSACWEBPRO_LICENSE_ERRORS)
참고
issacweb_hybrid_encrypt_ex2()
매개변수
outbuf[OUT] 복호화 된 원문
input[IN] 하이브리드 암호문
input_len[IN] 하이브리드 암호문 크기
key[OUT] 대칭키 암호화에 사용된 세션키
prikey[IN] RSA 개인키 (Base64)
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
hash_id[IN] RSAES-OAEP 에서 사용되는 해시 알고리즘 (ISSACWEB_SUPPORTED_HASH_ALGORITHM)
예제
issacweb/sample_issacweb_hybrid_encryption.c.

◆ issacweb_hybrid_encrypt_s()

WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_s ( char *  outstring,
void *  input,
int  input_len,
const char *  publicKeyB64,
void *  key 
)

RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문(Base64)의 크기
issacweb_hybrid_encrypt_ex2_s() 리턴값
참고
issacweb_hybrid_decrypt_s()
매개변수
outstring[OUT] 하이브리드 암호문 (Base64)
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키

◆ issacweb_hybrid_decrypt_s()

WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_s ( void *  outbuf,
const char *  inputstring,
void *  key,
const char *  privateKeyB64 
)

RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 복호화 된 원문의 크기
issacweb_hybrid_decrypt_ex2_s() 리턴값
참고
issacweb_hybrid_encrypt_s()
매개변수
outbuf[OUT] 복호화 된 원문
inputstring[IN] 하이브리드 암호문 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키
privateKeyB64[IN] RSA 개인키 (Base64)

◆ issacweb_hybrid_encrypt_ex_s()

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 공개키를 이용하여 하이브리드 암호화를 실행한다.

주의
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문(Base64)의 크기
issacweb_hybrid_encrypt_ex2_s() 리턴값
참고
issacweb_hybrid_decrypt_ex_s()
매개변수
outstring[OUT] 하이브리드 암호문 (Base64)
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_hybrid_decrypt_ex_s()

WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_ex_s ( void *  outbuf,
const char *  inputstring,
void *  key,
const char *  privateKeyB64,
int  cipher_id 
)

RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.

주의
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 복호화 된 원문의 크기
issacweb_hybrid_decrypt_ex2_s() 리턴값
참고
issacweb_hybrid_encrypt_ex_s()
매개변수
outbuf[OUT] 복호화 된 원문
inputstring[IN] 하이브리드 암호문 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키
privateKeyB64[IN] RSA 개인키 (Base64)
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_hybrid_encrypt_ex2_s()

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 공개키를 이용하여 하이브리드 암호화를 실행한다.

반환값
양수 : 암호문(Base64)의 크기
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
issacweb_hybrid_encrypt_ex2() 리턴값
issacweb_base64_encode() 리턴값
참고
issacweb_hybrid_decrypt_ex2_s()
매개변수
outstring[OUT] 하이브리드 암호문 (Base64)
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
hash_id[IN] RSAES-OAEP 에서 사용되는 해시 알고리즘 (ISSACWEB_SUPPORTED_HASH_ALGORITHM)

◆ issacweb_hybrid_decrypt_ex2_s()

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 개인키를 이용하여 하이브리드 복호화를 실행한다.

반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_BASE64_DECODE : Base64 디코딩 실패
issacweb_hybrid_decrypt_ex2() 리턴값
issacweb_base64_decode() 리턴값
참고
issacweb_hybrid_encrypt_ex2_s()
매개변수
outbuf[OUT] 복호화 된 원문
inputB64[IN] 하이브리드 암호문 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키
privateKeyB64[IN] RSA 개인키 (Base64)
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
hash_id[IN] RSAES-OAEP 에서 사용되는 해시 알고리즘 (ISSACWEB_SUPPORTED_HASH_ALGORITHM)

◆ issacweb_hybrid_decrypt_s_iv()

WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_s_iv ( void *  outbuf,
const char *  inputstring,
void *  key,
const char *  privateKeyB64 
)

RSA 개인키를 이용하여 하이브리드 복호화를 실행한다. (Random IV 사용)

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 복호화 된 원문의 크기
issacweb_hybrid_decrypt_ex2_s_iv() 리턴값
참고
issacweb_hybrid_encrypt_ex_s_iv()
매개변수
outbuf[OUT] 복호화된 결과값이 저장된다. inputstring의 길이 만큼 메모리가 할당되어 있어야 한다.
inputstring[IN] 복호화 할 메시지, BASE64로 인코딩된 문자열
key[OUT] 복호화된 비밀키가 저장된다. 16byte이상의 메모리가 할당되어 있어야 한다.
privateKeyB64[IN] 서버의 비공개키, NULL일 경우 라이브러리 안에 저장되어 있는 비공개키를 사용

◆ issacweb_hybrid_encrypt_ex_s_iv()

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 사용)

주의
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
issacweb_hybrid_encrypt_ex2_s_iv() 리턴값
참고
issacweb_hybrid_decrypt_ex_s_iv()
매개변수
outstring[OUT] 하이브리드 암호문 (Base64)
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_hybrid_decrypt_ex_s_iv()

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 사용)

주의
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 복호화 된 원문의 크기
issacweb_hybrid_decrypt_ex2_s_iv() 리턴값
참고
issacweb_hybrid_encrypt_ex_s_iv()
매개변수
outbuf[OUT] 복호화 된 원문
inputstring[IN] 하이브리드 암호문 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키
privateKeyB64[IN] RSA 개인키 (Base64)
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_hybrid_encrypt_ex2_iv()

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 사용)

반환값
양수 : 암호문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_INVALID_HASH_ALGORITHM : 잘못된 해시 알고리즘
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
ER_ISSACWEB_INVALID_PUBKEY : 잘못된 공개키
ER_ISSACWEB_SYMMETRIC_ENCRYPT_FAIL : 대칭키 암호화 실패
ER_ISSACWEB_PUB_FAIL_TO_ENC_MSG : 공개키 암호화 실패
ER_ISSACWEBPRO_WEB_ENC_ERROR : 하이브리드 암호화 실패 (기타 이유)
issacweb_base64_decode() 리턴값
참고
issacweb_hybrid_decrypt_ex2_iv()
매개변수
outbuf[OUT] 하이브리드 암호문
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
hash_id[IN] RSAES-OAEP 에서 사용되는 해시 알고리즘 (ISSACWEB_SUPPORTED_HASH_ALGORITHM)

◆ issacweb_hybrid_decrypt_ex2_iv()

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 개인키를 이용하여 하이브리드 복호화를 실행한다.

반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_INVALID_HASH_ALGORITHM : 잘못된 해시 알고리즘
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
ER_ISSACWEBPRO_INVALID_PUBKEY_ALGORITHM : 잘못된 공개키 알고리즘
ER_ISSACWEB_INVALID_PRIKEY : 잘못된 개인키
ER_ISSACWEB_SYMMETRIC_DECRYPT_FAIL : 대칭키 복호화 실패
ER_ISSACWEB_PUB_FAIL_TO_DEC_MSG : 공개키(개인키) 복호화 실패
ER_ISSACWEBPRO_WEB_DEC_ERROR : 하이브리드 복호화 실패 (기타 이유)
issacweb_base64_decode() 리턴값
그 외 : 라이선스 오류 (ISSACWEBPRO_LICENSE_ERRORS)
참고
issacweb_hybrid_encrypt_ex2_iv()
매개변수
outbuf[OUT] 복호화 된 원문
input[IN] 하이브리드 암호문
input_len[IN] 하이브리드 암호문 크기
key[OUT] 대칭키 암호화에 사용된 세션키
privateKeyB64[IN] RSA 개인키 (Base64)
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
hash_id[IN] RSAES-OAEP 에서 사용되는 해시 알고리즘 (ISSACWEB_SUPPORTED_HASH_ALGORITHM)

◆ issacweb_hybrid_encrypt_ex2_s_iv()

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 사용)

반환값
양수 : 암호문의 크기
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
issacweb_hybrid_encrypt_ex2_iv() 리턴값
issacweb_base64_encode() 리턴값
참고
issacweb_hybrid_decrypt_ex2_s_iv()
매개변수
outstring[OUT] 하이브리드 암호문 (Base64)
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
hash_id[IN] RSAES-OAEP 에서 사용되는 해시 알고리즘 (ISSACWEB_SUPPORTED_HASH_ALGORITHM)

◆ issacweb_hybrid_decrypt_ex2_s_iv()

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 사용)

반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_BASE64_DECODE : Base64 디코딩 실패
issacweb_base64_decode() 리턴값
issacweb_hybrid_decrypt_ex2_iv() 리턴값
참고
issacweb_hybrid_encrypt_ex2_s_iv()
매개변수
outbuf[OUT] 복호화 된 원문
inputB64[IN] 하이브리드 암호문 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키
privateKeyB64[IN] RSA 개인키 (Base64)
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
hash_id[IN] RSAES-OAEP 에서 사용되는 해시 알고리즘 (ISSACWEB_SUPPORTED_HASH_ALGORITHM)

◆ issacweb_hybrid_encrypt_with_sessionkey()

WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_with_sessionkey ( void *  outbuf,
void *  input,
int  input_len,
const char *  pub,
void *  key 
)

주어진 세션키와 RSA 공개키를 이용하여 하이브리드 암호화를 실행한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
issacweb_hybrid_encrypt_with_sessionkey_ex() 리턴값
참고
issacweb_hybrid_decrypt_with_sessionkey()
매개변수
outbuf[OUT] 하이브리드 암호문
input[IN] 평문
input_len[IN] 평문 크기
pub[IN] RSA 공개키 (Base64)
key[IN] 대칭키 암호화에 사용할 세션키

◆ issacweb_hybrid_decrypt_with_sessionkey()

WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_with_sessionkey ( void *  outbuf,
void *  input,
int  input_len,
void *  key,
const char *  prikey 
)

주어진 세션키와 RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEB_INVALID_DATA : 하이브리드 데이터 형식 오류
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
issacweb_hybrid_decrypt() 리턴값
참고
issacweb_hybrid_encrypt_with_sessionkey()
매개변수
outbuf[OUT] 복호화 된 원문
input[IN] 하이브리드 암호문
input_len[IN] 하이브리드 암호문 크기
key[IN,OUT] 대칭키 암호화에 사용할 세션키, 사용된 세션키
prikey[IN] RSA 개인키 (Base64)

◆ issacweb_hybrid_encrypt_with_sessionkey_s()

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_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
issacweb_hybrid_encrypt_with_sessionkey_ex_s() 리턴값
참고
issacweb_hybrid_decrypt_with_sessionkey_s()
매개변수
outstring[OUT] 하이브리드 암호문 (Base64)
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[IN] 대칭키 암호화에 사용할 세션키

◆ issacweb_hybrid_decrypt_with_sessionkey_s()

WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_with_sessionkey_s ( void *  outbuf,
const char *  inputstring,
void *  key,
const char *  prikey 
)

주어진 세션키와 RSA 개인키를 이용하여 하이브리드 복호화를 실행한다.

주의
입력한 세션키로 먼저 복호화를 시도해보고, 실패 시 하이브리드 복호화를 실행한다.
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 복호화 된 원문의 크기
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
issacweb_base64_decode() 리턴값
issacweb_hybrid_decrypt_with_sessionkey() 리턴값
참고
issacweb_hybrid_encrypt_with_sessionkey_s()
매개변수
outbuf[OUT] 복호화 된 원문
inputstring[IN] 하이브리드 암호문 (Base64)
key[IN,OUT] 대칭키 암호화에 사용할 세션키, 사용된 세션키
prikey[IN] RSA 개인키 (Base64)

◆ issacweb_hybrid_encrypt_with_sessionkey_ex()

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 공개키를 이용하여 하이브리드 암호화를 실행한다.

주의
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_INVALID_HASH_ALGORITHM : 잘못된 해시 알고리즘
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
ER_ISSACWEB_INVALID_PUBKEY : 잘못된 공개키
ER_ISSACWEB_SYMMETRIC_ENCRYPT_FAIL : 대칭키 암호화 실패
ER_ISSACWEB_PUB_FAIL_TO_ENC_MSG : 공개키 암호화 실패
ER_ISSACWEBPRO_WEB_ENC_ERROR : 하이브리드 암호화 실패 (기타 이유)
issacweb_base64_decode() 리턴값
매개변수
outbuf[OUT] 하이브리드 암호문
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[IN] 대칭키 암호화에 사용할 세션키
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_hybrid_encrypt_with_sessionkey_ex2()

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 공개키를 이용하여 하이브리드 암호화를 실행한다.

주의
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_INVALID_HASH_ALGORITHM : 잘못된 해시 알고리즘
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
ER_ISSACWEB_INVALID_PUBKEY : 잘못된 공개키
ER_ISSACWEB_SYMMETRIC_ENCRYPT_FAIL : 대칭키 암호화 실패
ER_ISSACWEB_PUB_FAIL_TO_ENC_MSG : 공개키 암호화 실패
ER_ISSACWEBPRO_WEB_ENC_ERROR : 하이브리드 암호화 실패 (기타 이유)
issacweb_base64_decode() 리턴값
매개변수
outbuf[OUT] 하이브리드 암호문
input[IN] 평문
inputLen[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[IN] 대칭키 암호화에 사용할 세션키
cipherId[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)
hashAlgId[IN] 공개키 암호화에 사용할 해시 알고리즘 (ISSACWEB_SUPPORTED_HASH_ALGORITHM)

◆ issacweb_hybrid_encrypt_with_sessionkey_ex_s()

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 공개키를 이용하여 하이브리드 암호화를 실행한다.

주의
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
issacweb_hybrid_encrypt_with_sessionkey_ex() 리턴값
issacweb_base64_encode() 리턴값
매개변수
outstring[OUT] 하이브리드 암호문 (Base64)
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[IN] 대칭키 암호화에 사용할 세션키
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_hybrid_encrypt_with_sessionkey_ex_iv()

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 사용)

주의
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_INVALID_HASH_ALGORITHM : 잘못된 해시 알고리즘
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
ER_ISSACWEB_INVALID_PUBKEY : 잘못된 공개키
ER_ISSACWEB_SYMMETRIC_ENCRYPT_FAIL : 대칭키 암호화 실패
ER_ISSACWEB_PUB_FAIL_TO_ENC_MSG : 공개키 암호화 실패
ER_ISSACWEBPRO_WEB_ENC_ERROR : 하이브리드 암호화 실패 (기타 이유)
issacweb_base64_decode() 리턴값
매개변수
outbuf[OUT] 하이브리드 암호문
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[IN] 대칭키 암호화에 사용할 세션키
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_hybrid_encrypt_with_sessionkey_ex_s_iv()

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 사용)

주의
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
issacweb_hybrid_encrypt_with_sessionkey_ex_iv() 리턴값
issacweb_base64_encode() 리턴값
매개변수
outstring[OUT] 하이브리드 암호문 (Base64)
input[IN] 평문
input_len[IN] 평문 크기
publicKeyB64[IN] RSA 공개키 (Base64)
key[IN] 대칭키 암호화에 사용할 세션키
cipher_id[IN] 대칭키 암호화에 사용할 알고리즘 (ISSACWEB_SUPPORTED_SYMMETRIC_ENCRYPTION_ALGORITHM)

◆ issacweb_hybrid_encrypt_c()

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 인증서를 이용하여 하이브리드 암호화를 실행한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEBPRO_INVALID_HASH_ALGORITHM : 잘못된 해시 알고리즘
ER_ISSACWEBPRO_INVALID_SYMMETRIC_ALGORITHM : 잘못된 대칭키 알고리즘
ER_ISSACWEB_INVALID_PUBKEY : 잘못된 공개키
ER_ISSACWEB_SYMMETRIC_ENCRYPT_FAIL : 대칭키 암호화 실패
ER_ISSACWEB_PUB_FAIL_TO_ENC_MSG : 공개키 암호화 실패
ER_ISSACWEBPRO_WEB_ENC_ERROR : 하이브리드 암호화 실패 (기타 이유)
issacweb_base64_decode() 리턴값
매개변수
outbuf[OUT] 하이브리드 암호문
input[IN] 평문
input_len[IN] 평문 크기
certB64[IN] RSA 인증서 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키

◆ issacweb_hybrid_encrypt_cs()

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 인증서를 이용하여 하이브리드 암호화를 실행한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
양수 : 암호문의 크기
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
issacweb_hybrid_encrypt_c() 리턴값
issacweb_base64_encode() 리턴값
매개변수
outstring[OUT] 하이브리드 암호문 (Base64)
input[IN] 평문
input_len[IN] 평문 크기
certB64[IN] RSA 인증서 (Base64)
key[OUT] 대칭키 암호화에 사용된 세션키

◆ issacweb_hybrid_encrypt_file_s()

WA_SDK_API int FUNCCALL issacweb_hybrid_encrypt_file_s ( void *  sessionKey,
char *  filePath,
char *  pubKey 
)

입력한 경로의 파일을 하이브리드 암호화 후 Base64로 인코딩하여 새로운 파일(파일명.enc)에 출력한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
WASDK_SUCCESS : 성공
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_CANNOT_OPEN_FILE : 파일 열기 실패 (입력 파일 또는 출력 파일)
ER_ISSACWEB_CANNOT_READ_FILE : 파일 읽기 실패
ER_ISSACWEB_CANNOT_WRITE_FILE : 파일 쓰기 실패
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEB_HYBRID_ENCRYPT_FAIL : 하이브리드 암호화 실패
issacweb_hybrid_encrypt_s() 리턴값
참고
issacweb_hybrid_decrypt_file_s()
매개변수
sessionKey[OUT] 대칭키 암호화에 사용된 세션키
filePath[IN] 암호화 할 파일 경로
pubKey[IN] RSA 공개키 (Base64)

◆ issacweb_hybrid_decrypt_file_s()

WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_file_s ( void *  sessionKey,
char *  encFilePath,
char *  priKey 
)

암호화 된 파일(Base64)을 복호화 후 새로운 파일(암호화 된 파일 경로에서 .뒤의 값 삭제) 에 출력한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
반환값
WASDK_SUCCESS : 성공
issacweb_hybrid_decrypt_file_ex_s() 리턴값
참고
issacweb_hybrid_encrypt_file_s()
매개변수
sessionKey[OUT] 대칭키 암호화에 사용된 세션키
encFilePath[IN] 암호화 된 파일 경로
priKey[IN] RSA 개인키 (Base64)

◆ issacweb_hybrid_decrypt_file_ex_s()

WA_SDK_API int FUNCCALL issacweb_hybrid_decrypt_file_ex_s ( void *  sessionKey,
char *  encFilePath,
char *  decFilePath,
char *  priKey 
)

암호화 된 파일(Base64)을 복호화 후 새로운 파일에 출력한다.

주의
issacweb_SetSymAlgorithm() 으로 설정된 대칭키 알고리즘을 사용한다.
issacweb_SetHashAlgorithm() 또는 issacweb_SetAsymAlgorithm() 으로 설정된 해시 알고리즘을 사용한다.
기존 decFilePath를 사용하지 않던 오류가 수정되었으니 출력파일 경로에 주의한다.
반환값
WASDK_SUCCESS : 성공
ER_ISSACWEB_INVALID_INPUT : 입력값 오류
ER_ISSACWEB_CANNOT_OPEN_FILE : 파일 열기 실패 (입력 파일 또는 출력 파일)
ER_ISSACWEB_CANNOT_READ_FILE : 파일 읽기 실패
ER_ISSACWEB_CANNOT_WRITE_FILE : 파일 쓰기 실패
ER_ISSACWEB_MEMORY_ALLOC_FAIL : 메모리 할당 실패
ER_ISSACWEB_HYBRID_DECRYPT_FAIL : 하이브리드 암호화 실패
issacweb_hybrid_decrypt_s() 리턴값
매개변수
sessionKey[OUT] 대칭키 암호화에 사용된 세션키
encFilePath[IN] 암호화 된 파일 경로
decFilePath[IN] 복호화 된 파일이 저장될 경로 (NULL 입력 시 암호화 된 파일 경로에서 .뒤의 값 삭제)
priKey[IN] RSA 개인키 (Base64)