public async Task KeyStoreEncryptAsync(IPrivateKey privateKey, NetworkType networkType, KeyRegistryTypes keyIdentifier) { try { var publicKeyHash = _hashProvider.ComputeMultiHash(privateKey.GetPublicKey().Bytes).ToArray() .ToByteString(); var address = new Address { PublicKeyHash = publicKeyHash, AccountType = AccountType.PublicAccount, NetworkType = networkType }; var securePassword = _passwordManager.RetrieveOrPromptPassword(_defaultNodePassword, "Please create a password for this node"); var password = StringFromSecureString(securePassword); var json = EncryptAndGenerateDefaultKeyStoreAsJson( password, _cryptoContext.ExportPrivateKey(privateKey), address.RawBytes.ToBase32()); _passwordManager.AddPasswordToRegistry(_defaultNodePassword, securePassword); await _fileSystem.WriteTextFileToCddSubDirectoryAsync(keyIdentifier.Name, Constants.KeyStoreDataSubDir, json); } catch (Exception e) { _logger.Error(e.Message); } }