private static Account findOrRegisterAccount(final Session session, final KeyPair accountKey) throws AcmeException {
        val tos = session.getMetadata().getTermsOfService();
        LOGGER.debug("Accepted terms of service url: [{}]", tos);
        val account = new AccountBuilder()
            .agreeToTermsOfService()
            .useKeyPair(accountKey)
            .create(session);
        LOGGER.info("Registered new user w/ URL: [{}]", account.getLocation());
        return account;
    }
Finds your {@link Account} at the ACME server. It will be found by your user's
public key. If your key is not known to the server yet, a new account will be
created.

@param session {@link Session} to bind with
@return {@link Account}
support/cas-server-support-acme/src/main/java/org/apereo/cas/acme/DefaultAcmeCertificateManager.java