上下文:第三方exe尝试与我的应用程序通信。我的应用程序应确保第三方exe不被其所有者以外的任何人篡改或修改。外部PE和我的应用程序都在同一台机器上运行,外部PE依靠COM接口从我的应用程序中获取所需的数据。
我在某种程度上意识到,使用CA证书签署可执行文件的唯一目的是确保真实性和完整性。因此,我必须验证外部PE的证书以确认其身份。但是我仍然有以下疑问。
1)Win-API提供WinVerifyTrust和CertVerifyCertificateChainPolicy函数。这两个函数都可用于可执行文件的信任验证。那么区别是什么呢?在哪种情况下我应该使用哪种功能?
2)即使我们使用这些功能验证证书,恶意应用程序是否可能欺骗证书(冒充有效的exe)或通过其他方式欺骗它并连接到我的应用程序?
提前感谢您的帮助。