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. 2006-2007 8 * 9 */ 10#ifndef __ISSUER_H__ 11#define __ISSUER_H__ 12 13#include "daa/daa_structs.h" 14#include "daa/daa_parameter.h" 15#include "tsplog.h" 16 17 18TSS_RESULT 19generate_key_pair(int num_attributes_issuer, 20 int num_attributes_receiver, 21 int base_nameLength, 22 BYTE *base_name, 23 KEY_PAIR_WITH_PROOF_internal **key_pair_with_proof 24); 25 26TSS_DAA_PK_PROOF_internal *generate_proof( 27 const bi_ptr product_PQ_prime, 28 const TSS_DAA_PK_internal *public_key, 29 const bi_ptr xz, 30 const bi_ptr x0, 31 const bi_ptr x1, 32 bi_array_ptr x); 33 34#if 0 35TSPICALL 36Tspi_DAA_IssueInit_internal( 37 TSS_HDAA hDAA, // in 38 TSS_HKEY issuerAuthPK, // in 39 TSS_HKEY issuerKeyPair, // in 40 TSS_DAA_IDENTITY_PROOF identityProof, // in 41 UINT32 capitalUprimeLength, // in 42 BYTE* capitalUprime, // in 43 UINT32 daaCounter, // in 44 UINT32* nonceIssuerLength, // out 45 BYTE** nonceIssuer, // out 46 UINT32* authenticationChallengeLength, // out 47 BYTE** authenticationChallenge, // out 48 TSS_DAA_JOIN_ISSUER_SESSION* joinSession // out 49); 50 51TSPICALL 52Tspi_DAA_IssueCredential_internal( 53 TSS_HDAA hDAA, // in 54 UINT32 attributesIssuerLength, // in 55 BYTE** attributesIssuer, // in 56 TSS_DAA_CREDENTIAL_REQUEST credentialRequest, // in 57 TSS_DAA_JOIN_ISSUER_SESSION joinSession, // in 58 TSS_DAA_CRED_ISSUER* credIssuer // out 59); 60#endif 61TSS_RESULT 62compute_join_challenge_issuer( TSS_DAA_PK_internal *pk_intern, 63 bi_ptr v_prime_prime, 64 bi_ptr capitalA, 65 bi_ptr capital_Atilde, 66 UINT32 nonceReceiverLength, 67 BYTE *nonceReceiver, 68 UINT32 *c_primeLength, 69 BYTE **c_prime); // out allocation 70 71#endif 72