C#快速生成一个自签名证书
.net 4.7+ 和 .net core 中自带了一个类 CertificateRequest
, 用于构造证书请求。
// generate asymmetric key pair
// var rsa = RSA.Create();
// var req = new CertificateRequest("cn=younname", rsa, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
var ecdsa = ECDsa.Create();
var req = new CertificateRequest("cn=younname", ecdsa, HashAlgorithmName.SHA256);
var cert = req.CreateSelfSigned(DateTimeOffset.Now, DateTimeOffset.Now.AddYears(10));
// Create PFX (PKCS #12) with private key
File.WriteAllBytes("mycert.pfx", cert.Export(X509ContentType.Pfx, "123456"));
// Create Base 64 encoded CER (public key only)
File.WriteAllText("mycert.cer",
"-----BEGIN CERTIFICATE-----\r\n"
+ Convert.ToBase64String(cert.Export(X509ContentType.Cert), Base64FormattingOptions.InsertLineBreaks)
+ "\r\n-----END CERTIFICATE-----");
Categories:
.net
Tags:
.net
已禁用评论。