private KeyPair loadOrCreateUserKeyPair() throws IOException {
        val acme = casProperties.getAcme();
        val file = acme.getUserKey().getLocation().getFile();
        LOGGER.info("Locating user keypair [{}]. Keep this key pair in a safe place. "
                    + "In a production, you will not be able to access your account if you lose the key pair.", file);
        return loadOrCreateKeyPair(file);
    }
Loads a user key pair. If the file does not exist, a
new key pair is generated and saved.

@return User's {@link KeyPair}.
support/cas-server-support-acme/src/main/java/org/apereo/cas/acme/DefaultAcmeCertificateManager.java