6

이 문제는 윈도우 서버 나는 하나의 Windows 응용 프로그램을 개발는 서명 및 시간은 실행 파일이 실행 실패

2008 SP2에만 적용 할 수 있습니다 적절한 세부 사항을 표시하지 않습니다 스탬프. 사전 배포를 위해 SHA1과 SHA256을 사용하여 서명하고 타임 스탬프를 찍었습니다. 이 응용 프로그램은 여러 개의 DLL로 구성됩니다. 빌드 과정에서 각 DLL에 서명하고 있습니다. VeriSign의 인증서를 사용했습니다. 실행시 응용 프로그램이 시작되면 WinVerifyTrust API를 사용하여 무결성을 보장하기 위해 각 DLL의 서명과 타임 스탬프를 확인합니다. 유효성 검사 중에 "E_CERT_EXPIRED - 서명자의 인증서가 만료되었습니다"오류가 발생합니다.

또한, 실행 파일의 속성 페이지에서 타임 스탬프 정보를 볼 수 없습니다. 아래를 참조하십시오 -

enter image description here

지금, 그 인증서가 만료 그러나이 SO 기사 What happens when a code signing certificate expires?에 따라한다. 실행 파일은 문제없이 완벽하게 실행되어야합니다.

나는 또한 this KB의 원인을 의심하지만이 KB와 관련된 수정이 이미 적용되었는지 확인했습니다. 아무도 이것에 대해 더 많은 것을 공유 할 수 있습니까?

답변

1

만료 된 인증서로 서명 할 수 없으며 작동하지 않습니다 (직접 결과가 표시됨). 당신이 할 수있는 일은 유효한 인증서로 서명하는 것입니다. 그러면 서명 할 때 유효한 타임 스탬프로 인해 서명 된 응용 프로그램이 만료되지 않습니다.

+0

인증서가 만료되기 전에 바이너리에 서명해야한다는 것을 알고 있습니다. – Omkar