public static void ConvertRSACertToPfxAndBack(SignatureType sig) { using (var cert = sig.Create("CN=leaf")) { var certificate1 = cert.ToCertificate(); var pfx = certificate1.ToPfx(cert.GetRSAPrivateKey().ToKey()); using (var cert2 = new X509Certificate2(pfx, (string)null, X509KeyStorageFlags.Exportable)) { var certificate2 = cert2.ToCertificate(); Assert.True(certificate2.SameAs(certificate2)); Assert.True(certificate1.IsSelfSigned()); Assert.Equal(certificate1.GetIssuerSerialNumberAsString(), certificate1.GetSerialNumberAsString()); } } }
public static void ConvertECCCertToPfxAndBack(SignatureType sig) { Skip.If(RuntimeInformation.IsOSPlatform(OSPlatform.OSX), "Invalid key"); using (var cert = sig.Create("CN=leaf")) { var certificate1 = cert.ToCertificate(); var pfx = certificate1.ToPfx(cert.GetECDsaPrivateKey().ToKey()); using (var cert2 = new X509Certificate2(pfx, (string)null, X509KeyStorageFlags.Exportable | X509KeyStorageFlags.UserKeySet)) { var certificate2 = cert2.ToCertificate(); Assert.True(certificate2.SameAs(certificate2)); Assert.True(certificate1.IsSelfSigned()); Assert.Equal(certificate1.GetIssuerSerialNumberAsString(), certificate1.GetSerialNumberAsString()); } } }