我有两个证书对我来说看起来一样,但显然不是ClickOnce部署过程。这两个证书都是自签名的,并且都在安装应用程序的计算机上的受信任的根区域中(因此它们都没有发行者,它们都是根目录)。
使用"创建测试证书"使用Visual Studio发布选项卡生成其中一个证书。按钮,另一个由我使用openssl cli生成
以下是他们在证书预览中的表现
现在,使用Visual Studio生成的那个在安装应用程序时显示为Trusted Publisher,而我的证书显示为Untrusted(但是当我手动检查证书时 - 它在Windows中显示为受信任)。
以下是我用于使用openssl创建证书的cli命令。请注意,我使用默认的openssl配置(版本1.0.2h)
openssl genrsa -out ca.key 4096
openssl req -new -x509 -days 999 -key ca.key -out ca.crt
openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.p12
我无法弄清楚为什么我的证书看起来不受信任,也就是说,VS证书生成器比我在openssl中所做的更多。如何查看和比较两个证书的属性,以查看与ClickOnce安装程序有关的不同之处。
我还尝试明确指定证书是用于代码签名(在扩展密钥用法中) - 结果仍然相同