/// <summary> /// Setups the trust relationship between two applications. /// </summary> /// <param name="application1">The application1.</param> /// <param name="application2">The application2.</param> private bool SetupTrustRelationship(ManagedApplication application1, ManagedApplication application2) { X509Certificate2 certificate1 = application1.Certificate.Find(); if (certificate1 == null) { MessageBox.Show(application1.ToString() + " does not have a certificate defined.", "Setup Trust Relationship", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } X509Certificate2 certificate2 = application2.Certificate.Find(); if (certificate2 == null) { MessageBox.Show(application2.ToString() + " does not have a certificate defined.", "Setup Trust Relationship", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } if (application1.TrustList != null) { ICertificateStore store = application1.TrustList.OpenStore(); try { if (store.FindByThumbprint(certificate2.Thumbprint) == null) { store.Add(new X509Certificate2(certificate2.RawData)); } } finally { store.Close(); } } if (application2.TrustList != null) { ICertificateStore store = application2.TrustList.OpenStore(); try { if (store.FindByThumbprint(certificate1.Thumbprint) == null) { store.Add(new X509Certificate2(certificate1.RawData)); } } finally { store.Close(); } } return true; }