Created
April 10, 2020 18:44
-
-
Save luisdeol/51b4499bb280020388086571001d713a to your computer and use it in GitHub Desktop.
3.2. Manage and create certificates
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.IO; | |
using System.Security.Cryptography; | |
using System.Security.Cryptography.X509Certificates; | |
namespace _32_Symmetric_Asymmetric_Encryption | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
var ecdsa = ECDsa.Create(); | |
var certificateRequest = new CertificateRequest("cn=luisdeol", ecdsa, HashAlgorithmName.SHA256); | |
var certificate = certificateRequest.CreateSelfSigned(DateTimeOffset.Now, DateTimeOffset.Now.AddYears(1)); | |
var baseDirectory = AppDomain.CurrentDomain.BaseDirectory; | |
// Saving CER file, containing public key. | |
var base64StringCerContent = Convert.ToBase64String(certificate.Export(X509ContentType.Cert), Base64FormattingOptions.InsertLineBreaks); | |
var cerContent = "-----BEGIN CERTIFICATE-----\r\n" | |
+ base64StringCerContent | |
+ "\r\n-----END CERTIFICATE-----"; | |
File.WriteAllText($"{baseDirectory}certificate.cer", cerContent); | |
// Saving PFX file, containing private key. | |
var pfxBytes = certificate.Export(X509ContentType.Pfx, "1ns3rt@g00dp@ssw0rd"); | |
File.WriteAllBytes($"{baseDirectory}certificate.pfx", pfxBytes); | |
Console.ReadLine(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment