private String SelectKey(NCryptStorageProvider provider) { String[] keyNames = provider.EnumKeys(); int keyIndex = SelectFromMenu("Choose a key", keyNames); return(keyNames[keyIndex]); }
private String SelectProvider() { String[] providerNames = NCryptStorageProvider.EnumProviders(); int providerIndex = SelectFromMenu("Choose a Key Storage Provider", providerNames); return(providerNames[providerIndex]); }
private void EnumerateProviders() { String[] providers = NCryptStorageProvider.EnumProviders(); foreach (String provider in providers) { Console.WriteLine(provider); } }
public CngHostAlgorithm(String providerName, String keyName) : base("ssh-rsa") { using (NCryptStorageProvider provider = new NCryptStorageProvider(providerName)) { key = provider.OpenKey(keyName); } hashAlgorithm = new BCryptAlgorithmProvider("SHA1"); }
private void DeleteKey() { using (NCryptStorageProvider provider = new NCryptStorageProvider(SelectProvider())) { using (NCryptKey key = provider.OpenKey(SelectKey(provider))) { key.Delete(); } } }
private void ExportKey() { using (NCryptStorageProvider provider = new NCryptStorageProvider(SelectProvider())) { using (NCryptKey key = provider.OpenKey(SelectKey(provider))) { Console.WriteLine(key.ExportToOpenSSHFormat("ssh-rsa", "")); } } }
private void EnumerateKeys() { using (NCryptStorageProvider provider = new NCryptStorageProvider(SelectProvider())) { String[] keyNames = provider.EnumKeys(); foreach (String keyName in keyNames) { Console.WriteLine(keyName); } } }
private void CreateKey() { using (NCryptStorageProvider provider = new NCryptStorageProvider(SelectProvider())) { Console.WriteLine("Enter a name for the new key:"); String keyName = Console.ReadLine(); provider.OpenOrCreateKey(keyName); Console.WriteLine("Key \"{0}\" created.", keyName); } }
private void Login() { String providerName = SelectProvider(); String keyName; using (NCryptStorageProvider provider = new NCryptStorageProvider(providerName)) { keyName = SelectKey(provider); } Console.WriteLine("Enter hostname:"); String hostname = Console.ReadLine(); if (hostname.Length == 0) { return; } Console.WriteLine("Enter username:"******"Logging into {0}@{1}...", username, hostname); using (SshClient client = new SshClient(hostname, username, new PrivateKeyCng(providerName, keyName))) { client.Connect(); Console.WriteLine("Successfully connected to host."); client.RunCommand("echo 'Hello World!!'"); client.Disconnect(); } }