diff -r 0d1994274e3e3e08a277b651b8f392b723578f57 -r f4922397f624721deb651aaa50ab8c35dbd808d9 AccountManagementEngine/AccountManagementEngine.cs --- a/AccountManagementEngine/AccountManagementEngine.cs Sun Jan 27 21:53:00 2013 -0600 +++ b/AccountManagementEngine/AccountManagementEngine.cs Tue Jan 29 21:26:38 2013 -0600 @@ -5,6 +5,7 @@ using System.Net; using System.Text.RegularExpressions; using AccountManagement.Engines; +using System.Net.Security; namespace AccountManagement { @@ -19,7 +20,24 @@ public class AccountManagementEngine : IDisposable { public Dictionary options = new Dictionary(); - + + // This is an option of do-what-I-say-I-know-what-I'm-doing + public static void ignoreSSL() + { + try + { + //Change SSL checks so that all checks pass + ServicePointManager.ServerCertificateValidationCallback = + new RemoteCertificateValidationCallback( + delegate + { return true; } + ); + } + catch (Exception) + { + + } + } public void AddData(string key, string val) { this.options[key] = val; @@ -31,10 +49,10 @@ switch (engine) { case Engine.FACEBOOK: - eng = new FacebookEngine(); + eng = new FacebookEngine(options); break; case Engine.TWITTER: - eng = new TwitterEngine(); + eng = new TwitterEngine(options); break; case Engine.SMF: // Options: diff -r 0d1994274e3e3e08a277b651b8f392b723578f57 -r f4922397f624721deb651aaa50ab8c35dbd808d9 AccountManagementEngine/Engines/FacebookEngine.cs --- a/AccountManagementEngine/Engines/FacebookEngine.cs Sun Jan 27 21:53:00 2013 -0600 +++ b/AccountManagementEngine/Engines/FacebookEngine.cs Tue Jan 29 21:26:38 2013 -0600 @@ -9,6 +9,14 @@ internal class FacebookEngine : IEngine, IDisposable { private WebEngine web; + public FacebookEngine(Dictionary options) + { + //We don't need to store the options + if (options.Keys.Contains("ignoressl") && options["ignoressl"] == "true") + { + AccountManagementEngine.ignoreSSL(); + } + } public bool ChangePassword(string username, string oldpass, string newpass) { web = new WebEngine("Nokia 7110/1.0"); diff -r 0d1994274e3e3e08a277b651b8f392b723578f57 -r f4922397f624721deb651aaa50ab8c35dbd808d9 AccountManagementEngine/Engines/SMFEngine.cs --- a/AccountManagementEngine/Engines/SMFEngine.cs Sun Jan 27 21:53:00 2013 -0600 +++ b/AccountManagementEngine/Engines/SMFEngine.cs Tue Jan 29 21:26:38 2013 -0600 @@ -14,6 +14,11 @@ { this.web = new WebEngine(); this.options = options; + + if (options.Keys.Contains("ignoressl") && options["ignoressl"] == "true") + { + AccountManagementEngine.ignoreSSL(); + } } public bool ChangePassword(string username, string oldpass, string newpass) { diff -r 0d1994274e3e3e08a277b651b8f392b723578f57 -r f4922397f624721deb651aaa50ab8c35dbd808d9 AccountManagementEngine/Engines/TwitterEngine.cs --- a/AccountManagementEngine/Engines/TwitterEngine.cs Sun Jan 27 21:53:00 2013 -0600 +++ b/AccountManagementEngine/Engines/TwitterEngine.cs Tue Jan 29 21:26:38 2013 -0600 @@ -3,15 +3,20 @@ using System.Linq; using System.Text; using System.Text.RegularExpressions; +using AccountManagement; namespace AccountManagement.Engines { class TwitterEngine : IEngine, IDisposable { private WebEngine web; - public TwitterEngine() + public TwitterEngine(Dictionary options) { - + //We don't need to store the options + if (options.Keys.Contains("ignoressl") && options["ignoressl"] == "true") + { + AccountManagementEngine.ignoreSSL(); + } } public void Dispose() {