def acquire(cls, name=None, lifetime=None, mechs=None, usage='both',
                store=None):
        if store is None:
            res = rcreds.acquire_cred(name, lifetime,
                                      mechs, usage)
        else:
            if rcred_cred_store is None:
                raise NotImplementedError("Your GSSAPI implementation does "
                                          "not have support for manipulating "
                                          "credential stores")
            store = _encode_dict(store)
            res = rcred_cred_store.acquire_cred_from(store, name,
                                                     lifetime, mechs,
                                                     usage)
        return tuples.AcquireCredResult(cls(base=res.creds), res.mechs,
                                        res.lifetime)