sverweij/mscgen_js

View on GitHub
src/samples/3rdparty/acme-processing-02-authorization.msgenny

Summary

Maintainability
Test Coverage
/*
 * 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;