WA-SDK
3.0.4.0
WA-SDK
|
#include "issacweb.h"
데이터 구조 | |
struct | issac_session |
WA_SDK_API int FUNCCALL issacweb_server_session_create | ( | issac_session * | session | ) |
서버의 세션 정보를 담는 구조체(issac_session)를 생성한다.
ISSACWebProKeyLoader를 이용해서 공유 메모리에 인증서와 공개키가 로드되어 있어야 한다.
session | [OUT] 생성된 서버의 세션 정보를 담는 구조체 |
0, 양수 : 성공
음수 : 실패 (에러코드)
WA_SDK_API int FUNCCALL issacweb_server_session_delete | ( | issac_session * | session | ) |
서버의 세션 정보를 담는 구조체(issac_session)를 생성할때 할당했던 메모리를 해제한다.
issacweb_server_session_create()
로 서버의 세션 정보를 담는 구조체를 생성한 다음 사용후 반드시 이 함수를 호출하여 사용된 메모리를 해제하여야 한다.
session | [IN,OUT] 서버의 세션 정보를 담는 구조체 |
0, 양수 : 성공
음수 : 실패 (에러코드)
WA_SDK_API int FUNCCALL issacweb_server_session_write | ( | issac_binary | outbuf, |
issac_session * | session | ||
) |
서버의 세션 정보를 담는 구조체(issac_session)를 인코딩하여 버퍼에 담는다.
outbuf에는 4K Byte의 메모리가 할당되어있어야 한다.
outbuf | [OUT] 서버의 세션 정보를 담는 구조체가 인코딩 되어 담길 버퍼 |
session | [IN] 서버의 세션 정보를 담는 구조체 |
0, 양수 : 성공, outbuf의 길이
음수 : 실패 (에러코드)
WA_SDK_API int FUNCCALL issacweb_server_session_read | ( | issac_session * | session, |
issac_binary | input, | ||
int | input_len | ||
) |
버퍼에 담긴 정보를 디코딩하여 서버의 세션 정보를 담는 구조체(issac_session)를 생성한다.
session | (Out) 생성된 서버의 세션 정보를 담는 구조체 |
input | (In) 서버의 세션 정보를 담는 구조체가 인코딩 되어 담긴 버퍼 |
input_len | (in) 버퍼의 길이 |
issacweb_server_session_delete를 호출하여 사용된 메모리를 해재해 주어야 한다.
WA_SDK_API int FUNCCALL issacweb_server_session_resolve_request | ( | issac_session * | session, |
issac_binary | input | ||
) |
클라이언트에서 생성한 세션 요청 메세지를 해석한다.
session | (In/Out) 서버의 세션 정보를 담는 구조체 |
input | (In) 클라이언트에서 생성한 세션 요청 메세지 |
WA_SDK_API int FUNCCALL issacweb_server_session_resolve_request_s | ( | issac_session * | session, |
issac_string | inputstring | ||
) |
클라이언트에서 생성한 세션 요청 메세지를 해석한다.
session | (In/Out) 서버의 세션 정보를 담는 구조체 |
inputstring | (In) 클라이언트에서 생성한 세션 요청 메세지, BASE64 인코딩된 문자열 |
WA_SDK_API int FUNCCALL issacweb_server_session_decrypt | ( | issac_binary | outbuf, |
issac_binary | input, | ||
int | input_len, | ||
issac_session * | session | ||
) |
클라이언트에서 세션 방식으로 암호화한 메세지를 복호화한다.
outbuf | (Out) 복호화된 메세지 |
input | (In) 암호화된 메세지 |
input_len | (In) 암호화된 메세지의 길이 |
session | (In) 서버의 세션 정보를 담는 구조체 |
outbuf에는 input_len만큼의 메모리가 할당되어 있어야 한다. 클라이언트의 세션 요청 메세지를 해석한 후 이 함수를 불러야 한다.
WA_SDK_API int FUNCCALL issacweb_server_session_decrypt_s | ( | issac_binary | outbuf, |
issac_string | inputstring, | ||
issac_session * | session | ||
) |
클라이언트에서 세션 방식으로 암호화한 메세지를 복호화한다.
outbuf | (Out) 복호화된 메세지 |
inputstring | (In) 암호화된 메세지, BASE64 인코딩된 문자열 |
session | (In) 서버의 세션 정보를 담는 구조체 |
outbuf에는 inputstring의 길이(strlen(inputstring))만큼의 메모리가 할당되어 있어야 한다. 클라이언트의 세션 요청 메세지를 해석한 후 이 함수를 불러야 한다.
WA_SDK_API int FUNCCALL issacweb_server_session_make_confirm | ( | issac_binary | outbuf, |
issac_session * | session | ||
) |
클라이언트에 보낼 서버의 세션 확인 메세지를 만든다.
outbuf | (Out) 서버의 세션 확인 메세지 |
session | (In/Out) 서버의 세션 정보를 담는 구조체 |
outbuf에는 300 Byte만큼의 메모리가 할당되어 있어야 한다. 서버가 클라이언트의 세션 요청 메세지를 해석한 후 이 함수를 불러야 한다.
WA_SDK_API int FUNCCALL issacweb_server_session_make_confirm_s | ( | issac_string | outstring, |
issac_session * | session | ||
) |
클라이언트에 보낼 서버의 세션 확인 메세지를 만든다.
outstring | (Out) 서버의 세션 확인 메세지. BASE64 인코딩된 문자열 |
session | (In/Out) 서버의 세션 정보를 담는 구조체 |
outstring에는 400 Byte만큼의 메모리가 할당되어 있어야 한다. 서버가 클라이언트의 세션 요청 메세지를 해석한 후 이 함수를 불러야 한다.
WA_SDK_API int FUNCCALL issacweb_server_session_encrypt | ( | issac_binary | outbuf, |
issac_binary | input, | ||
int | input_len, | ||
issac_session * | session | ||
) |
클라이언트에 보낼 메세지를 세션 방식으로 암호화 한다.
outbuf | (Out) 암호화된 메세지 |
input | (In) 암호화할 원문 메세지 |
input_len | (In) 암호화할 원문 메세지의 길이 |
session | (In) 서버의 세션 정보를 담는 구조체 |
outbuf에는 input_len+32 만큼의 메모리가 할당되어 있어야 한다. 클라이언트에 보낼 서버의 세션 확인 메세지를 만드후 이 함수를 불러야 한다.
WA_SDK_API int FUNCCALL issacweb_server_session_encrypt_s | ( | issac_string | outstring, |
issac_string | input, | ||
int | input_len, | ||
issac_session * | session | ||
) |
클라이언트에 보낼 메세지를 세션 방식으로 암호화 한다.
outstring | (Out) 암호화된 메세지, BASE64 인코딩된 문자열 |
input | (In) 암호화할 원문 메세지 |
input_len | (In) 암호화할 원문 메세지의 길이 |
session | (In) 서버의 세션 정보를 담는 구조체 |
outstring에는 (input_len+32)*4/3+6 만큼의 메모리가 할당되어 있어야 한다. 클라이언트에 보낼 서버의 세션 확인 메세지를 만드후 이 함수를 불러야 한다.
WA_SDK_API int FUNCCALL issacweb_server_publickey_encrypt | ( | issac_binary | outbuf, |
issac_binary | inbuf, | ||
int | inbuf_len | ||
) |
메세지를 공개키 방식으로 암호화 한다.
outbuf | (Out) 암호화된 메세지 |
inbuf | (In) 암호화할 원문 메세지 |
inbuf_len | (In) 암호화할 원문 메세지의 길이(80 이하) |
outbuf에는 256 Byte 만큼의 메모리가 할당되어 있어야 한다. 공개키 방식 암호화에 필요한 서버의 인증서는 ISSACWebProKeyLoader를 이용해서 공유 메모리에 로드되어 있어야 한다.
WA_SDK_API int FUNCCALL issacweb_server_publickey_encrypt_s | ( | issac_string | outstring, |
issac_binary | inbuf, | ||
int | inbuf_len | ||
) |
메세지를 공개키 방식으로 암호화 한다.
outstring | (Out) 암호화된 메세지, BASE64 인코딩된 문자열 |
inbuf | (In) 암호화할 원문 메세지 |
inbuf_len | (In) 암호화할 원문 메세지의 길이(80 이하) |
outbuf에는 256*4/3 +6 Byte 만큼의 메모리가 할당되어 있어야 한다. 공개키 방식 암호화에 필요한 서버의 인증서는 ISSACWebProKeyLoader를 이용해서 공유 메모리에 로드되어 있어야 한다.
WA_SDK_API int FUNCCALL issacweb_server_publickey_decrypt | ( | issac_binary | outbuf, |
issac_binary | inbuf, | ||
int | inbuf_len | ||
) |
공개키 방식으로 암호화한 메세지를 복호화한다.
outbuf | (Out) 복호화된 메세지 |
inbuf | (In) 암호화된 메세지 |
inbuf_len | (In) 암호화된 메세지의 길이 |
outbuf에는 inbuf_len 메모리가 할당되어 있어야 한다. 공개키 방식 복호화에 필요한 서버의 비공개키는 ISSACWebProKeyLoader를 이용해서 공유 메모리에 로드되어 있어야 한다.
WA_SDK_API int FUNCCALL issacweb_server_publickey_decrypt_s | ( | issac_binary | outbuf, |
issac_string | inputstring | ||
) |
공개키 방식으로 암호화한 메세지를 복호화한다.
outbuf | (Out) 복호화된 메세지 |
inputstring | (In) 암호화된 메세지, BASE64 인코딩된 문자열 |
outbuf에는 inputstring의 길이(strlen(inputstring))만큼의 메모리가 할당되어 있어야 한다. 공개키 방식 복호화에 필요한 서버의 비공개키는 ISSACWebProKeyLoader를 이용해서 공유 메모리에 로드되어 있어야 한다.
WA_SDK_API int FUNCCALL issacweb_server_hybrid_encrypt | ( | issac_binary | outbuf, |
issac_binary | input, | ||
int | input_len, | ||
issac_binary | key | ||
) |
메세지를 하이브리드 방식으로 암호화 한다.
outbuf | (Out) 암호화된 메세지 |
input | (In) 암호화할 원문 메세지 |
input_len | (In) 암호화할 원문 메세지의 길이 |
key | (In) 암호화에 쓰일 대칭키(16 Byte) |
outbuf에는 input_len+300 Byte 만큼의 메모리가 할당되어 있어야 한다. 하이브리드 방식 암호화에 필요한 서버의 인증서는 ISSACWebProKeyLoader를 이용해서 공유 메모리에 로드되어 있어야 한다.
WA_SDK_API int FUNCCALL issacweb_server_hybrid_encrypt_s | ( | issac_string | outstring, |
issac_binary | input, | ||
int | input_len, | ||
issac_binary | key | ||
) |
메세지를 하이브리드 방식으로 암호화 한다.
outstring | (Out) 암호화된 메세지, BASE64 인코딩된 문자열 |
input | (In) 암호화할 원문 메세지 |
input_len | (In) 암호화할 원문 메세지의 길이 |
key | (In) 암호화에 쓰일 대칭키(16 Byte) |
outbuf에는 (input_len+300)*4/3+6 Byte 만큼의 메모리가 할당되어 있어야 한다. 하이브리드 방식 암호화에 필요한 서버의 인증서는 ISSACWebProKeyLoader를 이용해서 공유 메모리에 로드되어 있어야 한다.
WA_SDK_API int FUNCCALL issacweb_server_hybrid_decrypt | ( | issac_binary | outbuf, |
issac_binary | key, | ||
issac_binary | input, | ||
int | input_len | ||
) |
하이브리드 방식으로 암호화한 메세지를 복호화한다.
outbuf | (Out) 복호화된 메세지 |
key | (Out) 암호화 과정에서 쓰인 대칭키(16 Byte) |
input | (In) 암호화된 메세지 |
input_len | (In) 암호화된 메세지의 길이 |
outbuf에는 input_len 메모리가 할당되어 있어야 한다. 하이브리드 방식 복호화에 필요한 서버의 비공개키는 ISSACWebProKeyLoader를 이용해서 공유 메모리에 로드되어 있어야 한다.
WA_SDK_API int FUNCCALL issacweb_server_hybrid_decrypt_s | ( | issac_binary | outbuf, |
issac_binary | key, | ||
issac_string | inputstring | ||
) |
하이브리드 방식으로 암호화한 메세지를 복호화한다.
outbuf | (Out) 복호화된 메세지 |
key | (Out) 암호화 과정에서 쓰인 대칭키(16 Byte) |
inputstring | (In) 암호화된 메세지, BASE64 인코딩된 문자열 |
outbuf에는 inputstring의 길이(strlen(inputstring))만큼의 메모리가 할당되어 있어야 한다. 하이브리드 방식 복호화에 필요한 서버의 비공개키는 ISSACWebProKeyLoader를 이용해서 공유 메모리에 로드되어 있어야 한다.
WA_SDK_API int FUNCCALL issacweb_server_get_dn | ( | issac_string | dn | ) |
WA_SDK_API int FUNCCALL issacweb_server_get_cert | ( | issac_string | cert | ) |
WA_SDK_API int FUNCCALL issacweb_server_publickey_decrypt_c | ( | issac_binary | outbuf, |
issac_binary | inbuf, | ||
int | inbuf_len, | ||
issac_string | privInfo | ||
) |
WA_SDK_API int FUNCCALL issacweb_server_publickey_decrypt_cs | ( | issac_binary | outbuf, |
issac_string | inputstring, | ||
issac_string | privInfo | ||
) |
WA_SDK_API int FUNCCALL issacweb_server_make_response | ( | issac_string | outbuf, |
int | outbuf_maxlen, | ||
issac_string | challenge, | ||
issac_string | certificate, | ||
issac_string | privInfo | ||
) |