문제

소비 타사 응용 프로그램이 고객 인증서를 통과하도록 요구하여 보호되는 웹 서비스가 있습니다. 프로덕션 제공 웹 서비스 제공 및 클라이언트에도 인증서를 설치했습니다. 이 프로세스는 현재 비슷한 설정을 가진 다른 고객에게 잘 작동합니다. 현재 버전은 .NET 3.5로 작성되었으며 Cassini (및 독립형 실행) 아래 개발 기계에서 완벽하게 작동하지만 동일한 코드 및 인증서 설정으로 제작 시스템에서 작동하는 것을 거부합니다. 제공 업체 웹 서비스가 브라우저를 통해 클라이언트에 설치된 인증서를 수락하지만 인증서가 웹 사이트를 프로그래밍 방식으로 추가하면 403을 얻고 액세스가 거부됩니다. 보호 된 웹 서비스에 요청하기 전에 통화에 추가 된 인증서의 지문을 출력하며 실제로 올바른 인증서입니다. 내 생각은 선을 따라 어딘가에 인증서의 개인 키 부분에 액세스 할 수 없다는 것입니다.

어떤 아이디어?

참고 : IIS 프로세스에 관련 ~/crypto 디렉토리에 대한 액세스 권한을 부여했습니다.

이것은 C# 및 .NET 3.5입니다

도움이 되었습니까?

해결책

나는 몇 주 전에 이런 종류의 문제가있었습니다. 내 경우 해결책은 인증서 저장소에 적절한 액세스를 얻기 위해 가장을 사용하는 것이 었습니다. 기본적으로 IIS 작업자 스레드는 시스템 사용자로 실행 중이며 적절한 저장소에 액세스 할 수 없었습니다. 특정 사용자 저장소에 인증서를 추가하고 사용자가 모든 문제를 해결 한 것을 가장합니다.

그러나 나는 사칭이 마법의 총알 수정이 아니며이 시나리오에서 그 문제가 발생한다는 것을 알고 있기 때문에이 질문을 계속 지켜 볼 것입니다.

다른 팁

내 컴퓨터에서 작동하지 않은 뚜렷한 이유가 있습니다. Visual Studio 내에서 실행될 때 인증서를 설치하는 데 사용 된 자격 증명으로 실행됩니다. 따라서 자동으로 기계의 개인 키 스토어에 액세스 할 수있는 권한이 있습니다. 하지만 Cassini (IDE) 밖에서 달리면 IIS 프로세스에는 권한 개인 키 스토어에 액세스하기 위해.

임시 솔루션 : 앱 도메인을 실행하십시오 로컬 시스템. 보안은 좋지 않지만보다 영구적 인 솔루션을 해결할 수있을 때까지 응용 프로그램을 시작하고 실행합니다 (밴드 보조).

프로그램 에서이 스티커를 때리고 하루를 부를 수 있습니다.

alt text

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top