WA-SDK
3.0.4.0
WA-SDK
|
새로 작성된 Core API 목록 (ISSAC-Web 위주로 내부코드를 이 API로 대체) 더 자세히 ...
매크로 | |
#define | WASDK_FAIL -1 |
실패 더 자세히 ... | |
#define | WASDK_SUCCESS 0 |
성공 더 자세히 ... | |
#define | MAX_SYMM_KEY_SIZE 32 |
256 bit (AES256) 더 자세히 ... | |
#define | MAX_SYMM_BLOCK_SIZE 16 |
128 bit (SEED, AES128, AES256, ARIA, ...) 더 자세히 ... | |
#define | MAX_ASYMM_KEY_SIZE 512 |
4096 bit (RSA 4096) 더 자세히 ... | |
#define | MAX_HASH_SIZE 64 |
512 bit (SHA 512) 더 자세히 ... | |
#define | WASDK_SAFE_FREE(_PTR_) do { if (_PTR_) { free(_PTR_); (_PTR_) = NULL; } } while (0) |
함수 | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_init_without_license (void) |
라이선스 확인 없이 모듈 초기화만 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_init (void) |
모듈 초기화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_init_with_ini (const char *ini, int ini_len) |
INI 설정을 이용하여 모듈 초기화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_init_with_ini_file (const char *ini_path) |
INI 설정 파일을 이용하여 모듈 초기화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_finalize (void) |
모듈을 종료한다. 더 자세히 ... | |
WA_SDK_API int FUNCCALL | wasdk_get_detail_errorcode (void) |
상세한 에러코드를 리턴한다. 더 자세히 ... | |
WA_SDK_API int FUNCCALL | wasdk_current_state (void) |
모듈의 현재상태를 가져온다. (디버깅 용 정보) 더 자세히 ... | |
WA_SDK_API const char *FUNCCALL | wasdk_version (void) |
모듈의 버전을 가져온다. 더 자세히 ... | |
WA_SDK_API const char *FUNCCALL | wasdk_product_info (void) |
모듈의 정보를 가져온다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_get_license_info (char *outstring) |
라이선스 정보를 가져온다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_set_verified_service (void) |
암호모듈 유한상태모델(FSM)의 현재 상태를 검증 서비스 상태로 변경한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_set_not_verified_service (void) |
암호모듈 유한상태모델(FSM)의 현재 상태를 비검증 서비스 상태로 변경한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_base64_encoding (char *b64, int b64BufSize, const unsigned char *data, int dataSize) |
Base64 인코딩 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_base64_decoding (unsigned char *data, int *dataSize, int dataBufSize, const char *b64) |
Base64 디코딩 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_generate_random (unsigned char *random, int randomSize) |
RNG(Random Number Generator)를 사용하여 랜덤값을 생성한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_generate_keypair (unsigned char *publicKey, int *publicKeySize, int publicKeyBufSize, unsigned char *privateKey, int *privateKeySize, int privateKeyBufSize, EAsymmetricAlgorithm asymmAlg, int keySizeInBit) |
키쌍을 생성한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_check_keypair (const unsigned char *publicKey, int publicKeySize, const unsigned char *privateKey, int privateKeySize, EAsymmetricAlgorithm asymmAlg) |
RSA 키쌍을 검증한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_generate_keypair_ec (unsigned char *publicKey, int *publicKeySize, int publicKeyBufSize, unsigned char *privateKey, int *privateKeySize, int privateKeyBufSize, EAsymmetricAlgorithm asymmAlg, const char *curveName) |
Elliptic Curve 키쌍을 생성한다. (ECDSA, ECKCDSA) 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_check_keypair_ec (const unsigned char *publicKey, int publicKeySize, const unsigned char *privateKey, int privateKeySize, EAsymmetricAlgorithm asymmAlg, const char *curveName) |
Elliptic Curve 키쌍을 검증한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_generate_iv_from_seed (unsigned char *iv, int *ivSize, int ivBufSize, const unsigned char *ivSeed, int ivSeedSize, ESymmetricAlgorithm symmAlg, EHashAlgorithm hashAlg) |
IV SEED를 입력받아 IV를 생성한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_hash_encrypt (unsigned char *hashValue, int *hashValueSize, int hashValueBufSize, const unsigned char *plaintext, int plaintextSize, EHashAlgorithm hashAlg) |
해시 암호화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_hmac_encrypt (unsigned char *hmacValue, int *hmacValueSize, int hmacValueBufSize, const unsigned char *plaintext, int plaintextSize, const unsigned char *key, int keySize, EHashAlgorithm hashAlg) |
HMAC (Hashed MAC) 암호화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_symmetric_encrypt (unsigned char *encrypted, int *encryptedSize, int encryptedBufSize, const unsigned char *plaintext, int plaintextSize, const unsigned char *key, int keySize, const unsigned char *iv, int ivSize, ESymmetricAlgorithm symmAlg, ESymmetricOperationMode opMode) |
비밀키 암호화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_symmetric_encrypt_ex (unsigned char *encrypted, int *encryptedSize, int encryptedBufSize, const unsigned char *plaintext, int plaintextSize, const unsigned char *key, int keySize, const unsigned char *iv, int ivSize, ESymmetricAlgorithm symmAlg, ESymmetricOperationMode opMode, unsigned char padFlag) |
비밀키 암호화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_symmetric_decrypt (unsigned char *decrypted, int *decryptedSize, int decryptedBufSize, const unsigned char *encrypted, int encryptedSize, const unsigned char *key, int keySize, const unsigned char *iv, int ivSize, ESymmetricAlgorithm symmAlg, ESymmetricOperationMode opMode) |
비밀키 복호화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_symmetric_decrypt_ex (unsigned char *decrypted, int *decryptedSize, int decryptedBufSize, const unsigned char *encrypted, int encryptedSize, const unsigned char *key, int keySize, const unsigned char *iv, int ivSize, ESymmetricAlgorithm symmAlg, ESymmetricOperationMode opMode, unsigned char padFlag) |
비밀키 복호화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_rsa_encrypt (unsigned char *encrypted, int *encryptedSize, int encryptedBufSize, const unsigned char *plaintext, int plaintextSize, const unsigned char *publicKey, int publicKeySize, EHashAlgorithm hashAlg, ERsaEncryptionScheme rsaEncryptionScheme) |
RSA 암호화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_rsa_decrypt (unsigned char *decrypted, int *decryptedSize, int decryptedBufSize, const unsigned char *encrypted, int encryptedSize, const unsigned char *privateKey, int privateKeySize, EHashAlgorithm hashAlg, ERsaEncryptionScheme rsaEncryptionScheme) |
RSA 복호화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_rsa_encrypt_by_cert (unsigned char *encrypted, int *encryptedSize, int encryptedBufSize, const unsigned char *plaintext, int plaintextSize, const unsigned char *cert, int certSize, EHashAlgorithm hashAlg) |
RSA 암호화를 실행한다. (인증서의 공개키 사용) 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_rsa_decrypt_by_pkcs8 (unsigned char *decrypted, int *decryptedSize, int decryptedBufSize, const unsigned char *encrypted, int encryptedSize, const unsigned char *privateKey, int privateKeySize, EHashAlgorithm hashAlg) |
RSA 복호화를 실행한다. (PKCS8 형식의 개인키 사용) 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_rsa_decrypt_by_pkcs8_ptr (unsigned char *decrypted, int *decryptedSize, int decryptedBufSize, const unsigned char *encrypted, int encryptedSize, void *privateKeyInfoPtr, EHashAlgorithm hashAlg) |
RSA 복호화를 실행한다. (외부에서 생성된 CIS PKCS8 형식의 개인키 포인터 사용) 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_hybrid_encrypt (unsigned char *encrypted, int *encryptedSize, int encryptedBufSize, const unsigned char *plaintext, int plaintextSize, const unsigned char *customSessionKey, int sessionKeySize, ESymmetricAlgorithm symmAlg, ESymmetricOperationMode opMode, EHashAlgorithm hashAlg, const unsigned char *publicKey, int publicKeySize, ERsaEncryptionScheme rsaEncryptionScheme) |
하이브리드 암호화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_hybrid_decrypt (unsigned char *decrypted, int *decryptedSize, int decryptedBufSize, unsigned char *sessionKey, int *sessionKeySize, int sessionKeyBufSize, const unsigned char *encrypted, int encryptedSize, ESymmetricAlgorithm symmAlg, ESymmetricOperationMode opMode, EHashAlgorithm hashAlg, const unsigned char *privateKey, int privateKeySize, ERsaEncryptionScheme rsaEncryptionScheme) |
하이브리드 복호화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_hybrid_encrypt_by_cert (unsigned char *encrypted, int *encryptedSize, int encryptedBufSize, const unsigned char *plaintext, int plaintextSize, const unsigned char *customSessionKey, int sessionKeySize, ESymmetricAlgorithm symmAlg, ESymmetricOperationMode opMode, EHashAlgorithm hashAlg, const unsigned char *certificate, int certificateSize) |
하이브리드 암호화를 실행한다. 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_hybrid_encrypt_ivseed (unsigned char *encrypted, int *encryptedSize, int encryptedBufSize, const unsigned char *plaintext, int plaintextSize, const unsigned char *customSessionKey, int sessionKeySize, const unsigned char *customIvSeed, int ivSeedSize, ESymmetricAlgorithm symmAlg, ESymmetricOperationMode opMode, EHashAlgorithm hashAlg, const unsigned char *publicKey, int publicKeySize, ERsaEncryptionScheme rsaEncryptionScheme) |
하이브리드 암호화를 실행한다. (IV SEED 포함) 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_hybrid_decrypt_ivseed (unsigned char *decrypted, int *decryptedSize, int decryptedBufSize, unsigned char *sessionKey, int *sessionKeySize, int sessionKeyBufSize, int ivSeedSize, const unsigned char *encrypted, int encryptedSize, ESymmetricAlgorithm symmAlg, ESymmetricOperationMode opMode, EHashAlgorithm hashAlg, const unsigned char *privateKey, int privateKeySize, ERsaEncryptionScheme rsaEncryptionScheme) |
하이브리드 복호화를 실행한다. (IV SEED 포함) 더 자세히 ... | |
WA_SDK_API EErrorCode FUNCCALL | wasdk_hybrid_decrypt_by_sessionkey (unsigned char *decrypted, int *decryptedSize, int decryptedBufSize, const unsigned char *encrypted, int encryptedSize, const unsigned char *sessionKey, int sessionKeySize, ESymmetricAlgorithm symmAlg, ESymmetricOperationMode opMode) |
주어진 세션키로 하이브리드 데이터의 암호문 부분을 복호화한다. 더 자세히 ... | |
WA_SDK_API void FUNCCALL | wasdk_free (void *ptr) |
WA-SDK 에서 생성된 메모리를 해제한다. (다른 메모리 영역) 더 자세히 ... | |
WA_SDK_API const char *FUNCCALL | wasdk_error_message (EErrorCode errorCode) |
에러코드에 해당하는 에러 메시지를 가져온다. 더 자세히 ... | |
새로 작성된 Core API 목록 (ISSAC-Web 위주로 내부코드를 이 API로 대체)
#define WASDK_FAIL -1 |
실패
#define WASDK_SUCCESS 0 |
#define MAX_SYMM_KEY_SIZE 32 |
256 bit (AES256)
#define MAX_SYMM_BLOCK_SIZE 16 |
128 bit (SEED, AES128, AES256, ARIA, ...)
#define MAX_ASYMM_KEY_SIZE 512 |
4096 bit (RSA 4096)
#define MAX_HASH_SIZE 64 |
512 bit (SHA 512)
#define WASDK_SAFE_FREE | ( | _PTR_ | ) | do { if (_PTR_) { free(_PTR_); (_PTR_) = NULL; } } while (0) |
비밀키 암호화 운영모드
enum ESymmetricAlgorithm |
enum EAsymmetricAlgorithm |
비대칭키 알고리즘 (전자서명, 암호화)
enum EHashAlgorithm |
enum ERsaEncryptionScheme |
enum EEncodingFormat |
enum ECompareResult |
WA_SDK_API EErrorCode FUNCCALL wasdk_init_without_license | ( | void | ) |
라이선스 확인 없이 모듈 초기화만 실행한다.
WA_SDK_API EErrorCode FUNCCALL wasdk_init | ( | void | ) |
모듈 초기화를 실행한다.
WA_SDK_API EErrorCode FUNCCALL wasdk_init_with_ini | ( | const char * | ini, |
int | ini_len | ||
) |
INI 설정을 이용하여 모듈 초기화를 실행한다.
ini | [IN] INI 설정 |
ini_len | [IN] INI 설정의 길이 |
WA_SDK_API EErrorCode FUNCCALL wasdk_init_with_ini_file | ( | const char * | ini_path | ) |
INI 설정 파일을 이용하여 모듈 초기화를 실행한다.
ini_path | [IN] INI 설정 파일 경로 |
WA_SDK_API EErrorCode FUNCCALL wasdk_finalize | ( | void | ) |
모듈을 종료한다.
WA_SDK_API int FUNCCALL wasdk_get_detail_errorcode | ( | void | ) |
상세한 에러코드를 리턴한다.
WA_SDK_API int FUNCCALL wasdk_current_state | ( | void | ) |
모듈의 현재상태를 가져온다. (디버깅 용 정보)
WA_SDK_API const char* FUNCCALL wasdk_version | ( | void | ) |
모듈의 버전을 가져온다.
WA_SDK_API const char* FUNCCALL wasdk_product_info | ( | void | ) |
모듈의 정보를 가져온다.
WA_SDK_API EErrorCode FUNCCALL wasdk_get_license_info | ( | char * | outstring | ) |
WA_SDK_API EErrorCode FUNCCALL wasdk_set_verified_service | ( | void | ) |
암호모듈 유한상태모델(FSM)의 현재 상태를 검증 서비스 상태로 변경한다.
WA_SDK_API EErrorCode FUNCCALL wasdk_set_not_verified_service | ( | void | ) |
암호모듈 유한상태모델(FSM)의 현재 상태를 비검증 서비스 상태로 변경한다.
WA_SDK_API EErrorCode FUNCCALL wasdk_base64_encoding | ( | char * | b64, |
int | b64BufSize, | ||
const unsigned char * | data, | ||
int | dataSize | ||
) |
Base64 인코딩
b64 | [OUT] Base64 문자열 |
b64BufSize | [IN] Base64 문자열 버퍼 크기 |
data | [IN] 데이터 |
dataSize | [IN] 데이터 크기 |
WA_SDK_API EErrorCode FUNCCALL wasdk_base64_decoding | ( | unsigned char * | data, |
int * | dataSize, | ||
int | dataBufSize, | ||
const char * | b64 | ||
) |
Base64 디코딩
data | [OUT] 디코딩 된 데이터 |
dataSize | [OUT] 디코딩 된 데이터 크기 |
dataBufSize | [IN] 디코딩 된 데이터 버퍼 크기 |
b64 | [IN] Base64 문자열 |
WA_SDK_API EErrorCode FUNCCALL wasdk_generate_random | ( | unsigned char * | random, |
int | randomSize | ||
) |
RNG(Random Number Generator)를 사용하여 랜덤값을 생성한다.
random | [OUT] 랜덤값 |
randomSize | [IN] 랜덤값 크기 |
WA_SDK_API EErrorCode FUNCCALL wasdk_generate_keypair | ( | unsigned char * | publicKey, |
int * | publicKeySize, | ||
int | publicKeyBufSize, | ||
unsigned char * | privateKey, | ||
int * | privateKeySize, | ||
int | privateKeyBufSize, | ||
EAsymmetricAlgorithm | asymmAlg, | ||
int | keySizeInBit | ||
) |
키쌍을 생성한다.
publicKey | [OUT] 공개키 |
publicKeySize | [OUT] 공개키 크기 |
publicKeyBufSize | [IN] 공개키 버퍼 크기 |
privateKey | [OUT] 개인키 |
privateKeySize | [OUT] 개인키 크기 |
privateKeyBufSize | [IN] 개인키 버퍼 크기 |
asymmAlg | [IN] 공개키 알고리즘 |
keySizeInBit | [IN] 공개키 길이 (bit) |
WA_SDK_API EErrorCode FUNCCALL wasdk_check_keypair | ( | const unsigned char * | publicKey, |
int | publicKeySize, | ||
const unsigned char * | privateKey, | ||
int | privateKeySize, | ||
EAsymmetricAlgorithm | asymmAlg | ||
) |
RSA 키쌍을 검증한다.
publicKey | [IN] 공개키 |
publicKeySize | [IN] 공개키 크기 |
privateKey | [IN] 개인키 |
privateKeySize | [IN] 개인키 크기 |
asymmAlg | [IN] 공개키 알고리즘 |
WA_SDK_API EErrorCode FUNCCALL wasdk_generate_keypair_ec | ( | unsigned char * | publicKey, |
int * | publicKeySize, | ||
int | publicKeyBufSize, | ||
unsigned char * | privateKey, | ||
int * | privateKeySize, | ||
int | privateKeyBufSize, | ||
EAsymmetricAlgorithm | asymmAlg, | ||
const char * | curveName | ||
) |
Elliptic Curve 키쌍을 생성한다. (ECDSA, ECKCDSA)
publicKey | [OUT] 공개키 |
publicKeySize | [OUT] 공개키 크기 |
publicKeyBufSize | [IN] 공개키 버퍼 크기 |
privateKey | [OUT] 개인키 |
privateKeySize | [OUT] 개인키 크기 |
privateKeyBufSize | [IN] 개인키 버퍼 크기 |
asymmAlg | [IN] 공개키 알고리즘 |
curveName | [IN] Curve 이름 |
WA_SDK_API EErrorCode FUNCCALL wasdk_check_keypair_ec | ( | const unsigned char * | publicKey, |
int | publicKeySize, | ||
const unsigned char * | privateKey, | ||
int | privateKeySize, | ||
EAsymmetricAlgorithm | asymmAlg, | ||
const char * | curveName | ||
) |
Elliptic Curve 키쌍을 검증한다.
publicKey | [IN] 공개키 |
publicKeySize | [IN] 공개키 크기 |
privateKey | [IN] 개인키 |
privateKeySize | [IN] 개인키 크기 |
asymmAlg | [IN] 공개키 알고리즘 |
curveName | [IN] Curve 이름 |
WA_SDK_API EErrorCode FUNCCALL wasdk_generate_iv_from_seed | ( | unsigned char * | iv, |
int * | ivSize, | ||
int | ivBufSize, | ||
const unsigned char * | ivSeed, | ||
int | ivSeedSize, | ||
ESymmetricAlgorithm | symmAlg, | ||
EHashAlgorithm | hashAlg | ||
) |
IV SEED를 입력받아 IV를 생성한다.
iv | [OUT] IV |
ivSize | [OUT] IV 크기 |
ivBufSize | [IN] IV 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
ivSeed | [IN] IV SEED |
ivSeedSize | [IN] IV SEED 크기 |
symmAlg | [IN] 대칭키 알고리즘 |
hashAlg | [IN] 해시 알고리즘 |
WA_SDK_API EErrorCode FUNCCALL wasdk_hash_encrypt | ( | unsigned char * | hashValue, |
int * | hashValueSize, | ||
int | hashValueBufSize, | ||
const unsigned char * | plaintext, | ||
int | plaintextSize, | ||
EHashAlgorithm | hashAlg | ||
) |
해시 암호화를 실행한다.
hashValue | [OUT] 해시값 |
hashValueSize | [OUT] 해시값 크기 |
hashValueBufSize | [IN] 해시값 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
plaintext | [IN] 원문 데이터 |
plaintextSize | [IN] 원문 데이터 크기 |
hashAlg | [IN] 해시 알고리즘 |
WA_SDK_API EErrorCode FUNCCALL wasdk_hmac_encrypt | ( | unsigned char * | hmacValue, |
int * | hmacValueSize, | ||
int | hmacValueBufSize, | ||
const unsigned char * | plaintext, | ||
int | plaintextSize, | ||
const unsigned char * | key, | ||
int | keySize, | ||
EHashAlgorithm | hashAlg | ||
) |
HMAC (Hashed MAC) 암호화를 실행한다.
hmacValue | [OUT] HMAC 값 |
hmacValueSize | [OUT] HMAC 값 크기 |
hmacValueBufSize | [IN] HMAC 값 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
plaintext | [IN] 원문 데이터 |
plaintextSize | [IN] 원문 데이터 크기 |
key | [IN] 비밀키 |
keySize | [IN] 비밀키 크기 |
hashAlg | [IN] 해시 알고리즘 |
WA_SDK_API EErrorCode FUNCCALL wasdk_symmetric_encrypt | ( | unsigned char * | encrypted, |
int * | encryptedSize, | ||
int | encryptedBufSize, | ||
const unsigned char * | plaintext, | ||
int | plaintextSize, | ||
const unsigned char * | key, | ||
int | keySize, | ||
const unsigned char * | iv, | ||
int | ivSize, | ||
ESymmetricAlgorithm | symmAlg, | ||
ESymmetricOperationMode | opMode | ||
) |
비밀키 암호화를 실행한다.
encrypted | [OUT] 암호화 된 데이터 |
encryptedSize | [OUT] 암호화 된 데이터 크기 |
encryptedBufSize | [IN] 암호화 된 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
plaintext | [IN] 원문 데이터 |
plaintextSize | [IN] 원문 데이터 크기 |
key | [IN] 비밀키 |
keySize | [IN] 비밀키 크기 |
iv | [IN] 운영모드에 따라 필요한 초기 벡터 (필요 없으면 NULL, 이 경우는 0x0000... 사용) |
ivSize | [IN] IV 크기 (필요없으면 0) |
symmAlg | [IN] 대칭키 알고리즘 |
opMode | [IN] 대칭키 운영모드 |
WA_SDK_API EErrorCode FUNCCALL wasdk_symmetric_encrypt_ex | ( | unsigned char * | encrypted, |
int * | encryptedSize, | ||
int | encryptedBufSize, | ||
const unsigned char * | plaintext, | ||
int | plaintextSize, | ||
const unsigned char * | key, | ||
int | keySize, | ||
const unsigned char * | iv, | ||
int | ivSize, | ||
ESymmetricAlgorithm | symmAlg, | ||
ESymmetricOperationMode | opMode, | ||
unsigned char | padFlag | ||
) |
비밀키 암호화를 실행한다.
encrypted | [OUT] 암호화 된 데이터 |
encryptedSize | [OUT] 암호화 된 데이터 크기 |
encryptedBufSize | [IN] 암호화 된 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
plaintext | [IN] 원문 데이터 |
plaintextSize | [IN] 원문 데이터 크기 |
key | [IN] 비밀키 |
keySize | [IN] 비밀키 크기 |
iv | [IN] 운영모드에 따라 필요한 초기 벡터 (필요 없으면 NULL, 이 경우는 0x0000... 사용) |
ivSize | [IN] IV 크기 (필요없으면 0) |
symmAlg | [IN] 대칭키 알고리즘 |
opMode | [IN] 대칭키 운영모드 |
padFlag | [IN] 패딩 플래그 (0 : none, 1 : PKCS padding) |
WA_SDK_API EErrorCode FUNCCALL wasdk_symmetric_decrypt | ( | unsigned char * | decrypted, |
int * | decryptedSize, | ||
int | decryptedBufSize, | ||
const unsigned char * | encrypted, | ||
int | encryptedSize, | ||
const unsigned char * | key, | ||
int | keySize, | ||
const unsigned char * | iv, | ||
int | ivSize, | ||
ESymmetricAlgorithm | symmAlg, | ||
ESymmetricOperationMode | opMode | ||
) |
비밀키 복호화를 실행한다.
decrypted | [OUT] 복호화 된 원문 |
decryptedSize | [OUT] 복호화 된 원문 크기 |
decryptedBufSize | [IN] 복호화 된 원문 버퍼 크기. 패딩을 고려하여 최소 암호문 크기보다 커야한다. (-1 : 과거 API 연동용. 버퍼 확인 안함) |
encrypted | [IN] 암호문 |
encryptedSize | [IN] 암호문 크기 |
key | [IN] 비밀키 |
keySize | [IN] 비밀키 크기 |
iv | [IN] 운영모드에 따라 필요한 초기 벡터 (필요 없으면 NULL, 이 경우는 0x0000... 사용) |
ivSize | [IN] IV 크기 (필요없으면 0) |
symmAlg | [IN] 대칭키 알고리즘 |
opMode | [IN] 대칭키 운영모드 |
WA_SDK_API EErrorCode FUNCCALL wasdk_symmetric_decrypt_ex | ( | unsigned char * | decrypted, |
int * | decryptedSize, | ||
int | decryptedBufSize, | ||
const unsigned char * | encrypted, | ||
int | encryptedSize, | ||
const unsigned char * | key, | ||
int | keySize, | ||
const unsigned char * | iv, | ||
int | ivSize, | ||
ESymmetricAlgorithm | symmAlg, | ||
ESymmetricOperationMode | opMode, | ||
unsigned char | padFlag | ||
) |
비밀키 복호화를 실행한다.
decrypted | [OUT] 복호화 된 원문 |
decryptedSize | [OUT] 복호화 된 원문 크기 |
decryptedBufSize | [IN] 복호화 된 원문 버퍼 크기. 패딩을 고려하여 최소 암호문 크기보다 커야한다. (-1 : 과거 API 연동용. 버퍼 확인 안함) |
encrypted | [IN] 암호문 |
encryptedSize | [IN] 암호문 크기 |
key | [IN] 비밀키 |
keySize | [IN] 비밀키 크기 |
iv | [IN] 운영모드에 따라 필요한 초기 벡터 (필요 없으면 NULL, 이 경우는 0x0000... 사용) |
ivSize | [IN] IV 크기 (필요없으면 0) |
symmAlg | [IN] 대칭키 알고리즘 |
opMode | [IN] 대칭키 운영모드 |
padFlag | [IN] 패딩 플래그 (0 : none, 1 : PKCS padding) |
WA_SDK_API EErrorCode FUNCCALL wasdk_rsa_encrypt | ( | unsigned char * | encrypted, |
int * | encryptedSize, | ||
int | encryptedBufSize, | ||
const unsigned char * | plaintext, | ||
int | plaintextSize, | ||
const unsigned char * | publicKey, | ||
int | publicKeySize, | ||
EHashAlgorithm | hashAlg, | ||
ERsaEncryptionScheme | rsaEncryptionScheme | ||
) |
RSA 암호화를 실행한다.
encrypted | [OUT] 암호화 된 데이터 |
encryptedSize | [OUT] 암호화 된 데이터 크기 |
encryptedBufSize | [IN] 암호화 된 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
plaintext | [IN] 원문 데이터 |
plaintextSize | [IN] 원문 데이터 크기 |
publicKey | [IN] 공개키 |
publicKeySize | [IN] 공개키 크기 |
hashAlg | [IN] 해시 알고리즘 |
rsaEncryptionScheme | [IN] RSA Encryption Scheme |
WA_SDK_API EErrorCode FUNCCALL wasdk_rsa_decrypt | ( | unsigned char * | decrypted, |
int * | decryptedSize, | ||
int | decryptedBufSize, | ||
const unsigned char * | encrypted, | ||
int | encryptedSize, | ||
const unsigned char * | privateKey, | ||
int | privateKeySize, | ||
EHashAlgorithm | hashAlg, | ||
ERsaEncryptionScheme | rsaEncryptionScheme | ||
) |
RSA 복호화를 실행한다.
decrypted | [OUT] 원문 데이터 |
decryptedSize | [OUT] 원문 데이터 크기 |
decryptedBufSize | [IN] 원문 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
encrypted | [IN] 암호화 된 데이터 |
encryptedSize | [IN] 암호화 된 데이터 크기 |
privateKey | [IN] RSA 개인키 |
privateKeySize | [IN] RSA 개인키 크기 |
hashAlg | [IN] 해시 알고리즘 |
rsaEncryptionScheme | [IN] RSA Encryption Scheme |
WA_SDK_API EErrorCode FUNCCALL wasdk_rsa_encrypt_by_cert | ( | unsigned char * | encrypted, |
int * | encryptedSize, | ||
int | encryptedBufSize, | ||
const unsigned char * | plaintext, | ||
int | plaintextSize, | ||
const unsigned char * | cert, | ||
int | certSize, | ||
EHashAlgorithm | hashAlg | ||
) |
RSA 암호화를 실행한다. (인증서의 공개키 사용)
encrypted | [OUT] 암호화 된 데이터 |
encryptedSize | [OUT] 암호화 된 데이터 크기 |
encryptedBufSize | [IN] 암호화 된 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
plaintext | [IN] 원문 데이터 |
plaintextSize | [IN] 원문 데이터 크기 |
cert | [IN] 인증서 |
certSize | [IN] 인증서 크기 |
hashAlg | [IN] 해시 알고리즘 |
WA_SDK_API EErrorCode FUNCCALL wasdk_rsa_decrypt_by_pkcs8 | ( | unsigned char * | decrypted, |
int * | decryptedSize, | ||
int | decryptedBufSize, | ||
const unsigned char * | encrypted, | ||
int | encryptedSize, | ||
const unsigned char * | privateKey, | ||
int | privateKeySize, | ||
EHashAlgorithm | hashAlg | ||
) |
RSA 복호화를 실행한다. (PKCS8 형식의 개인키 사용)
decrypted | [OUT] 원문 데이터 |
decryptedSize | [OUT] 원문 데이터 크기 |
decryptedBufSize | [IN] 원문 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
encrypted | [IN] 암호화 된 데이터 |
encryptedSize | [IN] 암호화 된 데이터 크기 |
privateKey | [IN] 개인키(PKCS8) |
privateKeySize | [IN] 개인키(PKCS8) 크기 |
hashAlg | [IN] 해시 알고리즘 |
WA_SDK_API EErrorCode FUNCCALL wasdk_rsa_decrypt_by_pkcs8_ptr | ( | unsigned char * | decrypted, |
int * | decryptedSize, | ||
int | decryptedBufSize, | ||
const unsigned char * | encrypted, | ||
int | encryptedSize, | ||
void * | privateKeyInfoPtr, | ||
EHashAlgorithm | hashAlg | ||
) |
RSA 복호화를 실행한다. (외부에서 생성된 CIS PKCS8 형식의 개인키 포인터 사용)
decrypted | [OUT] 원문 데이터 |
decryptedSize | [OUT] 원문 데이터 크기 |
decryptedBufSize | [IN] 원문 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
encrypted | [IN] 암호화 된 데이터 |
encryptedSize | [IN] 암호화 된 데이터 크기 |
privateKeyInfoPtr | [IN] 개인키(PKCS8) 포인터 |
hashAlg | [IN] 해시 알고리즘 |
WA_SDK_API EErrorCode FUNCCALL wasdk_hybrid_encrypt | ( | unsigned char * | encrypted, |
int * | encryptedSize, | ||
int | encryptedBufSize, | ||
const unsigned char * | plaintext, | ||
int | plaintextSize, | ||
const unsigned char * | customSessionKey, | ||
int | sessionKeySize, | ||
ESymmetricAlgorithm | symmAlg, | ||
ESymmetricOperationMode | opMode, | ||
EHashAlgorithm | hashAlg, | ||
const unsigned char * | publicKey, | ||
int | publicKeySize, | ||
ERsaEncryptionScheme | rsaEncryptionScheme | ||
) |
하이브리드 암호화를 실행한다.
encrypted | [OUT] 하이브리드 암호화 된 데이터 |
encryptedSize | [OUT] 하이브리드 암호화 된 데이터 크기 |
encryptedBufSize | [IN] 하이브리드 암호화 된 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
plaintext | [IN] 원문 데이터 |
plaintextSize | [IN] 원문 데이터 크기 |
customSessionKey | [IN] 세션키 (랜덤으로 생성된 값을 사용하려면 NULL) |
sessionKeySize | [IN] 세션키 크기 |
symmAlg | [IN] 대칭키 알고리즘 |
opMode | [IN] 대칭키 운영모드 |
hashAlg | [IN] 해시 알고리즘 |
publicKey | [IN] 공개키 |
publicKeySize | [IN] 공개키 크기 |
rsaEncryptionScheme | [IN] RSA Encryption Scheme |
WA_SDK_API EErrorCode FUNCCALL wasdk_hybrid_decrypt | ( | unsigned char * | decrypted, |
int * | decryptedSize, | ||
int | decryptedBufSize, | ||
unsigned char * | sessionKey, | ||
int * | sessionKeySize, | ||
int | sessionKeyBufSize, | ||
const unsigned char * | encrypted, | ||
int | encryptedSize, | ||
ESymmetricAlgorithm | symmAlg, | ||
ESymmetricOperationMode | opMode, | ||
EHashAlgorithm | hashAlg, | ||
const unsigned char * | privateKey, | ||
int | privateKeySize, | ||
ERsaEncryptionScheme | rsaEncryptionScheme | ||
) |
하이브리드 복호화를 실행한다.
decrypted | [OUT] 복호화 된 원문 데이터 |
decryptedSize | [OUT] 복호화 된 원문 데이터 크기 |
decryptedBufSize | [IN] 복호화 된 원문 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
sessionKey | [OUT] 세션키 (필요 없으면 NULL 입력) |
sessionKeySize | [OUT] 세션키 크기 (필요 없으면 NULL 입력) |
sessionKeyBufSize | [IN] 세션키 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
encrypted | [IN] 암호화 된 하이브리드 데이터 |
encryptedSize | [IN] 암호화 된 하이브리드 데이터 크기 |
symmAlg | [IN] 대칭키 알고리즘 |
opMode | [IN] 대칭키 운영모드 |
hashAlg | [IN] 해시 알고리즘 |
privateKey | [IN] 개인키 |
privateKeySize | [IN] 개인키 크기 |
rsaEncryptionScheme | [IN] RSA Encryption Scheme |
WA_SDK_API EErrorCode FUNCCALL wasdk_hybrid_encrypt_by_cert | ( | unsigned char * | encrypted, |
int * | encryptedSize, | ||
int | encryptedBufSize, | ||
const unsigned char * | plaintext, | ||
int | plaintextSize, | ||
const unsigned char * | customSessionKey, | ||
int | sessionKeySize, | ||
ESymmetricAlgorithm | symmAlg, | ||
ESymmetricOperationMode | opMode, | ||
EHashAlgorithm | hashAlg, | ||
const unsigned char * | certificate, | ||
int | certificateSize | ||
) |
하이브리드 암호화를 실행한다.
encrypted | [OUT] 하이브리드 암호화 된 데이터 |
encryptedSize | [OUT] 하이브리드 암호화 된 데이터 크기 |
encryptedBufSize | [IN] 하이브리드 암호화 된 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
plaintext | [IN] 원문 데이터 |
plaintextSize | [IN] 원문 데이터 크기 |
customSessionKey | [IN] 세션키 (랜덤으로 생성된 값을 사용하려면 NULL) |
sessionKeySize | [IN] 세션키 크기 |
symmAlg | [IN] 대칭키 알고리즘 |
opMode | [IN] 대칭키 운영모드 |
hashAlg | [IN] 해시 알고리즘 |
certificate | [IN] 인증서 |
certificateSize | [IN] 인증서 크기 |
WA_SDK_API EErrorCode FUNCCALL wasdk_hybrid_encrypt_ivseed | ( | unsigned char * | encrypted, |
int * | encryptedSize, | ||
int | encryptedBufSize, | ||
const unsigned char * | plaintext, | ||
int | plaintextSize, | ||
const unsigned char * | customSessionKey, | ||
int | sessionKeySize, | ||
const unsigned char * | customIvSeed, | ||
int | ivSeedSize, | ||
ESymmetricAlgorithm | symmAlg, | ||
ESymmetricOperationMode | opMode, | ||
EHashAlgorithm | hashAlg, | ||
const unsigned char * | publicKey, | ||
int | publicKeySize, | ||
ERsaEncryptionScheme | rsaEncryptionScheme | ||
) |
하이브리드 암호화를 실행한다. (IV SEED 포함)
encrypted | [OUT] 하이브리드 암호화 된 데이터 |
encryptedSize | [OUT] 하이브리드 암호화 된 데이터 크기 |
encryptedBufSize | [IN] 하이브리드 암호화 된 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
plaintext | [IN] 원문 데이터 |
plaintextSize | [IN] 원문 데이터 크기 |
customSessionKey | [IN] 세션키 (랜덤으로 생성된 값을 사용하려면 NULL) |
sessionKeySize | [IN] 세션키 크기 |
customIvSeed | [IN] IV 생성에 사용되는 값 (랜덤으로 생성된 값을 사용하려면 NULL) |
ivSeedSize | [IN] IV 생성에 사용되는 값의 크기 |
symmAlg | [IN] 대칭키 알고리즘 |
opMode | [IN] 대칭키 운영모드 |
hashAlg | [IN] 해시 알고리즘 |
publicKey | [IN] 공개키 |
publicKeySize | [IN] 공개키 크기 |
rsaEncryptionScheme | [IN] RSA Encryption Scheme |
WA_SDK_API EErrorCode FUNCCALL wasdk_hybrid_decrypt_ivseed | ( | unsigned char * | decrypted, |
int * | decryptedSize, | ||
int | decryptedBufSize, | ||
unsigned char * | sessionKey, | ||
int * | sessionKeySize, | ||
int | sessionKeyBufSize, | ||
int | ivSeedSize, | ||
const unsigned char * | encrypted, | ||
int | encryptedSize, | ||
ESymmetricAlgorithm | symmAlg, | ||
ESymmetricOperationMode | opMode, | ||
EHashAlgorithm | hashAlg, | ||
const unsigned char * | privateKey, | ||
int | privateKeySize, | ||
ERsaEncryptionScheme | rsaEncryptionScheme | ||
) |
하이브리드 복호화를 실행한다. (IV SEED 포함)
decrypted | [OUT] 복호화 된 원문 데이터 |
decryptedSize | [OUT] 복호화 된 원문 데이터 크기 |
decryptedBufSize | [IN] 복호화 된 원문 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
sessionKey | [OUT] 세션키 (필요 없으면 NULL 입력) |
sessionKeySize | [OUT] 세션키 크기 (필요 없으면 NULL 입력) |
sessionKeyBufSize | [IN] 세션키 버퍼 크기 |
ivSeedSize | [IN] IV 생성에 사용되는 값의 크기 |
encrypted | [IN] 암호화 된 하이브리드 데이터 |
encryptedSize | [IN] 암호화 된 하이브리드 데이터 크기 |
symmAlg | [IN] 대칭키 알고리즘 |
opMode | [IN] 대칭키 운영모드 |
hashAlg | [IN] 해시 알고리즘 |
privateKey | [IN] 개인키 |
privateKeySize | [IN] 개인키 크기 |
rsaEncryptionScheme | [IN] RSA Encryption Scheme |
WA_SDK_API EErrorCode FUNCCALL wasdk_hybrid_decrypt_by_sessionkey | ( | unsigned char * | decrypted, |
int * | decryptedSize, | ||
int | decryptedBufSize, | ||
const unsigned char * | encrypted, | ||
int | encryptedSize, | ||
const unsigned char * | sessionKey, | ||
int | sessionKeySize, | ||
ESymmetricAlgorithm | symmAlg, | ||
ESymmetricOperationMode | opMode | ||
) |
주어진 세션키로 하이브리드 데이터의 암호문 부분을 복호화한다.
decrypted | [OUT] 복호화 된 원문 데이터 |
decryptedSize | [OUT] 복호화 된 원문 데이터 크기 |
decryptedBufSize | [IN] 복호화 된 원문 데이터 버퍼 크기 (-1 : 과거 API 연동용. 버퍼 확인 안함) |
encrypted | [IN] 암호화 된 하이브리드 데이터 |
encryptedSize | [IN] 암호화 된 하이브리드 데이터 크기 |
sessionKey | [IN] 세션키 |
sessionKeySize | [IN] 세션키 크기 |
symmAlg | [IN] 대칭키 알고리즘 |
opMode | [IN] 대칭키 운영모드 |
WA_SDK_API void FUNCCALL wasdk_free | ( | void * | ptr | ) |
WA-SDK 에서 생성된 메모리를 해제한다. (다른 메모리 영역)
ptr | [IN] WA-SDK 에서 생성된 메모리 포인터 |
WA_SDK_API const char* FUNCCALL wasdk_error_message | ( | EErrorCode | errorCode | ) |
에러코드에 해당하는 에러 메시지를 가져온다.
errorCode | [IN] 에러코드 |