Changing Passphrase

This section explains how to change the passphrase.

The following steps explain the process of changing the passphrase:

  1. Create a file system session using an RFs object.

  2. Create an object of type CUnifiedKeyStore using CUnifiedKeyStore::NewL() or CUnifiedKeyStore::NewLC().

  3. Initialize the member functions and keystore using the asynchronous function CUnifiedKeyStore::Initialize().

  4. Obtain the authentication object of a key using the CCTKeyInfo::Protector() function.

  5. Invoke the ChangeReferenceData() function for the authentication object obtained. The keystore prompts the user to enter the old and new passphrases.

The passphrase is changed for the selected key, if the old passphrase is entered correctly.

Example

The following code snippet shows how to set use policy for a key.

// Create a file system session object
RFs iFs;
CleanupClosePushL(&iFs);


...


// Initialise the keystore and member functions
CUnifiedKeyStore* keyStore = CUnifiedKeyStore::NewL(fs);
keyStore->Initialize(iStatus); //iStatus is a TRequestStatus object


...



// Change the passphrase
void ChangePassphraseL(CCTKeyInfo& aKey)
{
    MCTAuthenticationObject* authObject = aKey.Protector();
    if (authObject == NULL)
        User::Leave(KErrNotSupported);

    authObject->ChangeReferenceData(iStatus);
    iState = EChangePassphrase;
    SetActive();
}


// Clean up
CleanupStack::PopAndDestroy(); // iFs