성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
[정성태] Modules 창(Ctrl+Shift+U)을 띄워서, 해당 Op...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>SignTool Error: No certificates were found that met all the given criteria.</h1> <p> 2년에 한번 정도 인증서 서명을 하는 거라서... 어쨌든 잘 되었던 건데... 오늘따라 유독 다음과 같이 에러를 내는군요. ^^;<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > c:\temp>signtool sign /v /sm /n "JenniferSoft" /t http://timestamp.verisign.com/scripts/timestamp.dll c:\temp\SimpleCtl.cab <span style='color: blue; font-weight: bold'>SignTool Error: No certificates were found that met all the given criteria.</span> </pre> <br /> 그런데, 분명히 "Certificates (Local Computer)" 영역에 아래와 같이 해당 인증서가 등록되어 있습니다.<br /> <br /> <img onclick='toggle_img(this)' class='imgView' alt='signtool_error_no_cert_1.png' src='/SysWebRes/bbs/signtool_error_no_cert_1.png' /><br /> <br /> 도대체 왜 저 인증서를 선택할 수 없는 걸까요?<br /> <br /> 문제 분석을 위해 /debug 인자를 주어 signtool을 실행해 보니 다음과 같은 결과가 나옵니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > c:\temp>signtool sign <span style='color: blue; font-weight: bold'>/debug</span> /v /sm /n "JenniferSoft" /t http://timestamp.verisign.com/scripts/timestamp.dll c:\temp\SimpleCtl.cab The following certificates were considered: Issued to: 00187FFEB65431D2.devicedns.live.com Issued by: Token Signing Public Key Expires: Mon Jul 06 13:24:17 2015 SHA1 hash: FCF06C818A92ABCD0EE43B2E26A703ED8922F3CE Issued to: Windows Media Player Network Sharing Service Issued by: Windows Media Player Network Sharing Service Expires: Mon Jan 07 13:29:13 2115 SHA1 hash: F0AA1A0CFD5C1828F546EA1938B17A30883F0F09 Issued to: NVIDIA GameStream Server Issued by: NVIDIA GameStream Server Expires: Tue Aug 01 16:50:41 2034 SHA1 hash: DFF09CEEF603B5C546C4DFC796283AD82E6C55E7 Issued to: localhost Issued by: localhost Expires: Thu Nov 30 09:00:00 2017 SHA1 hash: 51A836E02847FC99FAA9482F146B159FC2AD7248 Issued to: JenniferSoft Issued by: Symantec Class 3 SHA256 Code Signing CA Expires: Tue May 02 08:59:59 2017 SHA1 hash: 1916192451A238F95F52D6A04B620EDF0EEFDF33 <span style='color: blue; font-weight: bold'>After EKU filter, 2 certs were left. After expiry filter, 2 certs were left. After Subject Name filter, 1 certs were left. After Private Key filter, 0 certs were left.</span> SignTool Error: No certificates were found that met all the given criteria. </pre> <br /> 그림에서 봤던 00187FFEB65431D2.devicedns.live.com, Windows Media Player Network Sharing Service, NVIDIA GameStream Server, localhost, JenniferSoft 인증서들이 나열된 것을 보니 "Certificates (Local Computer)" 영역을 검색한 것은 맞습니다.<br /> <br /> 그런데, EKU 조건, expiry, Subject Name 조건까지 만족하는 인증서가 1개 있었는데 결정적으로 "Private Key" 조건을 만족하는 인증서가 없었다는 것을 보여줍니다.<br /> <br /> 더더욱 이상하군요. 해당 인증서는 분명히 개인키를 갖고 있음을 다음과 같이 확인할 수 있었습니다.<br /> <br /> <img alt='signtool_error_no_cert_2.png' src='/SysWebRes/bbs/signtool_error_no_cert_2.png' /><br /> <br /> 혹시나 싶어, 마우스 우클릭을 해 다음과 같이 "Manage Private Keys..." 메뉴를 선택해 보았는데,<br /> <br /> <img onclick='toggle_img(this)' class='imgView' alt='signtool_error_no_cert_3.png' src='/SysWebRes/bbs/signtool_error_no_cert_3.png' /><br /> <br /> 이와 같이 권한 목록이 나왔습니다. <br /> <br /> <img alt='signtool_error_no_cert_4.png' src='/SysWebRes/bbs/signtool_error_no_cert_4.png' /><br /> <br /> 즉, SYSTEM, Administrators에게 권한이 있고 "Logon SessionId..."라는 계정이 있지만 분명한 것은 현재 로그인 계정은 아니라는 점입니다. 테스트를 위해 "관리자 권한으로 실행한 cmd.exe"에서 signtool 명령을 내리니 정상적으로 서명이 되었습니다.<br /> <br /> 그렇군요. 따라서, 현재 로그인 계정을 명시적으로 추가하고 "Read" 권한만 주는 것으로 문제 해결을 할 수 있었습니다.<br /> </p><br /> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
4047
(왼쪽의 숫자를 입력해야 합니다.)