src/samples/3rdparty/acme-processing-02-authorization.msgenny
/*
* ACME protocol - Authorization request processing
*
* source: https://github.com/letsencrypt/anvil
*/
wordwraparcs=1, hscale=1.1, width=720;
Client -> WebFE: authorizationRequest;
WebFE rbox WebFE: look up authorization based on nonce;
WebFE rbox WebFE: verify authorization signature;
WebFE -> RA: UpdateAuthorization (Authorization);
RA rbox RA: add responses to authorization;
RA -> SA: "Update(Authorization.ID, Authorization)";
WebFE -> VA: UpdateValidations (Authorization);
WebFE -> Client: defer (authorizationID);
VA -> SA: "Update (Authorization.ID, Authorization)";
VA -> RA: OnValidationUpdate (Authorization);
RA rbox RA: check that validation sufficient;
RA rbox RA: finalize authorization;
RA -> SA: "Update (Authorization.ID, Authorization)";
RA -> WebFE: OnAuthorizationUpdate(Authorization);
Client -> WebFE: statusRequest;
WebFE >> Client: error / authorization;