相关疑难解决方法(0)

如何使用c#以编程方式将证书安装到本地计算机存储中?

我有通过MakeCert生成的证书.我想使用PeerTrust将此证书用于WCF消息安全性.如何使用c#或.NET以编程方式将证书安装到"受信任的人"本地计算机证书存储中?

我有一个CER文件,但也可以创建一个PFX.

.net c# wcf certificate makecert

53
推荐指数
3
解决办法
7万
查看次数

如何从.NET设置X.509证书的私钥文件的读取权限

以下是将pfx添加到Cert存储的代码.

X509Store store = new X509Store( StoreName.My, StoreLocation.LocalMachine );
store.Open( OpenFlags.ReadWrite );
X509Certificate2 cert = new X509Certificate2( "test.pfx", "password" );
store.Add( cert );
store.Close();
Run Code Online (Sandbox Code Playgroud)

但是,我找不到为NetworkService设置访问私钥的权限的方法.

任何人都能解释一下吗?提前致谢.

.net c# ssl ssl-certificate

29
推荐指数
4
解决办法
3万
查看次数

在.MSI自定义操作中安装证书无法正常工作

我正在尝试在自定义操作中在本地计算机存储中安装证书.证书已安装,但当我使用它来查询AWS时,我收到此错误:

对象仅包含密钥对的公共一半.还必须提供私钥.

安装程序正在升级,目标是Windows Vista.

如果我使用单独的.exe来安装完全相同的证书,使用完全相同的代码,它的工作原理.那么使用Windows Installer安装证书时有什么不同呢?

代码:

private void InstallCertificate(string certificatePath, string certificatePassword)
{
  if (IsAdmin())
  {
    try
    {
      X509Certificate2 cert = new X509Certificate2(certificatePath, certificatePassword,
        X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet);

      X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
      store.Open(OpenFlags.ReadWrite);
      store.Add(cert);
      store.Close();
    }
    catch (Exception ex)
    {
      throw new DataException("Certificate appeared to load successfully but also seems to be null.", ex);
    }
  }
  else
  {
    throw new Exception("Not enough priviliges to install certificate");
  }
}
Run Code Online (Sandbox Code Playgroud)

c# windows-installer custom-action certificate

6
推荐指数
1
解决办法
3168
查看次数