Microsoft MVP성태의 닷넷 이야기
글쓴 사람
조윤상
홈페이지
첨부 파일
 
안녕하세요.

http wcf 어플리케이션을 iis없이 if로 self hosting 하고 있습니다.

https 적용을 위해 검색해보니

.net core 처럼 인증서를 직접 참조 하는건 불가능 합니다.

그래서 윈도우에 인증서를 설치하고 바인딩 해서 사용 하라고 하네요.

openssl로 인증서 생성 -> 윈도우 로컬 컴퓨터에 설치 -> 바인딩 --실패

키를 포함한 인증서로 교체 -> 윈도우 로컬 컴퓨터에 설치 -> 바인딩 --성공

wcf 어플리케이션 app.config 수정(일단 빌드 성공 실행)

브라우저에서 https 요청 "해당 서버는 localhost임을 증명하지 못했습니다; 해당 보안 인증서는 주체 대체 이름을 지정하지 않습니다. 이것은 잘못된 구성이나 공격자가 연결을 가로채서 발생한 것일 수 있습니다."

주체 대체 이름 추가한 V3 인증서 새로 발급

V3 인증서로 교체 -> 윈도우 로컬 컴퓨터에 설치 -> 바인딩 --성공

브라우저에서 https 요청 "이 사이트에는 인증서가 없습니다. 이 연결은 안전하지 않으므로 이 사이트와 안전하게 전송되지 않으며 이 사이트에 해로운 상태일 수 있습니다." 이렇게 나옵니다.


PS C:\Users\jys92\dec> netsh http add sslcert ipport=0.0.0.0:8081 appid='{ab642e3b-ebad-4c4d-8f58-08a4ac8dbd1d}' certhash=5026dd45cfd5cc99ab9169e9d59da74e3a51c3fb clientcertnegotiation=enable

SSL 인증서를 추가했습니다.








[최초 등록일: ]
[최종 수정일: 7/15/2021]


비밀번호

댓글 작성자
 



2021-07-15 12시13분
"iis 없이"는 이해하겠는데요, "if"로 호스팅했다는 것에 "if" 의미가 뭔가요?

그리고 clientcertnegotiation을 enable로 한 특별한 의미가 있나요? 그건 클라이언트 측도 인증서를 서버에 전달하겠다는 것으로 아마도 의도하지 않은 설정일 것입니다.

아래의 글을 일단 참고하시고,

WCF에 SSL 적용 (2) - 서비스 제작
; https://www.sysnet.pe.kr/2/0/390

인증서는 다음의 글에 따라 구성해 주시면 됩니다. (아래에서는 CA와 인증서를 구분하지만, self-root 인증서를 만들어 실습해도 됩니다.)

openssl - CA로부터 인증받은 새로운 인증서를 생성하는 방법
; https://www.sysnet.pe.kr/2/0/12570

그래도 안 되면 다시 질문해 주세요. 그때는 구체적인 인증서 만들기 절차와 재현 가능한 간단한 예제 프로젝트를 추가하시면 됩니다.
정성태
2021-07-15 12시23분
답변감사합니다.

"iis 없이"는 이해하겠는데요, "if"로 호스팅했다는 것에 "if" 의미가 뭔가요?
 > 오타입니다 IP입니다.

그리고 clientcertnegotiation을 enable로 한 특별한 의미가 있나요? 그건 클라이언트 측도 인증서를 서버에 전달하겠다는 것으로 아무 의도하지 않은 설정일 것입니다.
 > 의미 없습니다.
조윤상

1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5619팡팡이3/3/2022438RSA 문의드립니다. [3]
5618김기헌3/2/2022453안녕하세요 생성자 옆에 this 키워드를 붙여 생성자를 여러 개 호출 시 질문드립니다 [2]
5617Edun2/25/2022399ArgumentOutOrRangeException에러 발생 [2]파일 다운로드1
5616csharplearner2/24/2022386readonly struct로 선언된 구조체를 특정 클래스에서 멤버변수로 가지는 경우 [1]
5615장성욱2/22/2022548SetThreadAffinityMask를 이용한 쓰레드 지정하는 방법에 대해 궁금합니다. [4]
5614민우2/22/2022573SSL 통신 문의 [6]
5613김인태2/22/2022458서버와 PC 간의 어플리케이션 성능 차이 [1]
5612팬입니다2/20/2022363Kastrel 서버 관련 [1]
5611차가워2/19/2022467stopWatch 늘어짐 문의 [3]
5610차가워2/18/2022411Stopwatch 늘어짐 문제 [1]
5609cs린이2/15/2022512c# 함수의 호출 방식에 대해 궁금합니다! [2]
5608지호2/10/2022575시작하세요 C# 8.0 중 제네릭타입의 IEnumerable [3]파일 다운로드1
5607이로운2/10/2022469안녕하세요. 궁금한게 있어서 질문드립니다. [1]
5605강성봉2/10/2022409TCP PSH flag 패킷 수신 에러 [1]
5604LW2/9/2022471VISUAL STUDIO 2019 ==> 2020 설치시 오류가 생겨서 문의드립니다. [3]
5603김진명2/9/2022723C# 10.0 출간은 언제쯤 계획하고 계신가요? [1]
5602신갑영2/8/2022557윈폼에 대해서 질문 드립니다. [1]
5601김인태2/4/2022628setup project 관련 [7]
5600itkim2/3/2022521윈도우 서버 계정 패스워드 인증 문의 [5]
5599레드골드2/3/2022829c#으로 ms word 제어 가능할까요? [6]
5598jaewon2/2/2022591Dictionary는 참조형식인가요?? [1]
5597재원2/2/2022475c# 9.0에 대한 내용을 받을 수 있나요? [1]
5596kss1/26/2022531듀얼 모니터 환경에서 wpf 프로그램 크기 변경 [2]
5594miraclewing1/25/2022489안녕하세요 try~catch 와 SuspendLayout~ResumeLayout 간 호출 문의드립니다! [2]
5593C#스터디1/12/2022628TaskAwaiter 구현 질문 입니다. [1]
5591유지킴12/24/2021616outofmemory in 32bit [2]파일 다운로드1
1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...