해결된 질문
작성
·
453
0
아래 "Unity와 WebApi 연동" 질문글에 대하여 테스트 가능한 상태로 해결은 하였습니다.
아마도 네트워크 인증 문제인 것 같습니다.
https://answers.unity.com/questions/1482409/how-to-accept-self-signed-certificate.html
위 링크에서 솔루션 중 "AcceptAllCertificatesSignedWithASpecificKeyPublicKey" 클래스의 "ValidateCertificate" 매서드의 리턴값을 true로 바꾸어서 정상적으로 작동 가능함을 확인했습니다.
(수정한 코드; 사실 매서드 자체를 단순히 return true로 만든것과 동일한 상태입니다.)
protected override bool ValidateCertificate(byte[] certificateData)
{
X509Certificate2 certificate = new X509Certificate2(certificateData);
string pk = certificate.GetPublicKeyString();
if (pk.ToLower().Equals(PUB_KEY.ToLower()))
return true;
return true;
}
네트워크 관련하여 지식이 많이 부족해서 코드 이해가 어렵네요.
혹시 강사님 괜찮으시다면 위 링크 코드가 어떤 내용인지 간단한 설명 부탁드립니다.
(코드는 강사님 코드와 동일하여 따로 전달드리지는 않았습니다.)
답변 1
0
아 그렇군요. 유니티 버전에 따라 인증서 확인이 필요한가보네요.
해당 문제는 네트워크와는 무관하고 보안 영역에 더 가까운데,
말 그대로 내가 연결할 서버의 신분을 확인하는 개념이라고 보시면 됩니다.
Public / Private Key가 등장하는건 비대칭키 암호 (RSA)가 들어간다는 의미고
Part9 암호학 개론 수업에서 해당 내용을 간단히 다룹니다.