1

我正在使用NameAndPassword授權插件通過OS X鎖定屏幕(the fixed version of the plugin since original is broken)登錄。我需要它能夠以某種方式訪問​​存儲的密碼,目前我試圖通過使用鑰匙串來實現這一點。從OS X授權插件獲取鑰匙串項目時出錯

我設法創建密鑰鏈並在裏面保存一些密碼以及訪問密碼時所需的ACL,而不會提示用戶。任何添加到ACL的應用程序都可以正常工作,但沒有任何提示,但是當我嘗試使用此NameAndPassword授權插件訪問鑰匙串時,調用SecKeychainFindGenericPassword來獲取密碼時出現-25293 The user name or passphrase you entered is not correct錯誤。

我曾嘗試將/Library/Security/SecurityAgentPlugins/NameAndPassword.bundle捆綁包和/Library/Security/SecurityAgentPlugins/NameAndPassword.bundle/Contents/MacOS/NameAndPassword可執行文件本身添加到ACL,但錯誤始終是相同的。

我相信這可能是由於這個插件正在作爲另一個用戶(或根本沒有用戶)運行。我能做些什麼來擺脫這個錯誤?或者,也許這是不可能的?在這種情況下,當它無法訪問主目錄時,我該如何存儲和訪問此插件中的密碼?現在我一直在爲此掙扎數週。

回答

0

檢查,如果你改變了插件捆綁的所有權根:車輪 使用此命令:

sudo chown -R root:wheel /Library/Security/SecurityAgentPlugins/NameAndPassword.bundle 
0

插件可能需要配置爲特權有權訪問文件系統您的鑰匙串存儲的位置。

如果您需要訪問主目錄,您的機制可能需要在HomeDirMechanism之後運行。

爲了從鑰匙串中讀取,您需要先解鎖鑰匙串。對於默認登錄鑰匙串,您通常可以使用登錄窗口中的密碼將其解鎖,因爲默認情況下,它與登錄密碼保持同步。

您將需要指定您正在閱讀的鑰匙串,否則它將嘗試使用根用戶的默認鑰匙串,該鑰匙串可能不存在。

Apple的技術說明涵蓋了很多關於此主題的內容。 https://developer.apple.com/library/content/technotes/tn2228/_index.html