GetPrivateKey() public method

Gets the private key for the specified certificate.
Gets the private key for the specified certificate, if it exists.
public GetPrivateKey ( X509Certificate certificate ) : AsymmetricKeyParameter
certificate Org.BouncyCastle.X509.X509Certificate The certificate.
return Org.BouncyCastle.Crypto.AsymmetricKeyParameter
		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 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.");
        }