MTLSTokenProvider Class Reference

class MTLSTokenProvider : public MCTTokenInterface

This an interface to a cryptographic token that is capable to provide services for TLS/SSL protocols.

Inherits from

Member Functions Documentation

CancelClearSessionCache()

voidCancelClearSessionCache()[pure virtual]

Cancels corresponding asynchronous request.

CancelCryptoCapabilities()

voidCancelCryptoCapabilities()[pure virtual]

Cancels corresponding asynchronous request.

CancelGetSession()

voidCancelGetSession()[pure virtual]

Cancels corresponding asynchronous request.

ClearSessionCache(const TTLSServerAddr &, TTLSSessionId &, TBool &, TRequestStatus &)

voidClearSessionCache(const TTLSServerAddr &aServerName,
TTLSSessionId &aSession,
TBool &aResult,
TRequestStatus &aStatus
)[pure virtual]

Clears a session identified by aServerName and aSession.iId from associated token's cache. The operation may fail if session cached in the token is in use.

Parameters

const TTLSServerAddr & aServerNamethe name of the server the TLS protocol tried to connect to
TTLSSessionId & aSessionthe session identifier object relating to the server indicated in the first parameter
TBool & aResulta result of the operation: ETrue if cache cleared, EFalse if not
TRequestStatus & aStatusasynchronous request status set on the completion

CryptoCapabilities(RArray< TTLSProtocolVersion > &, RArray< TTLSKeyExchangeAlgorithm > &, RArray< TTLSSignatureAlgorithm > &, TRequestStatus &)

voidCryptoCapabilities(RArray< TTLSProtocolVersion > &aProtocols,
RArray< TTLSKeyExchangeAlgorithm > &aKeyExchAlgs,
RArray< TTLSSignatureAlgorithm > &aSigAlgs,
TRequestStatus &aStatus
)[pure virtual]

Retrieves list of protocol versions, key exchange algorithms and signature algorithms supported by the token.

Parameters

RArray< TTLSProtocolVersion > & aProtocolsa list of supported protocol versions is returned in this parameter
RArray< TTLSKeyExchangeAlgorithm > & aKeyExchAlgsa list of supported key exchange algorithms is returned in this parameter
RArray< TTLSSignatureAlgorithm > & aSigAlgsa list of supported signature algorithms is returned in this parameter
TRequestStatus & aStatusasynchronous request status set on the completion

GetSession(const TTLSServerAddr &, RArray< TTLSProtocolVersion > &, TTLSSessionData &, TRequestStatus &)

voidGetSession(const TTLSServerAddr &aServerName,
RArray< TTLSProtocolVersion > &aAcceptableProtVersions,
TTLSSessionData &aOutputSessionData,
TRequestStatus &aStatus
)[pure virtual]

Provides information about session associated with given server indicated by aServerName argument. If a session has previously been established to that server and remains held in the cache of the token and is resumable then on completion, the aOutputSessionData will contain that session id, cipher suite and protocol version information. The aAcceptableCipherSuites and aAcceptableProtVersions parameters allow to impose additional conditions on the retrieved session. That is if any of them is non-empty then returned aOutputSessionData.iSessionId will be non trivial only when the cipher suite and/or protocol version of cached session match some cipher suite/protocol version included in the lists passed in the arguments.

If no resumable session to the server is cached or cached sessions don't satisfy conditions imposed by a caller, aOutputSessionData.iSessionId will be zero length.

CTLSProvider::GetSession

Parameters

const TTLSServerAddr & aServerNamethe name of the server the TLS protocol is intending to connect to
RArray< TTLSProtocolVersion > & aAcceptableProtVersionsa list of protocol versions, can be empty
TTLSSessionData & aOutputSessionDatasession data retrieved from the cache
TRequestStatus & aStatusasynchronous request status set on the completion

Label()

const TDesC &Label()[pure virtual]