gpt4 book ai didi

sql - 来自 SQL Server 数据库的 WCF 证书存储

转载 作者:行者123 更新时间:2023-12-04 20:29:10 33 4
gpt4 key购买 nike

我有一个 SQL 数据库,它为 WCF 服务和其他服务存储我的客户端证书。 (X509 等)。我想使用这个商店(而不是“我的”)来检索这个证书(而不是在 web.config 中声明它),然后将它用于 WCF。

我试图在这个网站和谷歌上搜索,但似乎没有多大帮助。

目前我正在做

 var targetEndpoint = new EndpointAddress(targetLogicalAddress, targetIdentity);
MyTransportPortTypesClient proxy = new MyTransportPortTypesClient("WebConfigSection", targetEndpoint);

所以理想情况下,我想摆脱“WebConfigSection”,而是传递某种具有证书签名的 WCF 对象。

有谁知道如何实现这一目标?

我终于解决了这个问题,这就是我的做法。 (我将分享我的经验,以便每个人都可以使用它)这是不使用任何机器CertificateStore。它纯粹是从数据库到客户端代理。

我创建了 X509Certificate2 对象并分配了物理文件(以字节 [] 为单位)。如果密码 protected ,您也可以输入密码。

然后我已将证书分配给我的代理客户端。
就像是 :
proxy.ClientCredentials.ClientCertificate = __MyCertificate

现在我已经按照我在 app.config 中的意图操作了我的 clientproxy。就是这样。所有这些属性都将在您的代理对象中。

希望这可以帮助。

最佳答案

AFAIK 这至少是非常困难的,如果不是完全不可能的话。 WCF 使用 SChannel SSPI provider用于身份验证,此 SSPI 提供程序将仅从 SChannel CSP provider 加载证书.为了使用数据库中的证书,必须首先将证书加载到 PROV_RSA_SCHANNEL 中。 CSP keystore ,然后此 keystore 的证书上下文将传递给 AcquireCredentialsHandle .例如,这就是 database mirroring is able to authenticate using a certificate stored in the database .虽然也可以在托管代码中执行所有这些步骤,但我不确定是否可以将它们插入 WCF:我希望可以,但可能不适合胆小的人。

关于sql - 来自 SQL Server 数据库的 WCF 证书存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5980368/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com