在 .Net Core 控制台应用程序中生成受信任的自签名证书
Generate Trusted Self-Signed Certificate in .NetCore Console Application
我正在尝试为本地主机生成受信任的自签名证书。此证书将用于控制台应用程序内的自托管 Web API。由于此项目的要求,必须信任本地主机连接,并且应用程序将安装在客户端 PC 上,这意味着必须以编程方式生成证书。
我已经设法在 .Net Framework 中做到这一点,而且一切似乎都 100% 有效,但是一旦我将它移至 .NetCore,我就碰壁了。我对 .NetCore 很陌生,所以我的知识非常有限。
我正在使用 Bouncy Castle 生成证书,但出于某种原因,当我尝试在 .NetCore 中为自签名证书分配私钥时,出现 "System.PlatformNotSupportedException: 'Operation is not supported on this platform." 异常。当我尝试使用“DotNetUtilities.ToRSA(rsaparams)".
我遵循了这个link“Generate self signed certificate on the fly”的确切答案。
由于我对 .NetCore 的了解非常有限,如果有人能指出正确的方向,我将不胜感激。
具体问题是.NET Core不支持cert.PrivateKey上的setter。
最接近的模拟是cert.CopyWithPrivateKey
,但代码不同。而不是
cert.PrivateKey = key;
return cert;
你需要更像
return cert.CopyWithPrivateKey(key);
因为 CopyWithPrivateKey 创建了一个新的 X509Certificate2 对象,目标对象保持不变。
FWIW,您现在可以在没有额外依赖项的情况下完成整个证书创建,如 .
所示
我正在尝试为本地主机生成受信任的自签名证书。此证书将用于控制台应用程序内的自托管 Web API。由于此项目的要求,必须信任本地主机连接,并且应用程序将安装在客户端 PC 上,这意味着必须以编程方式生成证书。
我已经设法在 .Net Framework 中做到这一点,而且一切似乎都 100% 有效,但是一旦我将它移至 .NetCore,我就碰壁了。我对 .NetCore 很陌生,所以我的知识非常有限。
我正在使用 Bouncy Castle 生成证书,但出于某种原因,当我尝试在 .NetCore 中为自签名证书分配私钥时,出现 "System.PlatformNotSupportedException: 'Operation is not supported on this platform." 异常。当我尝试使用“DotNetUtilities.ToRSA(rsaparams)".
我遵循了这个link“Generate self signed certificate on the fly”的确切答案。
由于我对 .NetCore 的了解非常有限,如果有人能指出正确的方向,我将不胜感激。
具体问题是.NET Core不支持cert.PrivateKey上的setter。
最接近的模拟是cert.CopyWithPrivateKey
,但代码不同。而不是
cert.PrivateKey = key;
return cert;
你需要更像
return cert.CopyWithPrivateKey(key);
因为 CopyWithPrivateKey 创建了一个新的 X509Certificate2 对象,目标对象保持不变。
FWIW,您现在可以在没有额外依赖项的情况下完成整个证书创建,如