2017-05-23 23 views
0

DirectoryEntry .NET 클래스를 사용하여 광고에 연결하려고합니다. 인증을 강제하기 위해DirectoryEntry를 사용하여 AD에 연결할 때 매개 변수가 올바르지 않음

DirectoryEntry.NativeObject 

에 액세스하려고 할 때 나는 오류를

무엇입니까 매개 변수는

올바르지 않습니다.

누구든지이 오류의 원인이 무엇인지 제안 할 수 있습니까? 아니면 여기에 무엇이 잘못되었는지를 식별하는 방법은 무엇입니까?

코드 스 니펫 : 3 라인을 실행할 때

Dim deRoot As New System.DirectoryServices.DirectoryEntry 
deRoot = New DirectoryEntry("LDAP://SERVERNAME:PORT/DOMAINSTRING", "USER_NAME", "PASSWORD", AuthenticationTypes.SecureSocketsLayer) 
Dim obj As Object = deRoot.NativeObject 

문제가 발생합니다.

참고 : 많은 LDAP 서버에서도 마찬가지입니다. 이 서버의 차이점을 알아야하거나이 작업을 수행하기 위해 통과해야 할 사항을 파악해야합니다.

감사합니다.

+0

포트로 포트 636 또는 3269를 사용하고 있습니까? 그것을 사용할 때에도, 나는 AuthenticationTypes.SecureSocketsLayer를 지정하는 것이 필요 없다는 것을 발견했다. 그것은 그것을 알아냅니다. 제거해보십시오. –

+0

'New DirectoryEntry'는 실제로 연결을하지 않습니다. DC에 실제로 연결하기 전에 개체로 실제로 작업 할 때까지 기다립니다. 그래서 3 번째 줄에서 오류가 발생합니다. –

+0

문제의 원인이되는 인증서가 종료되었습니다. 이 오류가 발생합니다. ** 원격 서버에서받은 인증서에 예상 이름이 없습니다. 따라서 올바른 서버에 연결하고 있는지 여부를 판단 할 수 없습니다. 예상했던 서버 이름은 [servername]입니다. SSL 연결 요청이 실패했습니다. 첨부 된 데이터에 서버 인증서가 포함되어 있습니다 ** 하지만 호스트 항목을 추가하면 정상적으로 작동합니다. 그러나 문제는 동적 인 IP와 IP가 계속 변화한다는 것입니다. 'DirectoryEntry' 클래스를 사용할 때 이것을 우회 할 수 있습니까? – Varun

답변

0

어떤 이유로 든 인증서가 마음에 들지 않습니다.

첫 번째 단계는 인증서를 검사하는 것입니다. DigiCert의 유틸리티를 사용할 수 있습니다 : http://www.digicert.com/util

'도구'탭을 클릭하고 '설치 확인'을 클릭하십시오. 귀하의 도메인 DNS 이름에 넣은 '서버 주소'의 경우 포트에 대해 636을 입력하십시오. 그런 다음 'Query Server'를 클릭하십시오. 인증서 당신은 AD에 연결하기 위해 인증서에 '제목 이름'을 사용하고 있어야합니다

을 신뢰할 수 있는지 여부

  1. 제목 이름
  2. : 찾기 위해 두 가지가 있습니다. 예 :

    '주체 이름'은 server1.domain.com과 같은 도메인 컨트롤러 중 하나의 이름 일 수 있습니다. 당신이 그것을 사용할 수 있다면, 좋을 것입니다. 그대로 사용할 수 없다면 '주체 이름'에 표시된 도메인 이름이 IP를 가리 키도록 호스트 파일을 수정할 수 있습니다. 이상적은 아니지만 작동 할 수 있습니다.

    부하 분산 장치 뒤의 각 서버가 다른 인증서를 제공 할 경우 호스트 파일 트릭이 작동하지 않습니다. 그렇게되면 운이 없어집니다.

    또한 인증서는 신뢰할 수 있어야합니다. 예를 들어, 자체 서명 될 수 있습니다. 이 경우 호출하는 시스템에 인증서를 설치해야합니다.

    이에 대한 단서는 시도가있을 때마다, 당신은이 말을 '샤넬'에서 Windows 시스템 이벤트 로그에 오류를 볼 수 있다는 것입니다 : 인증서가 원격 서버로부터 수신 한

    했다 신뢰할 수없는 인증 기관인 에 의해 발행되었습니다. 이 때문에 인증서에 포함 된 데이터 을 확인할 수 없습니다.TLS 연결 요청이 실패했습니다. 첨부 된 데이터는 서버 인증서를 포함합니다.

    이 해결 방법은 실제로 자체 서명되었는지 아니면 사용자 컴퓨터에서만 신뢰할 수없는 인증 기관에서 서명했는지에 따라 다릅니다. 이 경우에 도움이 될 수 있습니다.