struct CCL::Security::ICredentialManager

Overview

Credential management interface. More…

#include <icredentialmanager.h>

struct ICredentialManager: public CCL::IUnknown
{
    // structs

    struct SilentMode;

    // methods

    virtual tresult CCL_API addCredential (
        StringRef targetName,
        StringRef userName,
        const Crypto::Block& data,
        StringRef groupName = nullptr
    ) = 0;

    virtual tresult CCL_API addPassword (
        StringRef targetName,
        StringRef userName,
        StringRef password,
        StringRef groupName = nullptr
    ) = 0;

    virtual tresult CCL_API addCredentialAlias (
        StringRef aliasName,
        StringRef targetName
    ) = 0;

    virtual tresult CCL_API getCredential (
        ICredential*& credential,
        StringRef targetName,
        StringRef groupName = nullptr
    ) = 0;

    virtual tresult CCL_API removeCredential (StringRef targetName) = 0;
    virtual tbool CCL_API setSilentMode (tbool state) = 0;
    virtual String CCL_API resolveName (StringRef name) const = 0;
    virtual void CCL_API setGlobalGroupName (StringRef groupName) = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Credential management interface.

Note that calls might return kResultAccessDenied in case of missing permissions.

Methods

virtual tresult CCL_API addCredential (
    StringRef targetName,
    StringRef userName,
    const Crypto::Block& data,
    StringRef groupName = nullptr
) = 0

Add credential with data block, overrides existing.

virtual tresult CCL_API addPassword (
    StringRef targetName,
    StringRef userName,
    StringRef password,
    StringRef groupName = nullptr
) = 0

Add credential with password string, overrides existing.

virtual tresult CCL_API addCredentialAlias (
    StringRef aliasName,
    StringRef targetName
) = 0

Add alias for target name.

virtual tresult CCL_API getCredential (
    ICredential*& credential,
    StringRef targetName,
    StringRef groupName = nullptr
) = 0

Get credential by target name, has to be released by caller.

virtual tresult CCL_API removeCredential (StringRef targetName) = 0

Remove credential with given target name.

virtual tbool CCL_API setSilentMode (tbool state) = 0

Suppress any user interaction, silently fail on errors.

Returns old state.

virtual String CCL_API resolveName (StringRef name) const = 0

Resolve alias to target name.

virtual void CCL_API setGlobalGroupName (StringRef groupName) = 0

Set global group name.