public static string[] GenerateKeyPair(string output_path, string key_name) { key_name += ".key"; string key_file_path = Path.Combine (output_path, key_name); if (File.Exists (key_file_path)) { SparkleLogger.LogInfo ("Auth", "A key pair exists ('" + key_name + "'), leaving it untouched"); return new string [] { key_file_path, key_file_path + ".pub" }; } string computer_name = System.Net.Dns.GetHostName (); if (computer_name.EndsWith (".local")) computer_name = computer_name.Substring (0, computer_name.Length - 6); string arguments = "-t rsa " + // crypto type "-P \"\" " + // empty password "-C \"" + computer_name + "\" " + // key comment "-f \"" + key_name + "\""; // file name SparkleKeyProcess process = new SparkleKeyProcess ("ssh-keygen", arguments); process.StartInfo.WorkingDirectory = output_path; process.Start (); process.WaitForExit (); if (process.ExitCode == 0) SparkleLogger.LogInfo ("Auth", "Created keypair '" + key_file_path + "'"); else SparkleLogger.LogInfo ("Auth", "Could not create key pair '" + key_file_path + "'"); return new string [] { key_file_path, key_file_path + ".pub" }; }
public static void ListPrivateKeys() { SparkleKeyProcess process = new SparkleKeyProcess ("ssh-add", "-l"); process.Start (); string keys_in_use = process.StandardOutput.ReadToEnd (); process.WaitForExit (); SparkleLogger.LogInfo ("Auth", "The following keys may be used:\n" + keys_in_use.Trim ()); }
public static void ImportPrivateKey(string key_file_path) { SparkleKeyProcess process = new SparkleKeyProcess ("ssh-add", "\"" + key_file_path + "\""); process.Start (); process.WaitForExit (); if (process.ExitCode == 0) SparkleLogger.LogInfo ("Auth", "Imported key '" + key_file_path + "'"); else SparkleLogger.LogInfo ("Auth", "Could not import key '" + key_file_path + "'"); }
public static void ListPrivateKeys() { SparkleKeyProcess process = new SparkleKeyProcess("ssh-add", "-l"); process.Start(); string keys_in_use = process.StandardOutput.ReadToEnd(); process.WaitForExit(); SparkleLogger.LogInfo("Auth", "The following keys may be used:\n" + keys_in_use.Trim()); }
public static void ImportPrivateKey (string key_file_path) { // Use forward slashes when dealing with Windows domain accounts if (key_file_path.StartsWith ("\\\\")) key_file_path = key_file_path.Replace ("\\", "/"); SparkleKeyProcess process = new SparkleKeyProcess ("ssh-add", "\"" + key_file_path + "\""); process.Start (); process.WaitForExit (); if (process.ExitCode == 0) SparkleLogger.LogInfo ("Auth", "Imported key '" + key_file_path + "'"); else SparkleLogger.LogInfo ("Auth", "Could not import key '" + key_file_path + "', " + process.StandardError.ReadToEnd ()); }
public static void ImportPrivateKey(string key_file_path) { SparkleKeyProcess process = new SparkleKeyProcess("ssh-add", "\"" + key_file_path + "\""); process.Start(); process.WaitForExit(); if (process.ExitCode == 0) { SparkleLogger.LogInfo("Auth", "Imported key '" + key_file_path + "'"); } else { SparkleLogger.LogInfo("Auth", "Could not import key '" + key_file_path + "'"); } }
public static string [] GenerateKeyPair(string output_path, string key_name) { key_name += ".key"; string key_file_path = Path.Combine(output_path, key_name); if (File.Exists(key_file_path)) { SparkleLogger.LogInfo("Auth", "A key pair exists ('" + key_name + "'), leaving it untouched"); return(new string [] { key_file_path, key_file_path + ".pub" }); } string computer_name = System.Net.Dns.GetHostName(); if (computer_name.EndsWith(".local")) { computer_name = computer_name.Substring(0, computer_name.Length - 6); } string arguments = "-t rsa " + // crypto type "-b 4096 " + // key size "-P \"\" " + // empty password "-C \"" + computer_name + " (SparkleShare)\" " + // key comment "-f \"" + key_name + "\""; // file name SparkleKeyProcess process = new SparkleKeyProcess("ssh-keygen", arguments); process.StartInfo.WorkingDirectory = output_path; process.Start(); process.WaitForExit(); if (process.ExitCode == 0) { SparkleLogger.LogInfo("Auth", "Created keypair '" + key_file_path + "'"); } else { SparkleLogger.LogInfo("Auth", "Could not create key pair '" + key_file_path + "'"); } return(new string [] { key_file_path, key_file_path + ".pub" }); }
public static void ImportPrivateKey(string key_file_path) { // Use forward slashes when dealing with Windows domain accounts if (key_file_path.StartsWith("\\\\")) { key_file_path = key_file_path.Replace("\\", "/"); } SparkleKeyProcess process = new SparkleKeyProcess("ssh-add", "\"" + key_file_path + "\""); process.Start(); process.WaitForExit(); if (process.ExitCode == 0) { SparkleLogger.LogInfo("Auth", "Imported key '" + key_file_path + "'"); } else { SparkleLogger.LogInfo("Auth", "Could not import key '" + key_file_path + "', " + process.StandardError.ReadToEnd()); } }