Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ActiveMQ NMS SSL:从远程计算机运行应用程序_C#_Ssl_Activemq_Nms - Fatal编程技术网

C# ActiveMQ NMS SSL:从远程计算机运行应用程序

C# ActiveMQ NMS SSL:从远程计算机运行应用程序,c#,ssl,activemq,nms,C#,Ssl,Activemq,Nms,服务器A上部署了客户端C#应用程序。该应用程序与运行ActiveMQ的服务器B通信,并使用SSL协议。在服务器A和服务器B上导入的证书(两个证书都进入当前用户存储:客户端证书进入个人文件夹,服务器证书进入证书颁发机构) 直接从机器A运行应用程序没有问题。但对于实际工作,用户必须使用服务器A上的共享文件夹从机器C运行C#应用程序。在这种情况下,无法建立连接。如果我在机器C上导入证书,它可以正常工作 这是否意味着,我必须在每个用户的计算机上导入证书?或者将服务器A上的证书放入本地计算机文件夹?您需要

服务器A上部署了客户端C#应用程序。该应用程序与运行ActiveMQ的服务器B通信,并使用SSL协议。在服务器A和服务器B上导入的证书(两个证书都进入当前用户存储:客户端证书进入个人文件夹,服务器证书进入证书颁发机构)

直接从机器A运行应用程序没有问题。但对于实际工作,用户必须使用服务器A上的共享文件夹从机器C运行C#应用程序。在这种情况下,无法建立连接。如果我在机器C上导入证书,它可以正常工作


这是否意味着,我必须在每个用户的计算机上导入证书?或者将服务器A上的证书放入本地计算机文件夹?

您需要在本地导入证书,因为使用某些共享存储等共享证书不会为操作系统提供足够的安全级别以将其视为可信存储。这就是使用SSL的成本,受信任的证书需要在受信任的位置可用

所以,无论如何,我必须在所有用户的机器上导入证书,对吗?能否指定如何在本地导入证书,以使用某些共享存储共享证书?我测试了:将证书复制到应用程序共享文件夹(用户从中运行应用程序)的子文件夹中,并使用MMC将证书导入客户端计算机上的证书存储中。是你提议的吗?我想你误解了蒂姆说的话。他说你应该在所有用户的机器上导入证书,因为通过共享存储共享证书是行不通的。你自己说过,如果你在C机上导入证书,它可以正常工作。你只需要对所有相关的客户端都这样做。我在测试中描述的确切意思是我在用户机器上导入了证书。但这不是我想做的。问题是,我的应用程序作为另一家公司的应用程序客户端使用的附加组件工作,并且我使用该公司的证书。在50-100台机器上复制证书并不是客户真正期望的。这就是为什么我在寻找更好的解决方案。我想唯一简单的解决方案是使用操作系统的trusted CA store中已经提供的受信任根CA对代理证书进行签名。如果您正在使用自己的根CA,那么您必须使它对所有机器都可用。