在 .net core 中使用 x509 证书签署soap请求

问题描述

我正在尝试向工作日服务发送请求。我的客户是 .net 核心。我还需要添加一些自定义标头,然后在同一标头中添加整个签名。

我设法使用 IClientMessageInspector

创建了一个自定义标头

给定一个 xml,我知道如何对块进行签名。我的问题是:

  1. 如何将我的 signedXml 块添加回请求 soap 标头?
  2. 在哪里执行此操作? 我尝试在 BeforeSendRequest 调用中捕获它。但我无法添加安全标头并通过以下方式对同一标头执行签名:
   request.Headers.Add(new SecurityHeader(_userName)); //Without  the signature blcok
   string signature = getSignedBlock(request.toString()); 
   request.Headers.Clear(); 
   request.Headers.Add(new SecurityHeader(_userName,signature)); //This time with the signed block

注意: 这里存在一个类似的问题; Need help with manipulating SOAP header in my WCF client before sending request 但我希望将整个肥皂信封提取为 xml,以便我可以对其进行签名,然后还可以将其添加回来。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)