From: Maksim D. <dk...@bf...> - 2008-01-23 22:12:46
|
Hi! I have the following method, taken mostly from the examples folder and making use of the quote method: b/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public TcTssValidation quoteTPM (TcIRsaKey identityKey, int pcrIndex, TcBlobData nonceBlob) { TcTssValidation tpmQuote = new TcTssValidation(); TcTssValidation nonceValidation = new TcTssValidation(); nonceValidation.setExternalData (nonceBlob); //Or //nonceValidation = null; try { TcIPcrComposite pcrComp = commonInstance.context_.createPcrCompositeObject(0); pcrComp.selectPcrIndex(pcrIndex); TcITphm tpm = commonInstance.context_.getTpmObject(); tpmQuote = tpm.quote(identityKey, pcrComp, nonceValidation); pcrComp.setPcrValue(pcrIndex, tpm.pcrRead(pcrIndex)); System.out.println ("pcrComp: "+ pcrComp.getPcrValue(pcrIndex).toHexString()); System.out.println ("pcrComp hash: "+ pcrComp.getPcrCompositeHash().toHexString()); System.out.println ("Quoted PCR "+ pcrIndex +" with the key " + identityKey.toString() + " successfuly."); } catch (TcTssException e) { e.printStackTrace(); } return tpmQuote; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Now the string: pcrComp.setPcrValue(pcrIndex, tpm.pcrRead(pcrIndex)); Does (reads the actual PCR register and updates the pcrComp structure) what the quote method suppose to do automatically according to the JTSS documentation , but doesn't do it: This method quotes a TCG system. The required information about which PCRs should be quoted must be set in the PcrComposite object before calling this method. On return each element of the collection has its pcrValue set. If I understand it correctly. May it be the bug in the library? Regards, Maksim. |