[windows-8] Signtool 오류 : Windows 스토어 앱에서 지정된 모든 기준을 충족하는 인증서를 찾을 수 없습니까?

내가 가지고있는 pfx 파일로 Windows 8 appx 패키지에 서명하려고합니다. 나는 다음과 같은 명령을 사용하고 있습니다 :

signtool.exe sign /fd sha256 /f "key.pfx" "app.appx"

그리고 이것으로부터, 나는 얻는다 :

SignTool 오류 : 주어진 모든 기준에 맞는 인증서를 찾을 수 없습니다.

어떤 “기준”을 충족하지 않습니까? 이것은 테스트 용이므로 자체 서명 된 인증서입니다. 키를 가져온 다음 서명을 시도했지만 항상 같은 오류가 발생합니다. 이 문제를 어떻게 해결합니까?



답변

Visual Studio를 통해이 오류가 발생하면 원래 개발 한 컴퓨터와 일치하도록 서명 인증서 설정이 있었기 때문입니다.

프로젝트 속성> 서명 탭으로 이동하여 인증서 세부 정보를 확인하여이를 확인할 수 있습니다.

“ClickOnce 매니페스트 서명”을 선택 취소하여 서명을 비활성화 할 수 있습니다.

서명 속성

이 옵션을 끄지 않으려면 인증서를 설치해야합니다.


답변

/ debug로 시도하십시오. 1에서와 같이 :

signtool sign /debug /f mypfxfile.pfx /p <password> (mydllexectuable).exe

무슨 일이 일어나고 있는지 알아내는 데 도움이 될 것입니다. 다음과 같이 출력되어야합니다.

The following certificates were considered:
    Issued to: <issuer>
    Issued by: <certificate authority> Class 2 Primary Intermediate Server CA
    Expires:   Sun Mar 01 14:18:23 2015
    SHA1 hash: DD0000000000000000000000000000000000D93E

    Issued to: <certificate authority> Certification Authority
    Issued by: <certificate authority> Certification Authority
    Expires:   Wed Sep 17 12:46:36 2036
    SHA1 hash: 3E0000000000000000000000000000000000000F

After EKU filter, 2 certs were left.
After expiry filter, 2 certs were left.
After Private Key filter, 0 certs were left.
SignTool Error: No certificates were found that met all the given criteria.

인증서가 작동하지 않거나 인증서가 고려되지 않은 필터를 확인할 수 있습니다.

해시와 다른 정보를 변경했지만 아이디어를 얻어야합니다. 도움이 되었기를 바랍니다.


1 하시기 바랍니다 참고 : signtool위치에 대한 고집 /debug옵션이 배치됩니다. 그것은 이후에 갈 필요 sign문.
2 참고 :이 /debug옵션은 일부 버전에서만 작동합니다 signtool. WDK 버전에는 옵션이 있지만 Windows SDK 버전에는 옵션이 없습니다.


답변

대부분의 인증서에는 만료 날짜가 있으므로 항상 인증서 만료 날짜를 먼저 확인하십시오. 제 경우에는 인증서가 만료되어 프로젝트를 빌드하려고했습니다.


답변

앱에 서명 할 필요가 없으면 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오.

Project Properties -> Signing -> uncheck "Sign the ClickOnce Manifest"

또한 MS 기사가 제안하는 것처럼

Visual Studio 2008을 사용 중이고 .NET 3.5를 대상으로하고 자동 업데이트를 사용하는 경우 인증서를 변경하고 새 버전을 배포하면됩니다.


답변

프로젝트 속성의 서명 탭에서 ‘한 번 클릭하여 서명하십시오’를 선택 해제하면 오류가 제거되고 거기에서 새 오류를 만들 수 있습니다.


답변

같은 문제가 발생하여 인증서의 개인 키에 권한이 없음이 밝혀졌습니다.
수정하려면 certifacte 관리를 열고 인증서를 찾은 다음 마우스 오른쪽 단추를 클릭하고 개인 키 관리를 클릭 한 다음 보안에서 사용자가 추가되고 권한이 부여되었는지 확인하십시오.


답변

내 경우에는 연결하려는 잘못된 유형의 인증서가 있습니다. “코드 서명” 대신 “서버 인증”
이있었습니다 .
의도 된 목적 섹션의 인증서 스냅에서이를 볼 수 있어야합니다. 그 후에는 잘 작동합니다.