error information: "CryptQueryObject" (-2147024893/0x80070003)
Visual Studio 2019 + WDK Legacy Driver 제작- Hello World 예제 글에서 설명했던 것처럼, 이젠 device driver에 대한 서명 작업도 프로젝트 설정으로 하다 보니 헤매는 경우가 생기는군요. ^^
어느 순간 빌드 시 다음과 같은 오류가 발생하는데,
1>SIGNTASK : error information: "CryptQueryObject" (-2147024893/0x80070003)
1>SIGNTASK : SignTool error : An unexpected internal error has occurred.
오류 메시지 자체로는 무슨 의미인지 잘 모르겠습니다. 하지만, 0x80070003 에러 코드를 "
Error Lookup" 도구로 확인해 보면 금방 답이 나옵니다.
The system cannot find the path specified.
그러고 보니, 해당 프로젝트의 경로를 옮겼었는데요. 아쉽게도 "Cross-Signing Certificate"로 지정하는 경로가,
[project_file_name].vcxproj.user 파일의 CrossCertificateFile 속성에 절대 경로로 설정이 되어 있습니다.
<CrossCertificateFile>C:\testddkprj\VeriSign Class 3 Public Primary Certification Authority - G5.cer</CrossCertificateFile>
어쩔 수 없습니다. 다시 경로를 재설정하든가, 아니면 SolutionDir 등의 매크로 값을 이용해 재설정해 하시면 됩니다.
<CrossCertificateFile>$(SolutionDir)VeriSign Class 3 Public Primary Certification Authority - G5.cer</CrossCertificateFile>
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]