|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectiaik.tc.tss.impl.java.tcs.authmgr.TcTcsAuthCache
iaik.tc.tss.impl.java.tcs.authmgr.TcTcsAuthCacheVista
public class TcTcsAuthCacheVista
This class implements the auth session handling for Windows Vista. Contrary to the TSS design of the TCG, on Vista the TSS is not the software component that has exclusive access to the TPM. On Vista TPM access is managed by the TPM Base Services (TBS). The TBS can block specified TPM commands and also offers resource virtualization. By virtualization, TBS means that TPM key slots and session handles returned by the TPM are not directly passed to applications that use the TBS. For every TPM resource, the TBS creates an own, virtualized, handle it returns to the calling application. Internally, the TBS keeps a mapping from TPM resource handles to TBS resource handles. When commands are sent to the TPM, the TBS modifies the command stream such that it replaces TBS handles with real TPM handles. By that, the TBS greatly increases the resources offered by the TPM. In essence, the TBS takes over duties from the TSS (e.g. caching auth sessions using Save/LoadContext). As a consequence, the TSS can not really do resource management (since it does not get hold of the actual TPM resources) but has to/can rely on the TBS to do its job.
Constructor Summary | |
---|---|
TcTcsAuthCacheVista()
|
Method Summary | |
---|---|
void |
addActiveAuthSession(long authHandle,
TcTpmNonce nonceEven)
This method is called if a new auth session was established. |
java.lang.String |
cachedAuthSessionsToString()
This method is intended for debugging. |
void |
ensureAuthsAreLoadedInTpm(TcTcsAuth[] auths)
This method is called by TCSI methods that use auth sessions. |
void |
evictAllAuthSessions()
This method evicts all auth sessions from the TPM. |
void |
removeActiveAuthSession(TcTcsAuth auth)
This method is called if an auth session is no longer active (terminated intentionally or because of an error). |
void |
swapOutAuth(long[] keepHandles)
This method swaps out an auth sessions from the TPM. |
void |
trackActiveAuthSession(TcTcsAuth inAuth,
TcTcsAuth outAuth)
This method is called if an auth is used to authorize more than one TPM command. |
Methods inherited from class iaik.tc.tss.impl.java.tcs.authmgr.TcTcsAuthCache |
---|
getInstance |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TcTcsAuthCacheVista()
Method Detail |
---|
public void evictAllAuthSessions() throws TcTddlException, TcTpmException
TcTcsAuthCache
Note: This functionality is also implemented in TcTddl
. Changes
here should be applied in TcTddl too.
evictAllAuthSessions
in class TcTcsAuthCache
TcTddlException
TcTpmException
public void swapOutAuth(long[] keepHandles) throws TcTddlException, TcTpmException, TcTcsException
TcTcsAuthCache
swapOutAuth
in class TcTcsAuthCache
keepHandles
- When swapping out an auth session, this method avoids to swap out the
sessions with the handles specified by notHandles. If it does not matter which session
to swap out, simply pass an empty array.
TcTddlException
TcTpmException
TcTcsException
public void ensureAuthsAreLoadedInTpm(TcTcsAuth[] auths) throws TcTddlException, TcTpmException, TcTcsException
TcTcsAuthCache
ensureAuthsAreLoadedInTpm
in class TcTcsAuthCache
auths
- The auth sessions that have to be present in the TPM.
TcTddlException
TcTpmException
TcTcsException
public void addActiveAuthSession(long authHandle, TcTpmNonce nonceEven)
TcTcsAuthCache
addActiveAuthSession
in class TcTcsAuthCache
authHandle
- The new auth session.nonceEven
- The even nonce generated by the TPM.public void removeActiveAuthSession(TcTcsAuth auth)
TcTcsAuthCache
removeActiveAuthSession
in class TcTcsAuthCache
auth
- The auth session to be removed.public void trackActiveAuthSession(TcTcsAuth inAuth, TcTcsAuth outAuth)
TcTcsAuthCache
trackActiveAuthSession
in class TcTcsAuthCache
public java.lang.String cachedAuthSessionsToString() throws TcTddlException, TcTpmException
TcTcsAuthCache
cachedAuthSessionsToString
in class TcTcsAuthCache
TcTddlException
TcTpmException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |