자체 http 라이브러리에 ssl 추가하는 일이 만만치 않을 것 같습니다.
차라리 다른 라이브러리를 활용하는 편이 나아 보입니다.
델파이/빌더에서 기본적으로 제공하는 indy 컴포넌트에 기능구현이 되어 있습니다.
(다만 indy 버전은 xe5 이상 버전에 설치된 버전이거나 상위의 최신 버전으로 사용하시기 바랍니다. 빌더 구버전이라면 indy 소스를 내려받아 컴포넌트 업그레이드를 하시기 바랍니다.)
아래는 델파이 샘플 코드(델마당 로그인 예제)인데요. c++로 옮기시는데 큰 무리는 없을거라 판단합니다.
IdHttp 컴포넌트와 TIdSSLIOHandlerSocketOpenSSL 컴포넌트를 폼에 올립니다.
IdHttp 의 프로퍼티중에 IOHandler 의 값을 TIdSSLIOHandlerSocketOpenSSL 로 맞추고 HandleRedirects 값을 True로 합니다.
var
parameters: TStrings;
contents: string;
begin
parameters := TStringList.Create;
try
parameters.Values['strUserID'] := '델마당ID';
parameters.Values['strPasswd'] := 'Password';
contents := idhtp1.post('
https://www.delmadang.com/member/member_login_ok.asp', parameters);
finally
parameters.Free;
end;
mmo1.Text := contents;
end;
빌더 님이 쓰신 글 :
: 안녕하세요 ^^
:
: Client Application에서 웹서버와 통신 시 SSL 적용 방법에 대한 문의 드립니다.
:
: 현재 http 통신은 자체 개발된 라이브러리를 사용하고 있고
: 데이터 구조는 structure 형태입니다.
:
: 보안 관련하여서는 아는바가 없어 어떤 방법으로 접근해야하는지 감이 오지 않아
: 도움을 요청드립니다.
:
: 여러 검색 결과 다음과 같은 방법이 있을것으로 생각하고 있는데요
:
: 1. openssl을 참고하여 기존 통신 라이브러리 수정
: 2. opemssl 사용(기존 라이브러리 사용 안함)
: 3. 상용 컴포넌트(nsoftware-ipwork, clever 등) 사용
:
: 위와 같은 방법외에 다른 방법이 있는지 또한
: 어떤 방법으로 접근해야 용이하게 구현 가능한지에 대한
: 고수님들의 답변을 부탁드립니다.
:
: 감사합니다.
:
:
:
:
:
: