내 클라이언트 - 서버 프로그램은 OpenSSL을 사용하여 데이터 교환을 처리하고 작동하지만 내 클라이언트가 연결하는 서버가 올바른 서버인지 가짜 서버인지 확인해야합니다.안전한 서버 클라이언트 핸드 셰이크 방법
문제는 내 프로그램이 자체 서명 된 인증서를 생성하고 클라이언트가 그 사실을 확인할 수 없다는 것입니다. 인증서를 삽입하면 누구든지 인증서를 추출하고 가짜 클라이언트 - 서버를 만들고 정보를 훔치려 고 시도 할 수 있습니다. OpenPGP 키와 동일합니다.
그래서 클라이언트이기 때문에 모든 사람이 서버 바이너리를 사용할 수있는 경우에도 서버를 확인하는 몇 가지 방법을 구현할 수 있습니까?
"인증서를 포함하면 누군가가이를 추출하여 가짜 클라이언트 - 서버를 만들어 정보를 도용 할 수 있습니다."라는 말이 올바르지 않습니다. 개인 키를 포함시키는 경우에만 발생할 수 있습니다. 간단한 해결책은 언제나 그렇듯이 CA가 서명 한 인증서를 얻는 것입니다. – EJP
하지만 개인 키가 서버에 있어야합니다. 맞습니까? 클라이언트는 P2P와 마찬가지로 서버 역할을합니다. – Fusgyus