我构建了一个加载dll'(插件)的C ++应用程序。在加载DLL之前,应用程序会检查dll的数字签名是否为白名单的一部分。这样做是为了确保只加载授权的dll。
我尝试使用进程外的COM服务器/客户端完成类似的操作。 COM服务器需要确保只有特定的客户端才能访问它(从白名单)。我知道Microsoft为COM提供了许多不同的身份验证机制,但它们似乎围绕应用程序身份(用于运行它的帐户)。 最终,我需要一种安全的方法来验证COM客户端是否是他们所说的人,并且他们在我的白名单中。
我可以通过其他方式来实现这一目标,但不使用COM并不是一个真正的选择。
感谢您提供的任何帮助
答案 0 :(得分:0)
我认为这可以在DCOM Config中与可信客户端证书一起完成。
另一种方法是在服务器验证客户端数字签名的接口中实现一种方法。在此链接中是一个如何读出客户端证书的示例 How do I read an embedded code signing signature in C++?