Home | History | Annotate | Line # | Download | only in include
      1 
      2 /*
      3  * Licensed Materials - Property of IBM
      4  *
      5  * trousers - An open source TCG Software Stack
      6  *
      7  * (C) Copyright International Business Machines Corp. 2007
      8  *
      9  */
     10 
     11 #ifndef _AUTHSESS_H_
     12 #define _AUTHSESS_H_
     13 
     14 struct authsess {
     15 	TPM_AUTH *pAuth;
     16 	TPM_AUTH auth;
     17 
     18 	/* XOR masks created before each use of an OSAP session */
     19 	TPM_ENCAUTH encAuthUse;
     20 	TPM_ENCAUTH encAuthMig;
     21 
     22 	TSS_HCONTEXT tspContext;
     23 	TPM_COMMAND_CODE command;
     24 
     25 	TSS_HOBJECT obj_parent;
     26 	TSS_HPOLICY hUsageParent;
     27 	UINT32 parentMode;
     28 	TPM_SECRET parentSecret;
     29 	TSS_CALLBACK cb_xor, cb_hmac, cb_sealx;
     30 
     31 	TPM_ENTITY_TYPE entity_type;
     32 	UINT32 entityValueSize;
     33 	BYTE *entityValue;
     34 
     35 	TSS_HOBJECT obj_child;
     36 	TSS_HPOLICY hUsageChild, hMigChild;
     37 	UINT32 uMode, mMode;
     38 
     39 	/* Created during OSAP or DSAP protocol initiation */
     40 	TPM_NONCE nonceOddxSAP;
     41 	TPM_NONCE nonceEvenxSAP;
     42 	TPM_HMAC sharedSecret;
     43 
     44 	//MUTEX_DECLARE(lock);
     45 	//struct authsess *next;
     46 };
     47 
     48 TSS_RESULT authsess_oiap_get(TSS_HOBJECT, TPM_COMMAND_CODE, TPM_DIGEST *, TPM_AUTH *);
     49 TSS_RESULT authsess_oiap_put(TPM_AUTH *, TPM_DIGEST *);
     50 
     51 TSS_RESULT authsess_xsap_init(TSS_HCONTEXT, TSS_HOBJECT, TSS_HOBJECT, TSS_BOOL, TPM_COMMAND_CODE, TPM_ENTITY_TYPE, struct authsess **);
     52 TSS_RESULT authsess_xsap_hmac(struct authsess *, TPM_DIGEST *);
     53 TSS_RESULT authsess_xsap_verify(struct authsess *, TPM_DIGEST *);
     54 void       authsess_free(struct authsess *);
     55 
     56 #define TSS_AUTH_POLICY_REQUIRED	TRUE
     57 #define TSS_AUTH_POLICY_NOT_REQUIRED	FALSE
     58 
     59 #endif
     60