C#如何创建自签证书

发布时间 2023-05-17 10:53:45作者: 喜爱糖葫芦

提问

C#如何创建自签证书

回答

var rsa = RSA.Create();
var x500Name = new X500DistinguishedName("CN=[产品名], O=[公司名], OU=[部门名]" );
var req = new CertificateRequest(x500Name, rsa, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
var sanBuilder = new SubjectAlternativeNameBuilder();
sanBuilder.AddDnsName("localhost");
sanBuilder.AddDnsName(Environment.MachineName);
sanBuilder.AddIpAddress(IPAddress.Parse("127.0.0.1"));
sanBuilder.AddIpAddress(IPAddress.Parse("::1"));
req.CertificateExtensions.Add(sanBuilder.Build());
var cert = req.CreateSelfSigned(DateTimeOffset.Now, DateTimeOffset.Now.AddYears(10));
File.WriteAllBytes($@"[你的路径]self.pfx", cert.Export(X509ContentType.Pfx, "111111"));
app.UseHttpsRedirection();

参考

分隔符为逗号不是斜线
https://learn.microsoft.com/zh-cn/dotnet/api/system.security.cryptography.x509certificates.x500distinguishedname?view=net-6.0