亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 c# .NET 客戶端連接或訪問 Okta LDAP 接口

使用 c# .NET 客戶端連接或訪問 Okta LDAP 接口

C#
慕森王 2023-07-09 10:25:38
我有一個使用 Okta LDAP 接口工具的客戶端。我們有一個 LDAP v3 工具,可以連接 AD、Open LDAP 其他 LDAP v3 支持的服務器。我們希望將 Okta LDAP 接口集成到我們的工具中,因為它兼容 LDAPv3。我們的代碼基于.NET框架+C Sharp。我們在使用 Okta LDAP 接口連接時面臨一些問題/挑戰。目前我們使用微軟提供的System.DirectoryServices?by Microsoft庫。但面臨 LDAP 接口的問題。對于?開始TLS/389我收到錯誤:不愿意表現。LDAP 錯誤代碼 53更多:無法建立安全連接。致管理員:此服務需要 TLS。LDAP對于 SSL/636錯誤:服務器無法運行。var oktaLDAPPath = "LDAP://dev-506668.ldap.oktapreview.com:636/ou=users,dc=dev-506668,dc=oktapreview,dc=com";? ? ? ? var un = "uid=*******,dc=dev-506668,dc=oktapreview,dc=com";? ? ? ? var pass = "*******";? ? ? ? var filter = "((objectClass=*))";? ? ? ? try? ? ? ? {? ? ? ? ? ? using (var userDirectoryEntry = new DirectoryEntry(oktaLDAPPath, un, pass,AuthenticationTypes.SecureSocketsLayer))? ? ? ? ? ? {?? ? ? ? ? ? ? ? using (var directorySearcher = new DirectorySearcher(userDirectoryEntry, filter) { PageSize = 100 })? ? ? ? ? ? ? ? {? ? ? ? ? ? ? ? ? ? directorySearcher.FindOne();? ? ? ? ? ? ? ? }? ? ? ? ? ? }? ? ? ? }? ? ? ? catch (DirectoryServicesCOMException dex)? ? ? ? {? ? ? ? }? ? ? ? catch (Exception ex)? ? ? ? {? ? ? ? }
查看完整描述

2 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

如果您在 上進行 DNS 查找dev-506668.ldap.oktapreview.com,它會為您提供CNAME結果op1-ldapi-fb96b0a1937080bd.elb.us-east-1.amazonaws.com

瀏覽器將使用 CNAME 的 IP 地址,但仍使用您最初提供的主機名發出請求。但是,由于某種原因,在啟動 LDAP 連接時,Windows 使用 CNAME 來啟動連接。

換句話說,Windows 正在將請求更改LDAP://op1-ldapi-fb96b0a1937080bd.elb.us-east-1.amazonaws.com:636為.?但隨后它收到具有該名稱的 SSL 證書,*.ldap.oktapreview.com并且會出現恐慌,因為該證書與用于發出請求的名稱不匹配 (?op1-ldapi-fb96b0a1937080bd.elb.us-east-1.amazonaws.com)。

我使用 Wireshark 驗證了所有這些,監控端口 636 上的流量。SSL Client Hello 使用op1-ldapi-fb96b0a1937080bd.elb.us-east-1.amazonaws.com而不是dev-506668.ldap.oktapreview.com.

我不知道有什么方法可以讓它不這樣做。DirectoryEntry也無法覆蓋它驗證 SSL 證書的方式。LdapConnection確實如此,但使用它可能會有點困難。我從來沒有用過它。(您可能應該自己進行一些true驗證,而不僅僅是像該示例那樣返回)。

無論如何,這可能是您可以與 Okta 支持人員分享的內容。


原答案:

聽起來您的計算機不信任服務器上使用的 SSL 證書。為了驗證這一點,我使用 Chrome。你必須像這樣啟動 Chrome:

chrome.exe?--explicitly-allowed-ports=636

然后你可以把它放在地址欄中:

https://dev-506668.ldap.oktapreview.com:636

如果證書不受信任,您將收到一個大錯誤。您可以單擊“高級”按鈕查看 Chrome 給出的不被信任的原因。但 Chrome 還允許您通過單擊地址左側地址欄中的“不安全”來檢查證書,然后單擊“證書”。

它可能不被信任有幾個原因:

  1. 您使用的完全限定域名 (?dev-506668.ldap.oktapreview.com) 與證書上的內容不匹配。如果是這種情況,您也許只需更改用于匹配證書的域名即可。

  2. 該證書不是由受信任的機構頒發的。它可以是自簽名證書。如果是這種情況,那么當您查看證書時,您應該會看到一個“安裝證書”按鈕,您可以使用該按鈕來明確信任該證書。


查看完整回答
反對 回復 2023-07-09
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

我最近遇到了這個問題,并指出了以下解決方案:

添加以下注冊表值,然后重新啟動服務器并查看是否解決了問題。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LDAP\UseHostnameAsAlias DWORD,將值設置為 1。

查看完整回答
反對 回復 2023-07-09
  • 2 回答
  • 0 關注
  • 212 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號