Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.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# 如何在安装setup.exe时安装自签名证书_C# - Fatal编程技术网

C# 如何在安装setup.exe时安装自签名证书

C# 如何在安装setup.exe时安装自签名证书,c#,C#,我已经使用Makecert创建了我自己的证书,并使用Signtool对我的exe进行了签名和验证。但它仍然显示未知发布者安全警告。 然后,我尝试使用Installer类安装证书。但在未知发布者警告弹出后安装了证书。 有没有办法解决这个问题?证书基于信任链。操作系统提供商和/或网络管理员等决定他们信任谁向其他人(如您自己)提供持续信任,并允许在操作系统的根目录中安装提供商的证书 如果您可以说服拥有计算机的人信任您和您的自签名证书,那么您当然可以将其提供给他们,以便他们可以自行安装,此时您可以继续

我已经使用Makecert创建了我自己的证书,并使用Signtool对我的exe进行了签名和验证。但它仍然显示未知发布者安全警告。 然后,我尝试使用Installer类安装证书。但在未知发布者警告弹出后安装了证书。
有没有办法解决这个问题?

证书基于信任链。操作系统提供商和/或网络管理员等决定他们信任谁向其他人(如您自己)提供持续信任,并允许在操作系统的根目录中安装提供商的证书

如果您可以说服拥有计算机的人信任您和您的自签名证书,那么您当然可以将其提供给他们,以便他们可以自行安装,此时您可以继续

如果没有,您需要转到他们已经隐式信任的证书提供程序之一,即操作系统提供程序/网络管理员/计算机所有者/已安装根证书的人。提供商将通过一个过程来验证您是您所说的那个人(这就是为什么要花钱的原因),在这一点上,他们将向您颁发一个证书(基于一个链,其中链上的一个证书位于目标机器上),您可以使用该证书对代码进行签名。您不需要在最终用户计算机上安装此软件


如果安装程序可以在此对话框启动之前安装自签名证书,而无需其他管理员级别的访问权限,则会使整个过程变得毫无价值,因为任何人都可以冒充他人。

证书基于信任链。操作系统提供商和/或网络管理员等决定他们信任谁向其他人(如您自己)提供持续信任,并允许在操作系统的根目录中安装提供商的证书

如果您可以说服拥有计算机的人信任您和您的自签名证书,那么您当然可以将其提供给他们,以便他们可以自行安装,此时您可以继续

如果没有,您需要转到他们已经隐式信任的证书提供程序之一,即操作系统提供程序/网络管理员/计算机所有者/已安装根证书的人。提供商将通过一个过程来验证您是您所说的那个人(这就是为什么要花钱的原因),在这一点上,他们将向您颁发一个证书(基于一个链,其中链上的一个证书位于目标机器上),您可以使用该证书对代码进行签名。您不需要在最终用户计算机上安装此软件


如果您的安装程序可以在此对话框启动之前安装自签名证书,而无需其他管理员级别的访问,则整个过程将变得毫无价值,任何人都可以假装自己是其他人。

不是真的-您实际上是在试图找到一种方法来绕过dialog设计的目的,向用户保证他们可以信任签名。如果在加载此对话框之前有办法将您自己的证书加载到他们的计算机上,那么整个过程将变得毫无价值。我只是想解决“未知发布者”问题..请帮助我获得正确的证书。到目前为止,您是一个未知的出版商。消息是100%准确的。我应该购买证书而不是创建自己的证书吗?不是真的-你实际上是在试图找到一种方法来规避dialog的设计目的-向用户保证他们可以信任签名。如果在加载此对话框之前有办法将您自己的证书加载到他们的计算机上,那么整个过程将变得毫无价值。我只是想解决“未知发布者”问题..请帮助我获得正确的证书。到目前为止,您是一个未知的出版商。消息100%准确。我应该购买证书而不是创建自己的证书吗?