C#을 사용하고있는 프로젝트에서 .exe 파일 중 하나의 신뢰를 확인하고 싶습니다.인터넷에 연결되지 않은 컴퓨터에서만 WinVerifyTrust()가 실패하는 이유는 무엇입니까?
은 내가 언급 한 - http://pinvoke.net/default.aspx/wintrust/WinVerifyTrust.html
가 여기 내 코드입니다.
WinTrustData wtd = new WinTrustData(filename);
Guid guidAction = new Guid(WINTRUST_ACTION_GENERIC_VERIFY_V2);
WinVerifyTrustResult result = WinVerifyTrust(INVALID_HANDLE_VALUE, guidAction, wtd);
bool valid = (result == WinVerifyTrustResult.Success);
파일 이름 - .exe 파일 경로입니다.
위의 코드에서 언급 한 WinVerifyTrust()는 컴퓨터가 적어도 한 번 이상 인터넷에 연결되어있는 경우에만 "WinVerifyTrustResult.Success"를 반환합니다.
그러나 새 컴퓨터에서는 "0x800b0100"즉 "Trust_e_nosignature"를 반환합니다.
예상되는 동작입니까? 그렇다면 어떻게 해결할 수 있습니까?
이 특정 동작을 검색했지만 만족스러운 답변을 찾지 못했습니다.
이것은 실제 생활과 다르지 않습니다. 주택을 누군가에게 판매하는 경우 구매자가 자신이 말하는 사람이라고 믿을 수 있는지 어떻게 확인할 수 있으며 계약서에 서명하면 법적 문서가됩니다. 당신은 공증인에게 가십시오, 당신은 집에서 나와야합니다. 여기 공증인은 Verisign과 같은 인증서 발급 기관입니다. 집에서 나오려면 인터넷 연결이 필요합니다. –