Beispiel #1
0
        protected async Task <(Uri Server, IKey Key)> ReadAccountKey(
            ArgumentSyntax syntax, bool fallbackToSettings = false, bool required = false)
        {
            var serverUri = syntax.GetServerOption() ??
                            await UserSettings.GetDefaultServer();

            var keyPath = syntax.GetKeyOption();

            if (!string.IsNullOrWhiteSpace(keyPath))
            {
                logger.Debug("Load account key form '{0}'.", keyPath);
                var pem = await File.ReadAllText(keyPath);

                return(serverUri, KeyFactory.FromPem(pem));
            }

            var key = fallbackToSettings ?
                      await UserSettings.GetAccountKey(serverUri) : null;

            if (required && key == null)
            {
                throw new CertesCliException(
                          string.Format(Strings.ErrorNoAccountKey, serverUri));
            }

            return(serverUri, key);
        }
Beispiel #2
0
        public async Task <object> Execute(ArgumentSyntax syntax)
        {
            var serverUri = syntax.GetServerOption() ??
                            await userSettings.GetDefaultServer();

            var ctx = contextFactory.Invoke(serverUri, null);

            logger.Debug("Loading directory from '{0}'", serverUri);
            var directory = await ctx.GetDirectory();

            return(new
            {
                location = serverUri,
                resource = directory,
            });
        }