我的目標是在C#應用程序中更新Exchange Server的證書,就像Enable-ExchangeCertificate
PS Cmdlet一樣。更新C#中的Exchange Server證書
我已經編寫了IIS的更新程序,它使用Microsoft.Web.Administration
來訪問和操作IIS站點和綁定。我已經通過Google和VS Libraries for Exchange API工具進行了搜索,但沒有任何運氣。我只能找到EWS(Exchange Web服務)的參考,它無法更新服務器證書AFAIK。
有沒有可以使用的API? Enable-ExchangeCertificate
如何提供功能?如果所有其他方法都失敗,我還想着使用PS Cmdlet,但我想要一個獨立的應用程序來依靠。不需要遠程服務器管理,只有localhost才行。
tl; dr如何在C#中更新本地Exchange Server證書?
編輯我會再看看EWS API(https://github.com/OfficeDev/ews-managed-api/blob/master/README.md),看起來它可能會完成這項工作。它提供程序集以訪問EWS數據,但我沒有找到專門用於證書管理的API調用。
好的,我只需從我的應用程序中調用Enable-ExchangeCertificate。我期待自動導入並啓用Let's Encrypt中的證書。 BTW從加密的PFX文件導入可以通過dotnet中提供的系統庫無縫工作。 PFX密碼僅以加密形式存儲在磁盤上,攻擊者需要知道該加密密鑰才能執行惡意操作,即。安裝惡意證書。感謝那些大量的信息,我應該在詢問之前做更多的研究... – NoMad
啊,我明白了。有一個LetsEncrypt Powershell模塊。也許你希望將它應用到你的應用程序中,這樣你就不需要重新發明整個weel。然而,我更喜歡的是一個完整的powershell腳本,然後是C#應用程序。 – BastianW
我在Windows上嘗試了一些LE的解決方案,IMO的linux客戶端更穩定/工作得更好。一個純粹的PS解決方案會很好,但爲了兼容Linux,我使用getssl,使用openssl進行打包和加密,然後將輸出推送到Windows共享中,我的服務可以將其輸出,導入並啓用IIS綁定和Exchange。 – NoMad