2010-06-21 2 views
0

저는 많은 수의 시설에 배포 될 C++의 교육 프로그램을 설계하고 있습니다. 대부분이 IT 직원의 길은별로 없습니다. 이 프로그램은 TCP 연결을 통해 연구 및 평가 목적으로 다양한 데이터를 저장하는 중앙 데이터베이스에 연결합니다.소비자 응용 프로그램을위한 보안 TCP 연결을위한 권장 사항

내가 가진 문제는 전송을 안전하게 만들기 위해서이며, 가장 일반적으로 권장되는 방법은 OpenSSL 인 것 같습니다. 모두 잘되고 잘되는 것처럼 보이지만 문제가 있습니다. 내가 알고 있듯이 OpenSSL은 각 시스템에 특별히 설치해야합니다. 시설은 자신의 시스템에 소스를 컴파일하고 설치하는 데 필요한 전문 지식을 갖추지 못할 것이며, 컴퓨터는 구체적으로 컴파일 된 바이너리 배포를 배제하기에 충분할 정도로 다양하게 될 것입니다 (모든 Windows 박스가 있지만, 폭 넓은 배포로 인해 내 팀이 개인적으로 설정할 수 없습니다.

누구든지이 문제를 해결하는 방법에 대한 권장 사항이 있습니까? 나는 단순히 내 가정에서 부정확하고 설치하지 않고 배포 할 수 있습니까? 그렇지 않다면 더 실용적인 대안이 있습니까?

답변

3

모든 컴퓨터가 XP +이고 두 버전의 OpenSSL이 있어야 준비가됩니다. 하나는 32 비트 용이고 다른 하나는 64 비트 용입니다. 두 개의 별도 설치 프로그램을 제공하면됩니다. 각 시스템마다 컴파일 할 필요가 없습니다.

설치 프로그램에도 Visual C++ 재배포 가능 패키지를 포함시켜야합니다.

고대 Windows 버전을 지원해야하는 경우 조금 복잡해 지지만 그렇게 많이는 아닙니다.

1

실제로 OpenSSL은 설명 된 내용에 따라 좋은 옵션처럼 보입니다.

내가 OpenSSL을 이해했기 때문에 C 언어로 작성된 라이브러리 (다른 언어의 래퍼가 있음)는 작성중인 코드베이스에 포함시킬 수 있음을 의미합니다.

나는 이 아니고, 설치된 프로그램이 인 것으로 확신한다. 그래서 나는 그것에 대해 걱정할 필요가 없다고 생각한다.

1

클라이언트 컴퓨터에 바이너리 등을 배포하는 데 관심이 있다면 IPSEC을 실험해볼 수도 있습니다. IPSEC은 흥미로운 솔루션이 될 수 있습니다. 사실상 모든 Windows 박스가 지원하기 때문에 DB 서버에 IPSEC 정책을 구성하는 것만으로이 작업을 "필수"로 설정하면 클라이언트 컴퓨터와 DB 서버 간의 모든 데이터가 암호화됩니다.

관련 문제