Thread: connect to tpm

  1. #1
    Registered User
    Join Date
    Oct 2009
    Posts
    2

    Question connect to tpm

    hi all
    is there anybody that write any c code for connecting to trusted platform module or TPM in xp?

    thanks for your help

  2. #2
    Registered User
    Join Date
    Mar 2005
    Location
    Mountaintop, Pa
    Posts
    1,058
    I wasn't aware that MS provided TPM services on XP. Is it possible that you're confusing the Encrypting File Services found on both XP and Vista with TPM? Vista provides an additional layer of protection by taking this a step further with TPM which protects the computer from physical attack.

    So, my question is, how are you implementing TPM on XP?

  3. #3
    Registered User
    Join Date
    Oct 2009
    Posts
    2
    there is special driver for tpm in xp.there are not bitlocker in xp that you know as a part of tpm task in vista. but some this driver install some simple software for encrypting each file or want use in email and something like this, now do you know my answer of question?

  4. #4
    and the Hat of Guessing tabstop's Avatar
    Join Date
    Nov 2007
    Posts
    14,336
    So whatever third-party software you're using will provide the API to interface with their code (on the assumption that it's code designed to be interfaced with).

  5. #5
    Registered User
    Join Date
    Oct 2009
    Posts
    1
    Yes you can. But it is not too easy.

    Most major TPM manufacturers provide software to access the TPM, but there is little or no documentation on how to do it.

    Infineon TPMs which are mostly used in HP machines have a special SDK for accessing TPM services. It uses a COM interface. Look at Infineon Technologies and follow the link to dev tools. The SDK is free I think but you have to ask for it.

    Other brands of TPM use a different interface that is called the TPM Software Stack or TSS. It is documented at trustedcomputinggroup.com. The hard part is that you have to load a DLL with LoadLibrary and then call the functions via that DLL. And the manufacturers don't tell you what the DLL is called or where it is.

    Last I checked, the Lenovo DLL is called tvttsp.dll. The Dell one, which uses software from NTRU, is often called tsp.dll, or some other name that starts with tsp. Ideally these DLLs are somewhere under \WINDOWS but sometimes they are under \Program Files in a directory related to the manufacturer name, so you have to hunt around for them. You can use objdump to see the entry points exported by various DLLs and see if they match up with the TSS function names.

    So, bottom line:

    1. With Infineon TPM, get their SDK which tells how to use their COM library, and make the appropriate calls to load that library and use it.
    2. With other TPMs, first find the DLL that exports the functions defined in the TSS spec.
    3. Do LoadLibrary on that DLL.
    4. Make the function calls to implement your functions.

    Also, if you could use Linux, the process is much easier. Get the open source program Trousers from Sourceforge and it will provide a TSS based interface to the TPM along with tons of test programs you can use to try it out. Its support for advanced TSS functionality tends to be much more complete than what the manufacturers provide on Windows.

    I apologize for actually answering your question rather than posting a lot of irrelevant questions and comments. I know that is not the tradition around here. But what I have told you is the truth, and if it is not a truth you wanted to hear, that is too bad.

  6. #6
    Registered User
    Join Date
    Mar 2005
    Location
    Mountaintop, Pa
    Posts
    1,058
    @tmpexpert,

    First let me say that I'm a hardware challenged code jockey. With that said, how would I determine that an XP box is tpm capable other than opening up the box and inspecting the motherboard? In other words, is there a simple utilty that can be run on the XP (or Vista) box to determine if there is a tpm chip installed?

    Also, I noticed on my HP Vista box that I can start the tpm services but it aborts after a few seconds. I assume this is because the service cannot find the tpm chip.

    Finally, if my XP and/or Vista box is not tpm capable, what would be the simplest upgrade options to make the boxes tpm capable?

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Non-blocking connect()?
    By pobri19 in forum Networking/Device Communication
    Replies: 9
    Last Post: 04-22-2009, 03:40 PM
  2. connect() function, strange error
    By Mr_Miguel in forum C Programming
    Replies: 1
    Last Post: 12-12-2006, 06:51 PM
  3. connect timeout
    By X PaYnE X in forum Networking/Device Communication
    Replies: 8
    Last Post: 05-14-2005, 09:30 PM
  4. Client timed-out once on connect(), can never connect() again
    By registering in forum Networking/Device Communication
    Replies: 6
    Last Post: 10-28-2003, 03:46 PM
  5. Advanced connect four game
    By Ion Blade in forum C++ Programming
    Replies: 10
    Last Post: 07-28-2002, 07:52 AM