2016-09-23 5 views
0

내가 localhost를위한 웹 인터페이스를 노출하는 도구를 만들어 허용되지 않습니다. 자,이 웹 인터페이스는 https 프리픽스를 페이지에 등록 할 것을 요구합니다. 이를 위해 BouncyCastle을 사용하여 루트 인증서와 SSL 인증서를 생성합니다. 이것은 모두 잘 작동합니다 (생성, 서명 및 포트 바인딩). IE는 인증서 경고 등이없는 페이지를 표시합니다.인증서

그러나 제 3 자 앱이 웹 페이지를 표시하려고하면 실패합니다 ('about : blank'를로드하고 표시 할 수 없음). 임베디드 웹 브라우저이기 때문에 정확한 문제가 무엇인지 잘 모릅니다. 따라서, 다른 것들을 따라, 나는 아마도 문제를 결정하기 위해 피 들러를 사용하려고 노력했다. 단지 피들러가 생성하는 인증서를 받아들이는 것을 발견하기 위해서였다. 내가 피들러 인증서를 수출 수행하고 상점에서 모든 사용자 인증서를 제거한 그래서

. 그런 다음 필자는 생성 된 인증서가있는 상점과 동일한 저장소에 피들러 인증서를 가져 왔습니다. 또한 빌드 (인증서 속성을보고 조사 할 수있는 모든 것들)가 정확히 동일하다는 것을 확인했습니다. Windows MMC를 사용하면 인증서를 클릭해도 아무런 차이가 없으며 순서는 동일합니다. 크리티컬 등 - 모두 일치합니다. 유일한 차이점은 내 인증서의 일련 번호가 피들러에 의해 생성 된 것보다 짧습니다.

그래서 내가 결국 4 certs (나는 모든 원본을 삭제 한 것입니다.) : 1 ssl과 1 개의 피들러와 1 개의 SSL과 1 개의 BouncyCastle 루트. 뿌리는 신뢰할 수 있고 SSL은 개인용으로 localmachine 모두에 있습니다. 이제, netsh를 사용하여 피들러 인증서를 포트에 바인딩하면 작동합니다. 내 인증서를 포트에 바인딩하면 실패합니다.

나는 모든 속성이 나에게 같은 모양으로 왜 idear이 없습니다.

SSL 인증서 (루트가 아닌)에서 아무데도 SKI가 가리키는 (또는 적어도, 나는 그것이 어디로 가리키는 지 알지 못한다.) 그러나 이것 역시 피들러 인증서의 경우 인 것처럼 보인다. 분명히 두 certs 모두 Authority 키 id는 각각의 뿌리를 가리 킵니다. 는 SSL 인증서의 SKI 테스트 느릅 나무가 재설정 매번이기 내가 VM을 사용 BTW

certificateGenerator.AddExtension(X509Extensions.SubjectKeyIdentifier, false, new SubjectKeyIdentifierStructure(subjectKeyPair.Public)); 

에 의해 설정된다, 그래서 내가 길을 따라 어딘가에 인증서 저장소를 엉망으로 생각하지 않습니다. 이 도구는 동일하게 유지, 모두

   IE  thirdparty browser 
fiddler's  good   good 
Own's   good   fail (without message) 

왜이 겉으로는 동일한 인증서 표시 다른 영향을 미칠 수있는 '로컬 호스트'에 등록, 바인딩 된 인증서입니다 만 변경? 숨겨진 물건이나 물건에 내가 빠진 것이 있습니까? 그리고 그렇다면 무엇을 찾아야합니까?

답변

0

Ahhhhhhhhhhhhhhh ....이 게시물 이후 몇 분 안에이 결함을 보았습니다 ... 그것은 인증서와 전혀 관련이 없었습니다. 그러나 포트에 바인딩 된 방식이었습니다 .... 나는 코드를 사용하여 Mike Bouck 인증서를 바인드하십시오. 이 줄은

낭비되는 시간 .... 그것이 작동 만든 공에 플래그를 변경 ...

configSslParam.DefaultFlags = (uint)NativeMethods.HTTP_SERVICE_CONFIG_SSL_FLAG.HTTP_SERVICE_CONFIG_SSL_FLAG_NEGOTIATE_CLIENT_CERT; 

을 문제의 원인이되었다 .... :(