Microsoft MVP성태의 닷넷 이야기
[답변]: 서버 인증서 및 클라이언트 인증서 발급 [링크 복사], [링크+제목 복사],
조회: 14434
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기

휴... ^^ 오늘에서야 시간이 좀 남게 되어 테스트를 해보았습니다.

우선, "light" 님이 보신 자료는 맞습니다. 제가 WSE 3.0에서의 Transport Level에서의 인증서 사용과 Message Level에서의 인증서 사용을 잠시 헷갈렸습니다.

말씀하신 것처럼, X509Certificate.CreateFromCertFile 메서드를 사용해서 인증서를 읽어들인 후, SoapHttpClientProtocol.ClientCertificates 컬렉션에 추가한 후 HTTPS로 보호된 웹 메서드를 호출하는 것은 올바른 코드입니다.

그런데, 지금 문제는 서버 측의 HttpContext.Current.Request.ClientCertificate에서 그것을 구하지 못한다는 것인데요.

다음의 사항을 체크해 보시기 바랍니다.

1. "IIS 관리자" / "Web Site" / "속성" / "Directory Security" 에서 "Accept client certificates" 또는 "Require client certificates"로 되어 있는지 확인하십시오.

2. 클라이언트 측의 인증서가 해당 HTTPS 서버 인증서를 루트로 하고 있는지 검사.

위의 2가지만 확실히 해주셔도 정상적으로 IsPresent 값은 true가 나올 것입니다.

----------------------------

일단, 테스트 인증서로는 해보진 않았습니다. (왜냐하면, 현실적으로도 테스트 인증서를 쓸 일은 없으므로.) 저 같은 경우에는, Windows 서버의 "인증서 서비스"를 이용해서 테스트해 보았습니다.








[최초 등록일: ]
[최종 수정일: 6/28/2021]


비밀번호

댓글 작성자
 




NoWriterDateCnt.TitleFile(s)