public void TestImportExportPkcs12() { var store = new X509CertificateStore(); store.Import(GetTestDataPath("smime.p12"), "no.secret"); var certificate = store.Certificates.FirstOrDefault(); var count = store.Certificates.Count(); Assert.AreEqual(1, count, "Unexpected number of certificates imported."); Assert.IsNotNull(store.GetPrivateKey(certificate), "Failed to get private key."); foreach (var authority in CertificateAuthorities) { store.Import(GetTestDataPath(authority)); } store.Export("exported.p12", "no.secret"); var imported = new X509CertificateStore(); imported.Import("exported.p12", "no.secret"); count = imported.Certificates.Count(); Assert.AreEqual(store.Certificates.Count(), count, "Unexpected number of certificates re-imported."); Assert.IsNotNull(imported.GetPrivateKey(certificate), "Failed to get private key after re-importing."); }
public void TestArgumentExceptions() { var store = new X509CertificateStore(); Assert.Throws <ArgumentNullException> (() => store.Add(null)); Assert.Throws <ArgumentNullException> (() => store.AddRange(null)); Assert.Throws <ArgumentNullException> (() => store.Export((Stream)null, "password")); Assert.Throws <ArgumentNullException> (() => store.Export((string)null, "password")); Assert.Throws <ArgumentNullException> (() => store.Export(Stream.Null, null)); Assert.Throws <ArgumentNullException> (() => store.Export("fileName", null)); Assert.Throws <ArgumentNullException> (() => store.Export((Stream)null)); Assert.Throws <ArgumentNullException> (() => store.Export((string)null)); Assert.Throws <ArgumentNullException> (() => store.GetPrivateKey(null)); Assert.Throws <ArgumentNullException> (() => store.Import((Stream)null, "password")); Assert.Throws <ArgumentNullException> (() => store.Import((string)null, "password")); Assert.Throws <ArgumentNullException> (() => store.Import((byte[])null, "password")); Assert.Throws <ArgumentNullException> (() => store.Import(Stream.Null, null)); Assert.Throws <ArgumentNullException> (() => store.Import(GetTestDataPath("smime.p12"), null)); Assert.Throws <ArgumentNullException> (() => store.Import(new byte[0], null)); Assert.Throws <ArgumentNullException> (() => store.Import((Stream)null)); Assert.Throws <ArgumentNullException> (() => store.Import((string)null)); Assert.Throws <ArgumentNullException> (() => store.Import((byte[])null)); Assert.Throws <ArgumentNullException> (() => store.Remove(null)); Assert.Throws <ArgumentNullException> (() => store.RemoveRange(null)); }
public void TestImportExportMultipleCertificates() { var store = new X509CertificateStore(); foreach (var authority in CertificateAuthorities) { store.Import(GetTestDataPath(authority)); } var count = store.Certificates.Count(); Assert.AreEqual(CertificateAuthorities.Length, count, "Unexpected number of certificates imported."); store.Export("exported.crt"); var imported = new X509CertificateStore(); imported.Import("exported.crt"); count = imported.Certificates.Count(); Assert.AreEqual(CertificateAuthorities.Length, count, "Unexpected number of certificates re-imported."); }