public void ParseOption(object option) { var loadKeyStoreOptions = (LoadKeyStoreOption)option; if (!_fileSystem.SetCurrentPath(loadKeyStoreOptions.Path)) { _userOutput.WriteLine("Invalid path."); return; } var secureStr = _passwordLoader.PreloadPassword(loadKeyStoreOptions.Password); var privateKey = _keyStore.KeyStoreDecrypt(KeyRegistryTypes.DefaultKey); // If no key store exists then KeyStoreDecrypt will log a message and return null for the private key if (privateKey == null) { secureStr?.Dispose(); return; } var publicKeyStr = privateKey.GetPublicKey().Bytes.KeyToString(); _userOutput.WriteLine($"Keystore decrypted, Public Key: {publicKeyStr}"); secureStr?.Dispose(); }
public void ParseOption(object option) { var generateKeyStoreOption = (GenerateKeyStoreOption)option; if (!_fileSystem.SetCurrentPath(generateKeyStoreOption.Path)) { _userOutput.WriteLine("Invalid path."); return; } var secureStr = _passwordLoader.PreloadPassword(generateKeyStoreOption.Password); Exception error = null; try { var privateKey = _keyStore.KeyStoreGenerate(KeyRegistryTypes.DefaultKey).ConfigureAwait(false) .GetAwaiter().GetResult(); var publicKey = privateKey.GetPublicKey().Bytes.KeyToString(); _userOutput.WriteLine($"Generated key store at path: {Path.GetFullPath(generateKeyStoreOption.Path)}"); _userOutput.WriteLine($"Public Key: {publicKey}"); } catch (Exception e) { _userOutput.WriteLine($"Error generating keystore at path {generateKeyStoreOption.Path}"); error = e; } finally { secureStr?.Dispose(); if (error != null) { throw error; } } }