如何在不影响其他进程的情况下从Schannel添加/删除密码套件?

时间:2015-05-12 14:21:57

标签: c# pinvoke block-cipher

如何在不影响其他进程的情况下调用API“BCryptAddContextFunction”和“BCryptRemoveContextFunction”来从Schannel添加/删除密码套件?

例如,如果进程'A'调用这些API并更改Cipher套件,则其他进程(如'B'或'C')不应影响这意味着'B'或'C'应该能够使用默认密码套件

我编写了以下代码,这也影响了其他进程。

uint status = ERROR_SUCCESS;

status = BCryptRemoveContextFunction(CRYPT_LOCAL,
                                    "SSL",
                                    NCRYPT_SCHANNEL_INTERFACE,
                                    "TLS_RSA_WITH_RC4_128_SHA");

实际上我想在使用TLS 1.2与服务器通信时阻止我的客户端应用程序的弱密码套件,但问题是我设置的它也影响其他应用程序。如何仅为我的应用程序阻止弱密码套件而不影响其他密码套件。

注意:我的应用程序是用C#编写的,我使用P / Invoke调用这些API。

0 个答案:

没有答案