2016-08-28 2 views
2

이 게시물의 지침 : http://www.codeproject.com/Tips/766918/Visual-Studio-Use-HTTPS-SSL-On-Web-Application-Pro을 따르려고합니다. "IIS SSL 인증서를 신뢰 하시겠습니까?"라는 메시지가 표시되지 않습니다. 내가 잘못하시기 바랍니다 뭘 오전Visual Studio에서 SSL 사용 - 인증서 설치 메시지가 표시되지 않음

enter image description here

: 아래와 같이

없음 인증서는 인증서 저장소에 나타 납니까? 나는 다음과 같이하여 일부 진전을 Enable SSL in Visual Studio

+0

** 사용중인 Visual Studio ** 버전 **은 무엇입니까? 컴퓨터의 공용 DNS 이름 (예 : 동적 DNS 사용) 또는 컴퓨터에서 SSL * *을 로컬로 사용하려면 SSL을 통해 외부에서 웹 사이트를 사용할 수 없습니까?문제는 다음과 같습니다. 클라이언트와 서버 사이에 SSL이 설정되고 * 양쪽에서 인증서를 신뢰해야합니다. – Oleg

+0

* 자체 서명 된 * 인증서가 필요하다면, 'makecert.exe'의 사용법은 인증서를 생성하고 설치하는 가장 간단하고 명확한 방법입니다. 컴퓨터에 공개 DNS 이름이 있으면 공개 SSL 인증서를 만드는 것이 가장 좋습니다. 많은 인증서를 무료로받을 수 있습니다. 앞으로의 사용 시나리오를 단순화 할 것입니다. – Oleg

+0

@Oleg, 나는 진전을 이루었습니다. 내 대답을 보라. 유일한 혼란은 http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx에서 귀하의 링크에 따라 ApplicationHost.config 파일에 바인딩을 만들 필요가 없다는 것입니다. 왜 그런지 알아? – w0051977

답변

0

SSL을 사용하도록 IIS Express를 구성하면 단계가 많으며은 처음 사용하기에 약간 까다 롭습니다. 가장 중요한 부분은 다음과 같습니다.

  • SSL 인증서 생성/생성/생성. 예를 들어 MakeCert.exe을 사용하여 자체 서명 인증서를 생성 할 수 있습니다. MakeCert.exe 유틸리티는 %ProgramFiles(x86)%\Windows Kits\10\bin\x64 또는 %ProgramFiles(x86)%\Windows Kits\8.1\bin\x64입니다. 인증서는 로컬 컴퓨터 (또는 로컬 사용자)에서 신뢰할 수 있도록 추가로 "신뢰할 수있는 루트 인증 기관"또는 "타사 루트 인증 기관"에서 가져와야합니다.
  • IIS Express는 운영 체제의 기본 HTTP.SYS를 사용하여 모든 HTTP/HTTPS 요청을 처리합니다. 예를 들어, 사용법 netsh http add sslcert ...netsh http add urlacl ... 또는 setupFriendlyHostnameUrl 매개 변수와 함께 "%ProgramFiles%\IIS Express\IisExpressAdminCmd.exe" 유틸리티를 사용하여 구성해야합니다.
  • Visual Studio 프로젝트를 구성하여 디버깅에 HTTPS를 사용하고 IIS Express 용 HTTPS로 바인딩을 만듭니다. Visual Studio 없이도 IIS Express를 실행할 수 있습니다. 웹 사이트에 대한 새로운 <binding> 문제는 %USERPROFILE%\Documents\IISExpress\config\applicationhost.co‌​‌​‌​nfig에 포함되어야합니다. Visual Studio 내에서만 IIS Express를 사용하는 경우 해당 바인딩이 Visual Studio에 의해 $(solutionDir)\.vs\config\applicationhost.config 파일에 삽입됩니다.

2011 년 Hanselman이 게시 한 the old article을 읽고 따라하는 것이 좋습니다. 정보는 여전히 유죄입니다.

0

: 여기 Visual Studio에서 응용 프로그램을 실행할 때 나는 IE와 파이어 폭스에서 얻을 경고를 참조하십시오

1) Right click on the project name and select Properties 
    2) Set SSL Enabled to: True 
    3) Make a note of the SSL URL that is generated. In my case it is: https://localhost:44334/ 
    4) Right click on the project name and select: Properties 
    5) Set Project URL to the URL noted in step 3 i.e. https://localhost:44334/ 
    6) Open up a command prompt and run: "C:\Program Files (x86)\Windows Kits\8.1\bin\x64\makecert.exe" -r -pe -n "CN=localhost" -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12. 
    7) Go to mmc.exe and get the thumbprint of the certificate 
    8) Run the following from a command line: netsh http add sslcert ipport=0.0.0.0:44334 appid={214124cd-d05b-4309-9af9-9caa44b2b74a} certhash=2f11d025f2bc8802b45ceb7e03632eec333bc1ff. 2f11d025f2bc8802b45ceb7e03632eec333bc1ff is the thumbprint from step 8 and 44334 is the port from step 3. 
    9) Run: netsh http add urlacl url=https://localhost:44334/ user=Everyone 
    10) Launch the web app and I see this (
which looks a lot better): 

enter image description here

11)로 이동 MMC에서 "개인"인증서를 찾은 다음 신뢰할 수있는 루트 인증 기관으로 이동합니다.

그러면 작동합니다.

위에서 설명한 모든 단계는이 게시물에서 찾을 수 있습니다. http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx. 나 (또는 ​​다른 누구)가 미래에 그것을 참조하기를 원한다면 내가 따라야 할 단계들을 요약했다. 기사는 꽤 길다. 필자의 경우 : applicationhost.config는 Visual Studio에 의해 자동으로 작성되었지만 링크에서는 C : \ Users \ Ian \ Documents \ IISExpress \ config \ applicationhost.config 파일에 수동으로 작성하라는 메시지가 표시됩니다. 내 application.config 파일은 .vs \ config 폴더에 있습니다.

+0

IIS 관리자 스타일 마법사로 단계를 단순화하는 Jexus Manager http://Jexusmanager.com을 사용해보십시오. –