我發現以下方案通過使用自定義根CA來保護企業軟件的各個部分。這是做這種事的正確方法嗎?有這樣的方式有問題嗎?程序集簽名和證書
的sheme:
- 我有我的自定義根CA.有一組由這個CA創建的簡單證書。
- 有一個.NET程序集。來自我CA的證書A簽名的集合A中的集合,集合B來自我的CA的證書B簽名。
- 有一組客戶端,它信任我的CA(在第三方根CA文件夾中有證書,在證書管理單元中)。
- 使用可信證書籤名的程序集將正常工作,使用不可信證書籤名的程序集將不起作用。
- 我撤銷證書B(在我的服務器上使用根CA)。
的問題:
- 是否信息(證書B在撤銷)將通過使用OCSP自動發送給每一個客戶?
- 是否每個程序集的負載都會使用Internet連接進行OCSP調用?我的裝配中的每臺計算機是否會進行此類調用?
- 如果域中的一臺計算機沒有連接到互聯網,它會計數信任被吊銷的證書?
- 它是受保護的方式 - 客戶端可以打破OCSP請求,阻止我的服務器地址等嗎?
- 證書B是否會自動放置到客戶端服務器上的Untrusted Certificates文件夾中?
- 因此,一般來說,客戶端可以使我的軟件與不受信任的證書一起工作嗎?
- 是否有可能從程序集中清除此證書籤名?
我只是在沒有互聯網接入的計算機上亂搞應用程序,OCSP給我帶來了麻煩。我能夠使用小工具從C#EXE和DLL中刪除證書,並且它們運行良好。所以,#7 ...是的,你可以只取得證書,不需要重新編譯。 – JPhi1618