public final void setOptions(Map<String, ?> options) {
        /* Is verification of YubiKey owners enabled? */
        this.verify_yubikey_owner = true;
        if (options.get(OPTION_YUBICO_VERIFY_YK_OWNER) != null) {
            if ("false".equals(options.get(OPTION_YUBICO_VERIFY_YK_OWNER).toString())) {
                this.verify_yubikey_owner = false;
            }
        }
        if (options.get(OPTION_YUBICO_LDAP_PUBLICID_ATTRIBUTE) != null) {
            this.publicid_attribute = options.get(OPTION_YUBICO_LDAP_PUBLICID_ATTRIBUTE).toString();
        }
        if (options.get(OPTION_YUBICO_LDAP_USERNAME_ATTRIBUTE) != null) {
            this.username_attribute = options.get(OPTION_YUBICO_LDAP_USERNAME_ATTRIBUTE).toString();
        }
        if (options.get(OPTION_LDAP_URL) != null) {
            this.ldap_url = options.get(OPTION_LDAP_URL).toString();
        }
        if (options.get(OPTION_LDAP_BASE_DN) != null) {
            this.ldap_base_dn = options.get(OPTION_LDAP_BASE_DN).toString();
        }
        if (options.get(OPTION_LDAP_BIND_DN) != null) {
            this.ldap_bind_dn = options.get(OPTION_LDAP_BIND_DN).toString();
        }
        if (options.get(OPTION_LDAP_BIND_CREDENTIAL) != null) {
            this.ldap_bind_credential = options.get(OPTION_LDAP_BIND_CREDENTIAL).toString();
        }
        LdapConfig config = new LdapConfig(this.ldap_url, this.ldap_base_dn);
        config.setBindDn(this.ldap_bind_dn);
        config.setBindCredential(this.ldap_bind_credential);
        this.ldap = new Ldap(config);
    }