首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MSMQ:签名无效--如何解决?

MSMQ:签名无效--如何解决?
EN

Stack Overflow用户
提问于 2019-09-25 15:47:30
回答 1查看 832关注 0票数 0

我的头撞在墙上用这一个,可以做一些灵感。

我有一个.NET 4.5.2应用程序,它使用System.Messaging.MessageQueue向本地机器上经过身份验证的事务发送MSMQ消息。

在开发、测试和现场运行的Windows2008 R2服务器上,这都是非常出色的。我正处于迁移到Windows 2019的过程中,它不再工作了。它也不能在Windows 10桌面上工作。

当我试图向本地(或远程)发送一条消息时,它会默默地失败,并在事务处理死信队列中登陆,错误是:“签名无效”。

这方面的传统答案是:

未安装

  • MSMQ。答:这是本地交货,所以applicable
  • Certificate已经过期了。答:通过MSMQ控制台更新和重新注册证书.
  • 关闭身份验证.A:可以工作,但是队列不安全,因此
  • 不支持弱算法支持。A:只适用于远程队列的跨操作系统。

在2008年的工作安装中,测试消息已正确标识发送方,使用SHA-512将身份验证设置为yes。

在死信队列中,发件人仍然被正确识别,但是它说身份验证是不存在的,并且是未知的散列。然而,生成消息的测试代码完全相同。

我唯一奇怪的是,在所有生产计算机中,由于以下原因,我无法“查看”用户证书:

无法获得

用户证书。错误:存在内部域服务错误。

尽管这种情况也发生在2008年的盒子里,但效果很好。我还可以通过按下“Registry……”在计算机上本地查看证书,并且我可以在AD用户下面的mSMQSignCertificates属性中看到数据。

所以,我完全不知道是什么导致了这一切。或者更重要的是,如何进一步推进。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-27 14:43:47

这个奇怪的现象确实是问题的一个症状,解决这个问题解决了这个问题。

我不知道为什么会发生这种情况,但看来Active用户对象对于MSMQ的证书变得不可读了。

深入解决方案在这个博客上:https://www.aligrant.com/web/blog/2019-09-27_msmq_the_signature_is_invalid

总之:清除有问题的AD用户上的mSMQDigests和mSMQSignCertificates条目,并在每个使用它的服务器上重新注册现有的证书。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58102196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档