public IdentifierItem GetDomainIdentifierItemFromIdentifierInfo(ACMESharp.Vault.Model.IdentifierInfo identifier) { if (identifier == null) { return(null); } var i = new IdentifierItem { Id = identifier.Id.ToString(), Alias = identifier.Alias, Name = identifier.Dns, Dns = identifier.Dns, Status = identifier.Authorization?.Status }; if (identifier.Authorization != null) { i.AuthorizationExpiry = identifier.Authorization.Expires; i.IsAuthorizationPending = identifier.Authorization.IsPending(); if (identifier.Authorization.Status == "invalid") { var failedChallenge = identifier.Authorization.Challenges?.FirstOrDefault(c => c.ChallengePart?.Error != null); if (failedChallenge != null) { i.ValidationError = String.Join("\r\n", failedChallenge.ChallengePart.Error); i.ValidationErrorType = failedChallenge.ChallengePart.Error["type"]; } } } return(i); }
public IdentifierItem GetDomainIdentifierItemFromIdentifierInfo(ACMESharp.Vault.Model.IdentifierInfo identifier) { var i = new IdentifierItem { Id = identifier.Id.ToString(), Alias = identifier.Alias, Name = identifier.Dns, Dns = identifier.Dns, Status = identifier.Authorization?.Status, }; if (identifier.Authorization != null) { i.AuthorizationExpiry = identifier.Authorization.Expires; i.IsAuthorizationPending = identifier.Authorization.IsPending(); } return(i); }
protected override void ProcessRecord() { using (var vlt = Util.VaultHelper.GetVault(VaultProfile)) { vlt.OpenStorage(); var v = vlt.LoadVault(); if (v.Registrations == null || v.Registrations.Count < 1) throw new InvalidOperationException("No registrations found"); var ri = v.Registrations[0]; var r = ri.Registration; AuthorizationState authzState = null; var ii = new IdentifierInfo { Id = EntityHelper.NewId(), Alias = Alias, Label = Label, Memo = Memo, RegistrationRef = ri.Id, Dns = Dns, }; try { using (var c = ClientHelper.GetClient(v, ri)) { c.Init(); c.GetDirectory(true); authzState = c.AuthorizeIdentifier(Dns); ii.Authorization = authzState; if (v.Identifiers == null) v.Identifiers = new EntityDictionary<IdentifierInfo>(); v.Identifiers.Add(ii); } } catch (AcmeClient.AcmeWebException ex) { ThrowTerminatingError(PoshHelper.CreateErrorRecord(ex, ii)); return; } vlt.SaveVault(v); WriteObject(authzState); } }