성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] Roll A Lisp In C - Reading ; https...
[정성태] Java - How to use the Foreign Funct...
[정성태] 제가 큰 실수를 했군요. ^^; Delegate를 통한 Bein...
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <br /> <div class='mainCenterTitle'>SSL 서버 자격 증명을 만드는 동안 심각한 오류가 발생했습니다.</div><br /> <br /> 이번에, TFS를 새로 설치하는 일이 있었습니다. 처음 설치했던 당시부터 익숙치 않았던 시스템이었던데다, Database 자체의 내용을 이거저거 만져 보기까지 했더니 어느 순간 ^^; 감당할 수 없는 상태까지 와버려서, 가뿐한(!) 마음으로 새로 설치를 했습니다.<br /> <br /> 설치 완료 후, 인터넷 접근을 할 수 있도록 설정하고 HTTPS 통신을 가능하게 하도록 인증서를 웹 사이트에 적용을 했습니다.<br /> <br /> 문제는, 여기서부터입니다. 그냥 HTTP 통신을 했을 때는 정상적으로 동작이 되었는데, HTTPS 통신을 하면서부터는 "https://...:8070/services/v1.0/ServerStatus.asmx"로 접속을 하면 다음과 같은 화면만 나왔습니다.<br /> <br /> <img alt='ssl_state_error_2.png' src='/SysWebRes/bbs/ssl_state_error_2.png' /><br /> <br /> 차라리 HTTP 통신이라면 네트워크 패킷 캡쳐라도 해서 알아볼 텐데, HTTPS 특성상 그것도 못하니 답답하기만 했습니다.<br /> <br /> 도대체 무엇이 잘못일까???<br /> <br /> 혹시나 요청을 보낼 때마다 이벤트 로그에 오류가 발생할까 싶어서 확인해 보았지만 요청에 대한 오류는 전혀 기록되지 않았습니다. 더욱 심각한 것은, 웹 브라우저에서의 요청에 대해 w3wp.exe조차도 실행이 안된다는 것이었습니다.<br /> <br /> 그래도,,, 찾아볼 만한 곳은, 이벤트 로그뿐이어서 "System" 범주의 내용을 확인해 보았습니다. 오호... 그랬더니 시스템 부팅 초기에 아래와 같은 내용으로 이벤트 로그가 남겨져 있는 것이 눈에 띄었습니다.<br /> <br /> <pre class='code'> 이벤트 형식: 오류 이벤트 원본: <b>Schannel</b> 이벤트 범주: 없음 이벤트 ID: 36871 날짜: 2007-07-05 시간: 오후 10:48:05 사용자: N/A 컴퓨터: TESTTFS 설명: <b>SSL 서버 자격 증명을 만드는 동안 심각한 오류가 발생했습니다.</b> (A fatal error occurred while creating an SSL server credential) 자세한 정보는 http://go.microsoft.com/fwlink/events.asp에 있는 도움말 및 지원 센터를 참조하십시오. </pre> <br /> 당연히 웹 검색을 해보았지요.<br /> <br /> 그런데, 워낙 단서 자체가 없다 보니 어떤 검색 결과를 적용해야 할지 판단이 안 섰습니다. TFS와 연관되어서는 검색 결과도 거의 없었습니다.<br /> <br /> 몇 개의 포스트를 읽어보는 중에, 다음과 같은 툴을 소개하는 글을 발견하게 되었습니다.<br /> <br /> <pre class='code'> SSL Diagnostics Version 1.1 (x86) ; <a target='_tab' href='http://www.microsoft.com/downloads/details.aspx?FamilyID=cabea1d0-5a10-41bc-83d4-06c814265282&DisplayLang=en'>http://www.microsoft.com/downloads/details.aspx?FamilyID=cabea1d0-5a10-41bc-83d4-06c814265282&DisplayLang=en</a> </pre> <br /> 와... 뭔가 발견한 것 같습니다. ^^<br /> <br /> 곧바로 다운로드하고, 실행해 보았더니 다음과 같은 결과가 나왔습니다.<br /> <br /> <img alt='ssl_state_error_1.png' src='/SysWebRes/bbs/ssl_state_error_1.png' /><br /> <br /> "<br /> !#AcquireCredentialsHandle failed with error -2146893043(0x8009030d)<br /> <br /> Possible cause of warning: Server process cannot access private key.<br /> How to fix: Try assigning a new certificate. <br /> However, this error may be related to a system error, <br /> such as a bad DLL file or cryptographic problem.<br /> For more information, <br /> see <a target='_tab' href='http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/security/acquirecredentialshandle.asp'>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/security/acquirecredentialshandle.asp</a><br /> "<br /> <br /> 링크는 별 도움이 안되더군요. 어쨌든 오류 메시지상으로는 인증서의 "private key" 파일을 접근할 수 없어서 나온다는 첫 번째 단서가 나왔습니다.<br /> <br /> 그래서 해당 개인키 파일의 보안을 확인하기 위해, 일단 해당 개인키의 경로를 먼저 알아야 했기 때문에 이를 위해 "<a target='_tab' href='http://go.microsoft.com/fwlink?linkid=55774'>Windows SDK</a>"에 포함되어 있는 "findprivatekey.exe"를 사용해 보았습니다.<br /> <br /> <pre class='code'> C:\>findprivatekey My LocalMachine -n "CN=www.sysnet.pe.kr" Private key directory: C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys Private key file name: ad9d2114975ec715c8d3e24c95d971b7_c9ceb079-cdb8-4d53-81fe-319957a6fc3b </pre> <br /> 탐색기로 열심히 찾아가서, 해당 파일의 속성창을 열어 보안 설정을 확인해 보았는데, ... 보안은 적절하게 설정되어 있었습니다. 휴... 희망이 날아가는 군요.<br /> <br /> 그럼, 이제 남은 것은 "However, this error may be related to a system error, such as a bad DLL file or cryptographic problem."라는 2번째 단서인데요.<br /> <br /> 이걸 곰곰이 보면서,,, 생각을 좀 해보았습니다.(솔직히, 생각뿐이 할 것이 없었습니다. 이 외에 시도해 볼 만한 것이 없었기 때문에.)<br /> <br /> 원인이 될만한 것이 하나 떠오르더군요. 제가 최근에 "웹 서버"를 Longhorn Beta3로 교체하면서 인증서 서버를 함께 beta3 버전으로 교체를 했습니다. 즉 해당 인증서가 Longhorn에서 발급된 인증서였는데... 그러고 보니 Vista/Longhorn 계열의 암호화 라이브러리가 이전 버전에 비해서 크게 개선된 부분을 사용한 것이 아닌가... 하는 심증만 있을 뿐. ^^; 물증은 없었습니다.<br /> <br /> 어쨌든. 오늘 오류 파악은 여기까지.<br /> 더 이상의 원인 파악은 아직 베타 버전인 롱혼임을 감안하면 그다지 영양가 있을 것 같지 않기 때문에 인증서 서비스를 Windows 2003으로 다운그레이드 하는 것으로 마무리 지었습니다.<br /> <br /><br /><hr /><span style='color: Maroon'>[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1263
(왼쪽의 숫자를 입력해야 합니다.)