Tadd,

Thank you for your quick reply.  The code I wrote was inspired by Hal Finney's 
code on http://privacyca.com.  I hadn't thought to second guess Hal's algorithm 
as it has worked for me for at least seven years.  I will check the documents 
and see if I can verify Hal's work.

As to your second point, hPCA is just a dummy PCA key. Here is how the PCA 
object is created and used.

  /* Create dummy PCA key */
  TSS_HKEY hPCA;
  rc = Tspi_Context_CreateObject(hContext,
                                 TSS_OBJECT_TYPE_RSAKEY,
                                 TSS_KEY_TYPE_LEGACY|TSS_KEY_SIZE_2048,
                                        &hPCA);
  if (rc != TSS_SUCCESS)
    return tidy(hContext, tss_err(rc, "creating PCA object"));

  /* Create the PCA key in the TPM, it is not user supplied */
  rc = Tspi_Key_CreateKey(hPCA, hSRK, 0);
  if (rc != TSS_SUCCESS)
    return tidy(hContext, tss_err(rc, "creating PCA key in TPM"));

John

From: Tadd Seiff <[email protected]>
Date: Friday, March 3, 2017 at 3:08 PM
To: "Ramsdell, John D." <[email protected]>, 
"[email protected]" <[email protected]>
Cc: Andrew Pollock <[email protected]>
Subject: Re: [TrouSerS-users] Trousers error code 0x1

Hey John,

I'm not sure about the return code.

But some other comments here:
1)  I've used Tspi_ContextCreateObject(...) to create AIK objects with success. 
 I guess CreateKey() should work too, seems logical.  I'm not sure how I ended 
up using CreateObject(), I'm guessing I followed someone else's example:

UINT32 initFlags = TSS_KEY_TYPE_IDENTITY | TSS_KEY_SIZE_2048 | 
TSS_KEY_AUTHORIZATION |
TSS_KEY_VOLATILE | TSS_KEY_NOT_MIGRATABLE;
result = Tspi_Context_CreateObject(hContext,
      TSS_OBJECT_TYPE_RSAKEY,
      initFlags, &hIdentKey);


2) Even if CreateKey() should work, it looks like you are passing in your PCA 
server public key as the first argument (hPCA)?  This should be the handle to 
your new key, I think, so if this is a TSS KEY object that you created from DER 
that the user passed in (deduced from Andrew's comments below), I don't think 
that would work anyway.  The PCA key material is not used until the 
CollateIdentityRequest() step.

-Tadd


On Fri, Mar 3, 2017 at 6:37 AM Ramsdell, John D. 
<[email protected]<mailto:[email protected]>> wrote:
I am trying to address a bug report for TPM Quote Tools which is built on 
Trousers.  I am having trouble diagnosing the problem because the return code 
is not what I expect.  When making an AIK, my program executes:

  rc = Tspi_Key_CreateKey(hPCA, hSRK, 0);

if rc != TSS_SUCCESS, I print an error message using the values in tss/tspi.h 
which includes tss/tss_error.h.  In the bug report, the return value is 1, but 
that value has no translation.  What does it mean when create key returns an 
error code of 1?

John

-----Original Message-----
From: Andrew Pollock <[email protected]<mailto:[email protected]>>
Date: Friday, March 3, 2017 at 2:44 AM
To: "Ramsdell, John D." <[email protected]<mailto:[email protected]>>
Subject: Re: Fooling around with tpm-quote-tools

Excellent. I finally had some spare cycles to return to this, and after
    addressing a bug with an older version of Trousers, I was able to reproduce
    the problem again.

    So, I have a Lenovo X1 Carbon

    $ sudo tpm_version
      TPM 1.2 Version Info:
      Chip Version:        1.2.13.12
      Spec Level:          2
      Errata Revision:     3
      TPM Vendor ID:       STM
      Vendor Specific data: 50
      TPM Version:         01010000
      Manufacturer Info:   53544d20

    I have previously taken ownership of it with a non-well-known owner 
password.

    Note that I'm executing this with two non-existent files for both arguments

    $ sudo tpm_mkaik /tmp/blob /tmp/pubkey
    Enter owner password:
    Error while creating PCA key in TPM. Error code: 0x1

    Just in case I had misunderstood something for grins I created a CA with
    OpenSSL and converted the public key to DER and used it as the second 
argument,
    but got the same result

    Any further insights you have would be much appreciated.

    regards

    Andrew




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
TrouSerS-users mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/trousers-users
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
TrouSerS-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/trousers-users

Reply via email to