MS Store 제출 시 Security 에러 (바이너리 해시 변경) 해결 방법
😢상황
- Microsoft Store에 앱을 제출했는데 다음과 같은 보안 관련 오류 메시지와 함께 반려됨
“The binary submitted through the https direct link has changed.”
- 이는 설치 파일이 제출 당시와 다른 파일로 바뀌었다는 의미
- 즉, 같은 URL에서 다른 바이너리 파일이 제공되고 있다는 것
🛠️해결법
방법 1: 파일 URL을 버전별로 다르게 제출 (권장)
- 설치 파일을 업로드한 서버(예: GitHub Releases, AWS, 웹서버 등)에서
- 기존 파일은 그대로 두고
- 새 버전은 새로운 파일명 또는 경로로 업로드
예시:
버전 다운로드 URL v1.0 https://yourserver.com/downloads/myapp-v1.0.msi
v1.1 https://yourserver.com/downloads/myapp-v1.1.msi
- 그런 다음, Store 제출 시 해당 새로운 URL을 등록
방법 2: 한 번 제출한 파일은 절대 수정하지 않기
- Store는 파일의 해시(SHA256) 를 저장함
- 동일한 URL에서 다른 파일을 제공하면 무결성 위반으로 간주
- 반드시 버전마다 다른 경로/이름으로 업로드 필요
🔐 보안 메커니즘 이해하기
- MS Store는 보안 및 검증을 위해 제출된 설치 파일의 해시값을 저장함
- 이후 동일한 URL에서 해당 파일을 다시 다운로드해 해시 일치 여부를 확인
- 만약 변경된 파일이 있다면 위조 가능성으로 판단하여 제출을 거부함
✅정리: 왜 이게 효과 있었는가?
- 이 에러는 앱의 신뢰성과 일관성 유지를 위한 보호 절차
- 파일이 바뀌었다는 건 해킹 또는 덮어쓰기의 가능성이 있으므로 반려
- 버전별로 다른 URL을 사용하는 전략이 공식적인 해결책