4
從系統服務與自定義憑證提供程序進行通信的最佳方式是什麼? 是否可以通過消息泵發送消息? 我可以使用命名管道嗎? 任何建議,將不勝感激。憑證提供程序和系統服務之間的IPC
從系統服務與自定義憑證提供程序進行通信的最佳方式是什麼? 是否可以通過消息泵發送消息? 我可以使用命名管道嗎? 任何建議,將不勝感激。憑證提供程序和系統服務之間的IPC
憑證提供程序在用戶的會話中運行,而系統服務在系統會話中運行。據我所知,這排除了Windows消息。消息還需要創建一個窗口,並且該過程具有消息泵,而服務通常不具有該消息泵。
我會建議命名管道。系統服務可以創建管道並收聽。憑證提供者的任何實例都會附加,然後可以發送消息。
並非所有的憑證提供者都在用戶的會話中被調用。查看我的經驗,在工作站登錄,解鎖方案(以及登錄或解鎖期間的密碼更改方案)以及UAC方案中,通過LogonUI.exe和Consent.exe相應地使用LocalSystem權限調用憑證提供程序。在使用遠程桌面連接和網絡共享資源查看情景的場景中,憑據提供程序會被mstsc.exe和explorer.exe相應地調用,並具有當前登錄用戶的權限。 – Apokal