import trousers 0.3.8 from sourceforge.
TrouSerS is the open-source TCG Software Stack
This commit is contained in:
parent
3cbaf51ab7
commit
2d5f7628c5
|
@ -0,0 +1,23 @@
|
|||
|
||||
All authors of this TSS have been funded by IBM.
|
||||
|
||||
The TSS code was originally written for WIN32 by Ryan Catherman and ported to
|
||||
Linux initially by Seiji Munetoh and Taiga Nakamura as well as Ryan.
|
||||
|
||||
The code has since been modified by Seiji Munetoh and Kent Yoder.
|
||||
|
||||
The code is currently maintained by Kent Yoder <shpedoikal@gmail.com>.
|
||||
|
||||
The manpages were originally written by Megan Schneider and Kathy Robertson
|
||||
and have been modified by Kent Yoder.
|
||||
|
||||
Other contributors to the TSS 1.2 functionality:
|
||||
Tom Lendacky
|
||||
Loulwa Salem
|
||||
Ramon Brandao
|
||||
Klaus Kiwi
|
||||
|
||||
Specifically the NVRAM implementation:
|
||||
James Xu
|
||||
Rossey Liu
|
||||
Jacfee Liu
|
|
@ -0,0 +1,893 @@
|
|||
* TROUSERS_0_3_8
|
||||
|
||||
- Fix ssl_ui.c overflow
|
||||
- Handling of TPM_CERTIFY_INFO2 structure special case
|
||||
- Fix possible obfuscation of obj_migdata.c errors.
|
||||
- Make 1.2 keys respect the TPM_PCRIGNOREDONREAD flag.
|
||||
- PCRInfo member allocation in Trspi_Unload_CERTIFY_INFO.
|
||||
- Add functions for deserializing NVRAM related data structures
|
||||
- Add NVRAM specific error messages
|
||||
- Fix spec file so one can build an rpm
|
||||
- Initialize the tcsd_config_file with NULL.
|
||||
- support for -c <configfile> command line option
|
||||
- Establish a .gitignore file
|
||||
- ENDIAN_H and htole definition fix
|
||||
|
||||
* TROUSERS_0_3_7
|
||||
|
||||
- __tspi_freeTable wrong call
|
||||
- Owner Evict pubkey setup fix
|
||||
- The "HAVE_ENDIAN_H" check is missing from configure.in, but it appears to be needed in a couple of the source files.
|
||||
- tspi_context.c fix (memleak)
|
||||
- Added the missing setup of a tcs handle for owner evict keys.
|
||||
- No need to initialize the flock structure.
|
||||
- flock to fcntl change
|
||||
- Fixed cleanup code in svrside.c
|
||||
- Avoid warning of missing return in tcsd_thread_run()
|
||||
- printf() warning fix
|
||||
- Moved hDAA debug message after initialization
|
||||
- Additional length check
|
||||
- Tspi_NV_DefineSpace secret check fix
|
||||
|
||||
* TROUNSERS_0_3_6
|
||||
|
||||
- Fixed a number of warnings during a build with --debug regarding THREAD ID
|
||||
definition
|
||||
- Removed htole() dependency, which was included only in glibc 2.9
|
||||
|
||||
* TROUSERS_0_3_5
|
||||
|
||||
- Allowed TCD Daemon to run with reduced privileges In Solaris.
|
||||
- Fixing previous kfreebsd build patch conflict with the current tree.
|
||||
- TCSD error handling improvements.
|
||||
- mutex init inclusion.
|
||||
- pthread_t portability fix
|
||||
- Owner Evict keys load fix.
|
||||
- Big- endian issues.
|
||||
- Memory leak fix.
|
||||
- Adding missing #include <limits.h>.
|
||||
- kfreebsd build fixes.
|
||||
- Fixed usage of syslog().
|
||||
- 64bits clean
|
||||
- Fixes the TCP UN and IN socket connection attempt handling
|
||||
- Fixes logic on opening a hardware TPM.
|
||||
- Added communication through TCP to software TPMs in TrouSerS.
|
||||
- Fixed conflicting defines
|
||||
- Adds missing free()
|
||||
- Fixed fread() return value check.
|
||||
- Made the previous fix cleaner and more robust.
|
||||
- Added missing check in order to avoid freeing buffer that's out of Tspi_Data_Seal() scope.
|
||||
- Fixed Tspi_TPM_GetRandom 4kb output limit.
|
||||
|
||||
* TROUSERS_0_3_4
|
||||
|
||||
- Fixed TrouSerS mishandling of TPM auth sessions
|
||||
- Enabled hosttable.c "_init" and "_fini" functions to work on Solaris
|
||||
- Included Solaris in BSD_CONST definition conditional
|
||||
- Made the init script LSB compliant
|
||||
- make distcheck improved
|
||||
|
||||
* TROUSERS_0_3_3_2
|
||||
|
||||
- Fixed logic when filling up RSA keys objects.
|
||||
|
||||
* TROUSERS_0_3_3_1
|
||||
|
||||
- TCSD now runs as tss and has a better signal handling
|
||||
- Fixed many memory handling issues
|
||||
|
||||
* TROUSERS_0_3_3
|
||||
|
||||
- Tspi_ChangeAuth fixed for popup secret use case.
|
||||
- Prefixed exported functions with common names.
|
||||
- Fixed issues with accessing the utmp database.
|
||||
- Migrated the bios parser file handler from open to fopen.
|
||||
|
||||
* TROUSERS_0_3_2
|
||||
|
||||
- Added IMA log parser in conformance with format introduced in linux kernel 2.6.30
|
||||
- Fixed memory handling issues in src/tspi/tspi_quote2.c and tspi_tick.c
|
||||
- Fixed memory handling issues in tcs/rpc/tcstp/rpc_tick.c
|
||||
- Fixed logic when releasing auth handles, now the TPM won't become out of
|
||||
resources due too many unreleased auth handles there.
|
||||
- Fixed compilation problems when building trousers in Fedora with
|
||||
-fstack-protector & gcc 4.4
|
||||
- Fixed the legacy usage of a deprecated 1.1 TPM command, now auth sessions
|
||||
can be closed fine.
|
||||
- Fixed key memory cache when evicting keys, invalid key handles were evicted
|
||||
when shouldn't.
|
||||
- Fixed authsess_xsap_init call with wrong handle
|
||||
- Fixed authsess_callback_hmac return code
|
||||
- Fixed validateReturnAuth return value
|
||||
- Added consistency to avoid multiple double free() and bound checks to avoid
|
||||
SEGV
|
||||
- Moved from flock to fcntl since the first isn't supported in multi-thread
|
||||
applications
|
||||
- Added necessary free() and consistency necessary in tspi/tsp_delegate.c to avoid SEGV
|
||||
- Typecast added in trousers.c in the UNICODE conversion functions
|
||||
- Fixed wrong return code in Tspi_NV_ReleaseSpace
|
||||
- Fixed digest computation in Tspi_NV_ReleaseSpace
|
||||
- Fixed tpm_rsp_parse, it previously checked for an additional TPM_AUTH blob,
|
||||
resulting in a incorrect data blog unload.
|
||||
- Added new OpenSSL UI for TSS_SECRET_MODE_POPUP auth mode.
|
||||
- Added workaround to fix namespace conflict with SELINUX
|
||||
- Set SO_REUSEADDR socket option.
|
||||
- Added TSS_SS_RSASSAPKCS1v15_INFO signature scheme definitions and support
|
||||
- TDDL can now be compiled apart from the rest of TrouSerS.
|
||||
- Added #include <limits.h> to remove INT_MAX undeclared error
|
||||
during build. Files updated: trspi/crypto/openssl/symmetric.c,
|
||||
tspi/tspi_aik.c and tspi/tsp_ps.c
|
||||
- Added bounds checking in the data parsing routines of the TCSD's
|
||||
tcstp RPC code, preventing attacks from malicious clients.
|
||||
- Removed commented out code in src/tcs/rpc/tcstp/rpc.c
|
||||
- Commented out old OSAP code, its now unused
|
||||
- Fixed bug in tcsi_bind.c, one too few params were passed to
|
||||
the function parsing the TPM blob.
|
||||
- Fixed lots of erroneous TSPERR and TCSERR calls
|
||||
- Added support for logging all error return codes when debug
|
||||
is on
|
||||
- Check that parent auth is loaded in the load key path outside
|
||||
the mem_cache_lock, if a thread sleeps holding it, we deadlock
|
||||
- Added support for dynamically growing the table that holds
|
||||
sleeping threads inside the auth manager
|
||||
- In tcs_auth_mgr.c, fixed the release handle path, which didn't
|
||||
check if the handle was swapped out before calling to the TPM.
|
||||
- Updates throughout the code supporting the modular build.
|
||||
|
||||
* TROUSERS_0_3_1
|
||||
|
||||
- Added check of return code for ResetDALock call in tspi_admin
|
||||
- Added missing ordinals in tcs_pbg.c as reported by Phil Carmon.
|
||||
- Added support for DSAP sessions and delegating authorizations!
|
||||
- Added support for DSAP sessions inside a transport session.
|
||||
- Prevent Tspi_TPM_GetCapability from switching the endianess of
|
||||
the data returned from a request for TSS_TPMCAP_NV_LIST when that
|
||||
list happens to be sizeof(UINT32).
|
||||
- Fixed trouble in owner_evict_init path for 1.1 TPMs
|
||||
- Fixed multiple problems with changing auth on encrypted data
|
||||
and keys.
|
||||
- Fix for SF#1811120, Tspi_TPM_StirRandom01 test crashes TCSD.
|
||||
- Fix for SF#1805829, ChangeAuth fails to return an error
|
||||
- Fix for SF#1803767, TSS_TSPATTRIB_KEY_PCR_LONG key attribute
|
||||
not implemented
|
||||
- Fix for SF#1802804, Tspi_TPM_Delegate_UpdateVerificationCount
|
||||
problem
|
||||
- Fix for SF#1799935, Tspi_TPM_Delegate_ReadTables bug
|
||||
- Fix for SF#1799912, policy lifetime counter doesn't reset with
|
||||
SetSecret
|
||||
- Fix for SF#1799901, policy lifetime timer doesn't reset with
|
||||
SetSecret
|
||||
- Fix for SF#1779282. Trspi_UnloadBlob_CERTIFY_INFO DNE.
|
||||
- Fix for setting the right kind of PCR struct in the key object
|
||||
|
||||
* TROUSERS_REDHAT_SUBMIT
|
||||
|
||||
- Updated ps_inspect utility to more accurately guess if the file
|
||||
you're inspecting is really a persistent storage file.
|
||||
- Fixed endianess issue with certain TPM get caps
|
||||
- Fixed bug in setting credential data in the TSP
|
||||
- Moved secret hash mode code out from inside spec compliance
|
||||
#defines since they're now part of the 1.2 spec.
|
||||
- Better support for NULL parameters to blob manipulation
|
||||
functions
|
||||
- Fix for regression - blank the SRK pubkey copy stored in system
|
||||
persistent storage
|
||||
- Added RPC plumbing for DSAP sessions
|
||||
- Added support for unmasking data on unseal :-)
|
||||
- Implemented encdata PCR_INFO_LONG GetAttrib's
|
||||
- Overhauled OSAP session handling.
|
||||
|
||||
* TROUSERS_0_3_0
|
||||
|
||||
- Added TSS_TCSCAP_PLATFORM_CLASS cap support
|
||||
- Added the Quote2 Commands
|
||||
- Added new TSS 1.2 return codes to Trspi_Error_String.
|
||||
- Added Tspi_Context_GetRegisteredKeysByUUID2 functions
|
||||
to the persistent storage system
|
||||
- Added Tspi_TPM_OwnerGetSRKPubKey and TCS OwnerReadInternalPub
|
||||
code.
|
||||
- Added support for operator auth and Tspi_TPM_SetOperatorAuth.
|
||||
- Added support for Sealx.
|
||||
- Added ordinal auditing support.
|
||||
- Added initial transport session support.
|
||||
- Rewrote TCSD key loading functions.
|
||||
- Added support for UINT64 loading/unloading everywhere.
|
||||
- Created an initial TCS parameter block generator in tcs_pbg.c.
|
||||
- Added support to get_local_random to either allocate a new
|
||||
buffer for the random number or write it to a given buffer.
|
||||
- Removed TCS GetCredentials APIs -- the TSSWG verified that these
|
||||
had accidentally been left in the spec.
|
||||
- Added TCS GetCredential API.
|
||||
- Added NVRAM APIs, donated by James Xu, and others from Intel.
|
||||
- Added TCS GetCredentials functions
|
||||
- Patched the TCS key loading infrastructure to return
|
||||
TCS_E_INVALID_KEY when a handle is used by a context that doesn't
|
||||
have a reference to the key in its keys_loaded list.
|
||||
- Added ASN.1 blob encoding and decoding APIs.
|
||||
- Added tick stamping APIs
|
||||
- Added monotonic counter APIs
|
||||
- Added the Tspi_PcrComposite APIs: GetPcrLocality,
|
||||
SetPcrLocality, SelectPcrIndexEx and GetCompositeHash.
|
||||
- Added new TSS 1.2 return codes for bad EK checksum and
|
||||
invalid resource passed to Tspi_Context_FreeMemory.
|
||||
- Added Christian Kummer's implementation of PCR reset
|
||||
- In PcrExtend, set up the event struct fully before sending
|
||||
to the TCS.
|
||||
- Fixed bug in ActivateIdentity's use of rgbSymCAAttestation.
|
||||
- updated policy handling to match the latest spec.
|
||||
- Fixed bug when 2 TCSD's return the same context number.
|
||||
- Added a check for the size of Tcsi_StirRandom's entropy data.
|
||||
- Added support for TSS 1.2 style keys and PCR info long and
|
||||
short structures.
|
||||
- Added support for TPM_Save/LoadAuthContext.
|
||||
- Grouped all threading functions in one header file, threads.h.
|
||||
- Fix added in TCSD's event parsing code for a segfault when only
|
||||
the number of events is requested.
|
||||
- Several bugs fixed in the Tspi_Context_GetRegisteredKeysByUUID
|
||||
code path in the TSP lib.
|
||||
- Added a lock around all TCSP functions; removed auth_mgr_lock
|
||||
since the TCSP lock now suffices. This fixed some TCSD multi-
|
||||
threaded errors.
|
||||
- hosttable.c: Fixed bug in host table entry removal, thanks
|
||||
to Thomas Winkler for the testcase that helped in finding this.
|
||||
- In the TCS GetPcrEventsByPcr, fixed a bug in calculating
|
||||
the number of events to return. Thanks to Seiji Munetoh.
|
||||
- Added functions to do incremental hashing, removing most
|
||||
large stack allocations in trousers.
|
||||
- Updated blob utility functions to use UINT64's instead of
|
||||
UINT16, which had caused some arbitrary limits in parts of
|
||||
trousers.
|
||||
- Merged in TSS 1.2 header files.
|
||||
- Merged in build changes for embedded.
|
||||
|
||||
* TROUSERS_0_2 branch created
|
||||
|
||||
- In obj_policy.c and obj_tpm.c, if NULL is passed in when trying
|
||||
to set a 1.2 style callback, clear the callback address.
|
||||
- Fix in Tspi_TPM_ActivateIdentity: Only validate over the out
|
||||
parameters from the TPM, not the TCS (size of data).
|
||||
- obj_encdata.c: fixed reference of pcrSelect, which caused
|
||||
bad data to be returned as the PCR selection.
|
||||
- added TSS_TSPATTRIB_ENCDATAPCR_DIGEST_ATRELEASE, which was
|
||||
type-o'd in the 1.1 header files.
|
||||
- Fix for SF1570380: Algorithm ID not compliant with TSS spec.
|
||||
- Corrected off by 1 errors in PCR index bounds checking.
|
||||
- Changed logging in the TCSD so that FILE:LINE isn't printed
|
||||
unless debugging is on.
|
||||
- Changed build/code so that the system PS dir is mode 0700, not
|
||||
1777. It used to be 1777 when user PS was not in ~/.trousers.
|
||||
- Fix for SF1565726: Segfault when connecting from remote host.
|
||||
- Fix for SF1565208: User PS load key by UUID failed.
|
||||
|
||||
* TROUSERS_0_2_8
|
||||
|
||||
- Fixed bug in mc_add_entry, where the PCRInfo data was not being
|
||||
copied into the mem cache with the other fields of the key.
|
||||
- Fixed 2 bugs in spi_getset.c where setting the secret hash mode
|
||||
was passing subFlag to the internal set function instead of
|
||||
ulAttrib.
|
||||
- Added patch to retry the libtspi's recv() call to the TCSD
|
||||
if the call was interrupted before completion.
|
||||
- Made the popup string appear as a label on the popup, not the
|
||||
title. Also, got rid of annoying mouse-over texts.
|
||||
- Added a flag to pass to the get_secret function internally to
|
||||
indicate whether a popup should contain the confirm box.
|
||||
- Added support for callbacks in the identity creation code.
|
||||
- Updated the identity creation code in the TSP/TCS to support
|
||||
AES, DES, 3DES during identity creation.
|
||||
- Added symmetric encryption interfaces for openssl, Trspi.
|
||||
- In Tspi_Hash_Sign, fixed memory leak.
|
||||
- Added SetAttribData functions for RSA modulus/exponent per
|
||||
the upcoming additions to the TSS 1.2 errata 1 spec.
|
||||
- Fixed bug in TCS key cache where if 2 keys had the same public
|
||||
modulus, they could confuse the key cache manager.
|
||||
- Bind/Seal functions now return more descriptive errors codes
|
||||
and won't do the encryption if the data to use is larger than
|
||||
the RSA pubkey.
|
||||
- Made updates to the code/headers for the TSS_VALIDATION struct
|
||||
change to be issued as TSS 1.1 header file errata 1.
|
||||
- Bug fix: In LoadManuMaintPub's wrapping function in the TSP,
|
||||
we incorrectly passed a reference to the pubkey in loading the
|
||||
blob.
|
||||
- Fixed bugs in the maintenance commands, owner auth'd commands
|
||||
were using no auth tags in their commands sent to the TPM.
|
||||
- Fixed SF1546344: Track the release of auth handles by TCS
|
||||
context and take the fContinueAuthSession variable into account
|
||||
when calling the TPM to release a handle.
|
||||
- Fixed SF1545614: deadlock due to auth_mgr_osap taking the
|
||||
auth_mgr_lock before calling ensureKeyIsLoaded, which took the
|
||||
mem_cache_lock.
|
||||
- Added checks to ensure corrupt packets don't crash the tcsd.
|
||||
- Added configure option --with-gui=gtk/none to enable building
|
||||
with no popup support for embedded apps. The default secret
|
||||
mode becomes TSS_SECRET_MODE_NONE for all policies and the
|
||||
default context mode becomes TSS_TSPATTRIB_CONTEXT_SILENT to
|
||||
supress all popups.
|
||||
- Changed the Tspi_GetAttribData function to return a TCPA_PUBKEY
|
||||
blob as is specified in the portable data section.
|
||||
- Added a debugging #define in req_mgr.c to print all data passed
|
||||
to/from the TPM.
|
||||
- Updated Tspi_Context_LoadKeyByUUID to check in-memory keys by
|
||||
UUID when the TCS returns a filled-out loadkey info struct.
|
||||
- Removed the free of all context related memory when the context
|
||||
closes. Allows an app more flexibility in choosing what to free.
|
||||
- Removed check for secret mode None in establishing an OSAP
|
||||
session. Now, a secret of all 0's is used if no secret exists.
|
||||
- Added checks for 2 return codes in secret_TakeOwnership.
|
||||
- Fixed TSS_VERSION problem. There are no specific getcaps for
|
||||
software version vs. TSS spec version. Instead, the TSP's
|
||||
version structure contains spec version and software major/minor.
|
||||
- Removed obj_regdkey list references.
|
||||
|
||||
* TROUSERS_0_2_7
|
||||
|
||||
- Added 3 new TCSD config options to allow admins to set paths
|
||||
to the 3 types of credentials returned on Make Identity calls.
|
||||
- Added an implementation for returning the MANUFACTURER TCS
|
||||
caps.
|
||||
- Added translation of TSS caps that are destined for the TPM.
|
||||
- Updated DirWrite to work correctly (thanks Kylie).
|
||||
- Updated the Tspi_TPM_DirWrite manpage with more info, removed
|
||||
a confusing statement.
|
||||
- Changed the number of loops in TCSP_GetRandom_Internal to 50,
|
||||
which should allow TPMs that return few bytes per request to
|
||||
fullfill up to 4K bytes.
|
||||
- Removed the TCS's getSomeMemory() function, which was really
|
||||
dumb.
|
||||
- Changed the way user PS operates. User PS is now really
|
||||
persistent, its kept in ~/.trousers/users.data, which is
|
||||
created if it doesn't exist. Also, the environment variable
|
||||
TSS_USER_PS_FILE can be set to a path that will override the
|
||||
default location for as long as the TSP context is open.
|
||||
- Lots of memory leaks found in error paths by Coverity, mostly
|
||||
in tcsd_wrap.c.
|
||||
- Fix for SF #1501811, setting some SetAttribUint32 flags not
|
||||
supported.
|
||||
- Lots of updates to the fedora specific RPM specfile.
|
||||
- Fix for SF #1490845, 'make install' overwrites old tcsd.conf
|
||||
- Added code to return TSS_E_POLICY_NO_SECRET when setting up
|
||||
an OIAP or OSAP session.
|
||||
- Added fix for SF #1490745, trousers demands too much from
|
||||
/dev/random. Default random device is now /dev/urandom.
|
||||
- Changed severity of the ioctl fallback print stmts to
|
||||
warning and info.
|
||||
- Added implementation of the maintenance functions.
|
||||
- Added fix for SF #1487664, Offset in PS cache is not
|
||||
updated correctly.
|
||||
- Removed some Atmel specific code and commented out code.
|
||||
- Added some missing auth_mgr_check calls in tcspbg.c.
|
||||
- Fixed some unchecked mallocs in the TSP.
|
||||
- Added build variables to automatically update the TSP
|
||||
library version and TCSD version getcap variables.
|
||||
- Added call to return the modulus of an RSA key on a
|
||||
GetAttribData call.
|
||||
- Added implementation of the migration functions.
|
||||
- Fix for SF 1477178, random numbers get hosed by the tcsd.
|
||||
|
||||
* TROUSERS_0_2_6
|
||||
|
||||
- Removed unnecessary call to obj_encdata_get_data in
|
||||
Tspi_Data_Seal.
|
||||
- Added support for using the trousers.h APIs in C++.
|
||||
- Fixed Tspi_PcrComposite_GetPcrValue's man page, which had
|
||||
left out *'s in two parameters.
|
||||
- Fix for SF 1414817, Quote's PCR object doesn't get set on
|
||||
return.
|
||||
- Lots of function renaming to make code reading clearer.
|
||||
- Return TSS_E_INVALID_OBJ_ACCESS when trying to retrieve data
|
||||
from an encrypted data object that hasn't been set.
|
||||
- Added contact info to the README.
|
||||
- Fix for ordering of params in call to set callback by
|
||||
Tspi_SetAttribUint32. Thanks to Thomas Winkler for the fix.
|
||||
- Fix for SF 1410948, get random numbers from /dev/urandom
|
||||
unless Tspi_TPM_GetRandom is called explicitly.
|
||||
- Fix for SF 1342026, print TPM error codes during bring-up.
|
||||
- Added support for a TCS_LOADKEY_INFO structure returned from
|
||||
a TCSP_LoadKeyByUUID call.
|
||||
- Fixed 2 free_tspi's that should have been plain free's
|
||||
|
||||
* TROUSERS_0_2_5
|
||||
|
||||
- Changed all prints of size_t to %z (matters on 64bit platforms).
|
||||
- Backport of the context and policy object's
|
||||
TSS_TSPATTRIB_SECRET_HASH_MODE attribute from the TSS 1.2 spec.
|
||||
This will allow 1.1 apps to decide whether they want to
|
||||
include the 2 bytes of NULL in the hashes of their secrets.
|
||||
This will in turn allow various TSS's to interoperate better.
|
||||
- SF#1397265 'getpubek' to 'readpubek' in tcsd.conf.
|
||||
- Added an implementation of TSS 1.2 style callbacks.
|
||||
- Added Emily's patch to explain the TSS_DEBUG_OFF flag, added
|
||||
blurb to README.
|
||||
- Fixed bug that only manifested on PPC64: if errno is not set
|
||||
to 0 explicitly before making a call to iconv, iconv will not
|
||||
set it on failure.
|
||||
|
||||
* TROUSERS_0_2_4
|
||||
|
||||
- Updated README with how to use new system.data files.
|
||||
- Added sample system.data files for users who've taken
|
||||
ownership of their TPMs under other OS's.
|
||||
- Updated unicode routines to NULL terminate their strings
|
||||
with the same number of bytes as is the width of the
|
||||
encoding.
|
||||
- Fixed bug in TCS_EnumRegisteredKeys_TP, returned data should
|
||||
be alloc'd on the TSP heap.
|
||||
- Added a logging statement when tcsd_startup fails due to an
|
||||
error returned by the TPM itself.
|
||||
- Fixed validation data in Tspi_TPM_Quote and
|
||||
Tspi_TPM_GetPubEndorsementKey.
|
||||
- Implemented Tspi_TPM_CollateIdentityRequest and
|
||||
Tspi_TPM_ActivateIdentity.
|
||||
- Bug fix in TCSP_Sign_TP, signature should be alloc'd using
|
||||
the TSP heap.
|
||||
- Fix for SF#1351593, authdata was always 0 for the SRK. This
|
||||
was due to the defaults set in Tspi_Context_CreateObject for
|
||||
the SRK key flag. The default SRK key is now set to require
|
||||
auth. If you want an authless SRK, you need to either set
|
||||
the authdatausage attribute directly or pass in your own
|
||||
SRK initFlags to the create object call.
|
||||
- Return bad parameter when no the pcr object is not
|
||||
initialized instead of internal error.
|
||||
- Several fixes added for list locking in the obj_*.c files.
|
||||
- Added initial support for Tspi_TPM_CollateIdentityRequest
|
||||
and its supporting functions (symmetric encryption).
|
||||
- Fix for SF#1338785: Support TSS_TSPATTRIB_HASH_IDENTIFIER.
|
||||
- Changed default kernel and firmware controlled PCRs to
|
||||
none, which should have happened a long time ago. :-/
|
||||
- Fix for SF#1324108: Tspi_TPM_GetEvents should return a
|
||||
number of events
|
||||
- Fix for RFE#1301441: Fallback support for the device
|
||||
node. ioctl is tried first, if that fails, r/w is tried,
|
||||
if that fails, error is returned.
|
||||
- Fixes for SF#1332479: HMAC and XOR callbacks were being
|
||||
passed wrong params.
|
||||
- Fix for SF#1334235, uuid data wasn't being set correctly
|
||||
when keys were registered or loaded by uuid.
|
||||
- Fix for SF#1332316, Tspi_GetAttribData doesn't always
|
||||
return data alloc'd by TSP. Unicode data returned from the
|
||||
function was being allocated off the TSP heap.
|
||||
- Changed default return value for Tspi_GetAttribUint32 to
|
||||
success.
|
||||
- Corrected Tspi_TPM_PcrExtend manpage to state that the
|
||||
application should fill out the TSS_PCR_EVENT structure.
|
||||
-Fixes for SF BUG#1312194, and SF BUG#1312196. Get
|
||||
Attribs for key usage and size were not being returned
|
||||
correctly. Imported values for size from the TSS 1.2
|
||||
header files and translated TPM <-> TSP values for
|
||||
key usage in the get attrib calls.
|
||||
- Accepted Halcrow's patch to add a TSP key object
|
||||
removal function, invoked at object close time.
|
||||
This was SF BUG#1276133.
|
||||
- increased the size of the return buffer from TCS to
|
||||
TSP to 8K, so that larger requests won't fail.
|
||||
- added a loop to TCSP_GetRandom_Internal to try several
|
||||
(currently 5) times to get the number of requested bytes
|
||||
from the TPM. Since the TSP has no way to tell an
|
||||
application that a single request failed, this will help
|
||||
improve the odds of a large request succeeding.
|
||||
|
||||
* TROUSERS_0_2_3
|
||||
|
||||
- SF#1291256 bugs fixed. A UINT16 was being passed instead
|
||||
of a UINT32 to TCS_LoadKeyByBlob_Internal.
|
||||
- Removed test in spi_context.c's call to TCS_LoadKeyByUUID,
|
||||
which would always fail, since there was no TCS layer bit
|
||||
set. This kept us in a success path.
|
||||
- Added debug logging functions that print the function
|
||||
name at the beginning of the statement.
|
||||
- Added GetPubKey as an option for TCSD's remote ops.
|
||||
- SF#1249767 bug fixed. UTF16 strings are now hashed when
|
||||
passwords are passed in through the popups.
|
||||
- SF#1286333 bug fixed. New unicode functions added that
|
||||
convert to UTF-16 and from the nl_langinfo(CODESET)
|
||||
encoding.
|
||||
- SF#1285428 bug fixed. obj_context_get_machine_name copied
|
||||
too many bytes out. Code added to Tspi_GetAttribData to
|
||||
convert to UTF16 before returning.
|
||||
|
||||
* TROUSERS_0_2_2
|
||||
|
||||
- deleted section on ssh-askpass in README
|
||||
- Modified popup code to hash UTF16 instead of UTF8.
|
||||
- Restructured TCS calls to the TPM so that all auth sessions
|
||||
are released correctly.
|
||||
- Removed TSP contexts from all Trspi functions and modified
|
||||
all trousers code to free its own memory instead.
|
||||
- Fixed the TSP seal command to allow Sealing with a no-auth
|
||||
key by using null auth data. Also changes the TCS seal
|
||||
to return bad parameter if it gets null auth data.
|
||||
- Removed lots of unused code and made formatting changes.
|
||||
- Don't require Tspi_Key_WrapKey to be connected to succeed
|
||||
and return a default value (or from the environment) if
|
||||
we're doing PCR operations on an unconnected context.
|
||||
- Fixed bug where a tcsd created system.data file was not
|
||||
getting the right version info put into it.
|
||||
- SF BUG#1269290 Fixed: Protect the SRK pub key. Upon taking
|
||||
ownership, the unaltered SRK blob is passed back to the TSP
|
||||
to create a valid key object with the SRK pub key intact.
|
||||
The copies of the SRK pub key data that do into the TCSd's
|
||||
mem cache and PS are zeroed out. From then on, the only way
|
||||
to get the SRK pub key is through Tspi_Key_GetPubKey.
|
||||
- tcspbg.c: deleted unused code and always release auth session
|
||||
on an Unbind call.
|
||||
- Bugfix for SF#1274308, Tspi_Key_CreateKey doesn't add PCRs
|
||||
correctly. Ordering of calls in obj_rsakey_set_pcr_data
|
||||
and calculation of PCRInfo size were incorrect.
|
||||
- Close auth sessions in TCS_GetCapabilityOwner
|
||||
- Removed volatile flag from the SRK key handle at key object
|
||||
create time. This was keeping National TPM's from having the
|
||||
ability to be owned!
|
||||
- Moved calcCompositeHash to obj_pcrs.c and renamed it.
|
||||
- Check returns everywhere for addKeyHandle calls.
|
||||
- Call pthread_mutex_init on the host table's mutex.
|
||||
- Modified TSSWG headers so that code w/o BSD types compiles
|
||||
(such as the PKCS#11 TPM STDLL).
|
||||
- Removed ssh_askpass, since UNICODE must be hashed from the GUI
|
||||
input source.
|
||||
- Updated all manpages to include the TSSWG header file names
|
||||
instead of trousers specific files.
|
||||
- Don't log debug data when TSS_DEBUG_OFF env var is available.
|
||||
- Converted UNICODE to unsigned short and modified code accordingly.
|
||||
- Only allow INADDR_LOCALHOST connections when no remote_ops are
|
||||
defined in the tcsd.conf file.
|
||||
- Bugfix in obj_pcrs.c, setting pcr indices and values was buggy.
|
||||
- Moved macros from trousers_types.h (internal) to trousers.h
|
||||
(external), since new header files make them virtually a
|
||||
requirement
|
||||
- Bugfix for SF#1249780, PCR selection structure was incomplete.
|
||||
- Bugfix for SF#1249769, addKeyHandle now returns a TSS_RESULT.
|
||||
|
||||
* TROUSERS_0_2_1
|
||||
|
||||
- return invalid handle int Tspi_ChangeAuth when hParentObject
|
||||
is not of the right type.
|
||||
- Fixed bug in TCS ps, write_key_init returned the wrong offset.
|
||||
- Fixed mem leak in spi_getset.c:791, found by Coverity.
|
||||
- Fixed mem leak in calltcsapi.c:70, found by Coverity.
|
||||
- Fixed mem leak in tcskcm.c:531, found by Coverity.
|
||||
- Fixed type-o mem leak in tspps.c:319/tcsps.c:349, found by Coverity.
|
||||
- Fixed mem leak bug in memmgr.c:173, found by Coverity.
|
||||
- Fixed bounds error bugs in tcstp.c:38/98, found by Coverity.
|
||||
- Fixed bounds error bug in tcsd_wrap.c:154, found by Coverity.
|
||||
- Fixed unchecked return bug in spi_utils.c:430, found by Coverity.
|
||||
- Fixed unchecked return bug in calltcsapi.c:1159, found by Coverity.
|
||||
- Fixed negative return value bug tcs/ps/ps_utils.c:365, found by Coverity.
|
||||
- Fixed negative array index bug readpass.c:65, found by Coverity.
|
||||
- Fixed null deref bugs spi_tpm.c:1292/1309/1302, and uninitialized
|
||||
variable 1272, found by Coverity.
|
||||
- Fixed null deref bugs spi_context.c:358/378, found by Coverity.
|
||||
- Fixed null deref bug tcspbg.c:1413, found by Coverity.
|
||||
- Fixed null deref bug tcspbg.c:745, found by Coverity.
|
||||
- Fixed null deref bug imaem.c:356, found by Coverity.
|
||||
- changed config file defaults for kernel/firmware pcrs.
|
||||
- added better logging for when user/group "tss" doesn't exist
|
||||
- in sendTCSDPacket: set transmitBuffer to 0 to prevent sending
|
||||
bogus data.
|
||||
- added some sanity checking in getTCSDPacket to prevent segfaults.
|
||||
- added TCSERR where needed in tcs/ps files.
|
||||
- BUG 1233031 fixed, TSP now stores PACKAGE_STRING as the vendor
|
||||
data when registering a key.
|
||||
- Added better debugging of auth mapping table, also closed two
|
||||
auth handles that were getting left opened in CreateWrapKey and
|
||||
Seal/Unseal.
|
||||
- fixed ps_inspect's printing function.
|
||||
- added SELinux files and README.selinux.
|
||||
- updated ps_inspect tool to recognize non-PS files,
|
||||
print out version 1 PS files and added a license
|
||||
statement. Also added ps_convert tool to convert
|
||||
version 0 PS files to version 1.
|
||||
- updated ps_inspect tool to print out blobs and keys.
|
||||
- change assert to DBG_ASSERT in tcs/ps files, also
|
||||
assert that data sizes are > 0 when read off disk.
|
||||
- Lots of malloc error logging changes where %d should
|
||||
have been %u in the print statment.
|
||||
- auth_mgr.c: allow a TSP to open a max of max_auths/2
|
||||
sessions before its denied any more, for TPMs that
|
||||
can handle a lot of auth sessions.
|
||||
- Big-endian fixes for the persistent store functions.
|
||||
Trousers now runs fine on ppc64, for example.
|
||||
- BUG 1226617: Audit of code for auth handle termination.
|
||||
- Use @PACKAGE_BUGREPORT@ instead of a static email addr in
|
||||
manpages.
|
||||
- Added man page for tcsd.conf in section 5.
|
||||
- Bugfix in remove_table_entry. Host table head was left
|
||||
pointing at free'd memory.
|
||||
- corrected comment in spi_context.c.
|
||||
- added 64bit stuff to configure.in
|
||||
- fixed bug in Tspi_ChangeAuth where parent object was
|
||||
assumed to be an rsakey.
|
||||
- fixed debug logging of data.
|
||||
- modified calcCompositeHash for accepting incomplete pcr
|
||||
select structures & to fill out the structure correctly.
|
||||
|
||||
* TROUSERS_0_2_0
|
||||
|
||||
- removed unused code and added debugging in clearUnusedKeys().
|
||||
- Updated README with info on the 2.6.12 kernel device driver.
|
||||
- fixed bug in calculating pcr select size
|
||||
- fixed bug in init'ing PCRS, spi_utils.c:431
|
||||
- Changed TCPA sig schemes to TSS sig schemes in
|
||||
Hash_VerifySignature.
|
||||
- Implemented Tspi_Context_GetKeyByPublicInfo on the TCS side.
|
||||
- Fixed PS bug in storing the pub key data.
|
||||
- Implemented Tspi_Key_UnloadKey
|
||||
- Implemented the guts of Tspi_Key_CertifyKey, which now works
|
||||
in at least the case where both keys passed in are authless.
|
||||
- in obj_rsakey_set_es/ss, added mapping from TCPA numbers
|
||||
to TSS numbers and vice versa.
|
||||
- added #includes in readpass.c to get rid of compile errors.
|
||||
(thanks Emily).
|
||||
- Fixed popup secret handling. Bug #1194607 closed.
|
||||
- Fixed up the LogBlobData functions, no more strcat. Bug #1221974
|
||||
closed.
|
||||
- changed sprintf's to snprintf. Bug #1221932 closed.
|
||||
- Changed the TCPA_RSA_KEY_PARMS management at key creation time.
|
||||
- Re-implemented TSP object management.
|
||||
- Integrated TSSWG header files.
|
||||
- Added valid_keys variable for the debugging build of
|
||||
tcs/ps/ps_utils.c.
|
||||
- Changed >= to > in openssl/crypto.c to correct off by one in
|
||||
checking the size of the input data.
|
||||
- added cvs commit logging to CVSROOT/loginfo file.
|
||||
|
||||
* TROUSERS_0_1_11
|
||||
|
||||
- Changed TCSD logging to only log on remote connection attempts,
|
||||
local connections will be left silent.
|
||||
- mended compiled time warnings
|
||||
- updated src/tspi/Makefile.am to respect libtool.
|
||||
- added x86_64 case to configure.in
|
||||
- added args to print stmt tcsd_wrap.c:3640 (thanks Kylie).
|
||||
- commited fix for detecting past runlevel states (thanks Kylie).
|
||||
- committed fix for RNG problem: a TPM's RNG is disabled when
|
||||
the TPM is in the disabled state, yet needs a random number
|
||||
to open an OSAP session to call the owner auth'd TPM enable
|
||||
command.
|
||||
- added code for CreatePubEK plumbing (thanks Kylie).
|
||||
- fixed a couple signed/unsigned comparison warnings
|
||||
- fixed endianess stuff in TPM GetCap spi_tpm.c.
|
||||
- added Trspi_Error functions to manipulate TSS_RESULTs.
|
||||
- Fixed order of receiving for the TCS_OwnerReadPubek call
|
||||
(thanks Kylie).
|
||||
- Added defns for volatile and non-volatile flags (thanks Kylie).
|
||||
- Added Trspi_Error, which converts a TSS_RESULT to a string.
|
||||
(thanks Kylie).
|
||||
- In tcsd_wrap.c, added function bodies for tcs_wrap_OwnerClear,
|
||||
tcs_wrap_DisablePubekRead, tcs_wrap_OwnerReadPubek,
|
||||
tcs_wrap_DisableForceClear and tcs_wrap_DisableOwnerClear.
|
||||
(thanks Kylie).
|
||||
- Added an unload of the auth returned from the TPM in
|
||||
TCSP_OwnerReadPubek_Internal. (thanks Kylie).
|
||||
- Corrected the TAG for the TPM command in
|
||||
TCSP_OwnerReadPubek_Internal. (thanks Kylie).
|
||||
|
||||
* TROUSERS_0_1_10
|
||||
|
||||
- Updated implementation of Tspi_Key_WrapKey.
|
||||
- Added missing goto in ReadPubEK in tcstp.c. (thanks Kylie).
|
||||
- Added function guts for various functions in tcstp.c. (thanks
|
||||
Kylie).
|
||||
- In Tspi_TPM_SetStatus, do the right in the physical presence
|
||||
path based on boolean. (thanks Kylie).
|
||||
- Actually pass in the bool flag on TCSP_PhysicalPresence_Internal
|
||||
(thanks Kylie).
|
||||
- corrected force clear logic in spi_tpm.c:818 (thanks Kylie).
|
||||
- fixed error return code check to socket() syscall clntside.c:52.
|
||||
- added comment about TDDL reries and added log statement when a
|
||||
physical presence command is denied because of runlevel.
|
||||
- Fixed Tspi_Hash_VerifySignature to check signatures based on the
|
||||
signature scheme of the key in use. Also, crypto.c was changed
|
||||
to do a verify based on TSS_HASH_OTHER.
|
||||
- Added 2 new highlevel Unbind testcases to test PKCS1.5 vs OAEP.
|
||||
- In Tspi_Context_LoadKeyByUUID, the uninitialized keyBlob variable
|
||||
was causing an invalid free on exit. Corrected that.
|
||||
- changed return value from internal error to invalid handle when a
|
||||
bad object handle is passed to Tspi_Hash_Sign and the Tspi_Data
|
||||
functions.
|
||||
- added Tspi_TPM_CertifySelfTest functionality
|
||||
- corrected iptables string in the tcsd manpage.
|
||||
- Corrected return code in Tspi_Key_UnloadKey02.c testcase.
|
||||
- enabled Tspi_TPM_GetTestResult functionality
|
||||
- added selftest as an option to the list of remote ops for the access
|
||||
control
|
||||
- added compatibility with openssh-askpass for the popup dialog box.
|
||||
Now either gtk2-devel OR openssh-askpass must be installed to build
|
||||
trousers. Using openssh-askpass reduces the size of libtspi.so by
|
||||
about 40K and reduces the number of dependencies from 26 to 6!
|
||||
- Bugfixes
|
||||
- The entityType field was being passed between the TCSD and
|
||||
TSP as a UINT32 instead of UINT16. This was keeping Tspi_ChangeAuth
|
||||
from working as advertised.
|
||||
- Secrets were being hashed incorrectly when secret mode was PLAIN
|
||||
and the secret data length was 0. Now, when secret mode is plain, the
|
||||
passed in data is always hashed, even if its 0 length.
|
||||
- Popups are hopefully being handled more correctly now. Previously
|
||||
the dialog popped up at the time SetSecret was called, but now its
|
||||
just when the secret is actually needed.
|
||||
- sf.net Bug #118026: memory allocations and free's fixed in almost
|
||||
all paths from app to tcstp.c wrt correctly returning calloc_tspi'd
|
||||
memory vs. malloc'd memory. Only problem remaining is the PCR event
|
||||
functions, which have dangling malloc'd references, which is an
|
||||
architectural problem which should be solved in the 1.2 rewrite.
|
||||
|
||||
* TROUSERS_0_1_9
|
||||
|
||||
- added tcsd manpage
|
||||
- added access control functionality so that sets of ordinals
|
||||
cannot be executed by non-local hosts. This is now a
|
||||
configurable option in tcsd.conf as "remote_ops".
|
||||
- Set Physical Presence now works from the TSP when the TCSD
|
||||
detects that it is running in single user mode. When not
|
||||
running in single user mode, the TCS_PhysicalPresence
|
||||
command returns TSS_E_NOTIMPL.
|
||||
- Changed an fprintf to LogError in gtk/support.c
|
||||
- TCP/IP server-side fixes in svrside.c
|
||||
- various compile warnings fixed
|
||||
- moved commonly used utility functions to trspi/trousers.c and
|
||||
exported these functions in the header file tss/trousers.h.
|
||||
- added new testcases for ChangeAuth of the TPM owner and SRK in
|
||||
tcg/highlevel/tspi.
|
||||
- added test tcg/highlevel/tpm/Tspi_TPM_PcrRead04.c
|
||||
- updated Tspi_TPM_GetCapability manpage.
|
||||
- added code to detect a 1.2 TPM and get auth sessions the 1.2 way.
|
||||
- added manpage for Tspi_TPM_GetPubEndorsementKey
|
||||
- Bugfixes
|
||||
- in crypto.c, encrypted data area should be RSA_size(rsa) bytes
|
||||
large, not always 256. This was keeping non-2048 bit keys from
|
||||
working with the TPM keyring app.
|
||||
- Fixed detection of an already closed Tddl.
|
||||
- Allow validating the entire TCPA_PUBKEY structure in
|
||||
Tspi_TPM_GetPubEndorsementKey, as National chips do this.
|
||||
- Added support for TSS_TPMCAP_ORD and TSS_TPMCAP_FLAG in
|
||||
Tspi_TPM_GetCapability, which required a call to
|
||||
TCSP_GetCapabilityOwner to fetch the TPM's internal flags. Added
|
||||
tcg/highlevel/tpm/Tspi_TPM_GetCapability0{4,5}.c to test.
|
||||
- When loading the SRK from TCS PS, the TCS key handle should now
|
||||
be 0x40000000 (TSS_SRK_KEY_HANDLE). There were checks for this in
|
||||
the ChangeAuth code paths, which caused failing of various sorts.
|
||||
- Bug fixed in roll over of TCS key handle generation. Previously we
|
||||
would have smashed the SRK's fixed value and we would have thought
|
||||
there were 2 SRK's loaded.
|
||||
- sf.net bug #1154611, old SRK was not being removed from mem cache,
|
||||
though disk cache was being deleted. This means that after re-taking
|
||||
ownership the mem cache was corrupted until a restart of the TCSD.
|
||||
- Feature Requests
|
||||
- sf.net RFE #1122608 completed. Several different device locations
|
||||
are now supported by default. If /dev/tpm is created its assumed that
|
||||
the IBM Research device driver is being used and therefore ioctl's are
|
||||
sent to the driver, all others get read/write's. Updated README.
|
||||
|
||||
* TROUSERS_0_1_8
|
||||
|
||||
- added a manpage for Tspi_TPM_PcrExtend
|
||||
- added SHA1_HASH_SIZE #define tied to openssl/sha.h
|
||||
- Corrected typo in tcpa_types.h of pValdationData -> pValidationData
|
||||
- updated README with info on device file stuff
|
||||
- added a usage function and long options to tcsd
|
||||
- added an error message when incorrect params are passed to tcsd on
|
||||
the command line.
|
||||
- added -lcrypto and -lpthread to the build of libtspi.so, so that app
|
||||
writers will avoid having to include those when they don't have to.
|
||||
- Connected up Tspi_TPM_SetStatus and Tspi_TPM_SelfTestFull to
|
||||
TCSP_SetTempDeactivated, TCSP_SelfTestFull, TCSP_SetOwnerInstall,
|
||||
TCSP_OwnerSetDisable and TCSP_PhysicalDisable.
|
||||
- Bugfixes
|
||||
- tcsem.c:507, error in calculating number of PCR events to copy out.
|
||||
- sf.net bug #1151183 fixed. Tspi_TPM_GetPubEndorsementKey now takes
|
||||
the correct number of params, and all testcases/TSS calls are changed.
|
||||
- sf.net bug #1113313 fixed. Tspi_TPM_TakeOwnership now allows a NULL
|
||||
pub endorsement key handle and a testcase,
|
||||
tcg/highlevel/tpm/Tspi_TPM_TakeOwnership03.c, exists to test this.
|
||||
- In Tspi_SetAttribData, set the TCPA_KEY's privkey, not the wrapper
|
||||
object on a TSS_TSPATTRIB_KEYBLOB_PRIVATE_KEY.
|
||||
|
||||
* TROUSERS_0_1_7
|
||||
|
||||
- Fixed the logging up so that if tcsd -f is specified, all logs go the
|
||||
foreground, else all logs go to syslog.
|
||||
- Moved the TPM_IOCTL #define into the tddl.h file. Now, if you're
|
||||
using the IBM research device driver, compiling with #define TPM_IOCTL
|
||||
will use ioctl's to open /dev/tpm and #undef TPM_IOCTL will use
|
||||
read/write calls to /dev/tpm0.
|
||||
- Revert accidental change in tddl.c
|
||||
- Lots of 0's replaced with non-magic #define's in the TSP code
|
||||
- In spi_getset.c: removed unimportant debugging stmts; make
|
||||
Tspi_{Get|Set}AttribData set the correct public and private key data
|
||||
when asked to.
|
||||
- Lots of manpage verbage changes.
|
||||
- added new manpages for: Tspi_TPM_TakeOwnership, Tspi_Key_LoadKey,
|
||||
Tspi_Context_Create and Tspi_TPM_ClearOwner.
|
||||
- Bugfixes
|
||||
- cxt.c: when destroying a context object, release the tcs_ctx_lock before
|
||||
calling ctx_ref_count_keys(). This prevents a deadlock.
|
||||
- added a mutex unlock call for an error path that would have caused a
|
||||
deadlock
|
||||
|
||||
* TROUSERS_0_1_6
|
||||
|
||||
- Logging functionality changes only, for bug #1106301
|
||||
- TCSD:
|
||||
- Logs now go to stdout/stderr until a successful startup
|
||||
- After a successful startup, cmdline args are parsed
|
||||
- if -f is specified, logging continues to stdout/stderr and daemon runs
|
||||
in the foreground, killable by ctrl-c.
|
||||
- If -f is not specified, logs go to syslog and the tcsd forks into the
|
||||
background
|
||||
- TSP library
|
||||
- If compiled w/o debugging, there is no logging of any kind
|
||||
- If compiled w/ debugging, all logs go to stdout/stderr, unless the
|
||||
environment variable TSS_DEBUG_OFF is set, then, there is no logging of
|
||||
any kind
|
||||
- There is no longer a --enable-stderrlog option to the configure script
|
||||
|
||||
* TROUSERS_0_1_5
|
||||
|
||||
- Complete memory management overhaul. calloc_tspi is now used to clean up
|
||||
memory allocated by Tspi functions. TCS blob functions have been changed
|
||||
to not require a context, since there's no need w/o calloc_tspi. Its
|
||||
now necessary to call free explicitly everywhere in the TCS. In the TSP,
|
||||
calloc_tspi is now always called with the TSP context of the session, which
|
||||
would will ensure all memory allocated by the session is accounted for.
|
||||
- Unused #defines and variables removed from spi_utils.h
|
||||
- Commented out code removed throughout the source.
|
||||
- Removed log.o on a 'make clean'.
|
||||
- commented out unnecessary logging, added more descriptive logging
|
||||
- renamed variables named 'hContext' to specifiy whether they represent TSP
|
||||
of TCS context handles.
|
||||
- got rid of a few magic numbers
|
||||
- Bugfixes
|
||||
- in tcs/cache.c, getNextTimeStamp() was unlocking the mutex twice.
|
||||
- removed destroy_key_refs() in TSP, which caused double free errors
|
||||
- added call to event_log_final() in tcsd_shutdown() to clean up the event log
|
||||
- added an intermediate copy stage of data in getTCSDPacket() to avoid
|
||||
memcpy() calls with overlapping source and dest fields.
|
||||
|
||||
* TROUSERS_0_1_4
|
||||
|
||||
- added ChangeLog :-)
|
||||
- TSP object management overhaul. All API's should be correct for contexts
|
||||
whether they're connected to a TCS or not.
|
||||
- testsuite changes based on object mgmt overhaul
|
||||
- various internal fixes and simplifications of the code due to object mgmt
|
||||
overhaul
|
||||
|
||||
* TROUSERS_0_1_3
|
||||
|
||||
- added helpful message when package gtk2-devel is not found in configure.in
|
||||
- chown changes in dist/Makefile for new syntax
|
||||
- added detailed flags to various manpages
|
||||
- TSP memory management overhaul
|
||||
- added more complete destroy_key_refs() function
|
||||
- Bugfixes
|
||||
- quashed memory leaks in TSP found by valgrind
|
||||
- return TRUE/FALSE from getAttribData
|
||||
- added TSS_TSPATTRIB_KEYINFO_SIZE to Tspi_GetAttribData
|
||||
- call free() not Tspi_Context_FreeMemory() in spi_utils.c
|
||||
|
||||
* TROUSERS_0_1_2
|
||||
|
||||
- added bug report mailing list to configure.in
|
||||
- added --enable-stderrlog feature to configure.in
|
||||
- Marked Tspi_TPM_GetCapabilitySigned as not implemented (per TSS v1.1b spec)
|
||||
- Bugfixes
|
||||
- Removed common.h from Tspi_Context_RegisterKey manpage
|
||||
- added endianess macros to spi_utils.h
|
||||
- made all endianess fixes to the TSP and testsuite
|
||||
- logging improvements tcspbg.c
|
||||
- tcs_utils.c compile time warning quashed
|
||||
|
||||
* TROUSERS_0_1_1
|
||||
|
||||
- Updated design doc
|
||||
- Updated README
|
||||
- More sensible function naming (no addNewObject, just addObject)
|
||||
- Bugfixes
|
||||
- return data correctly in Tspi_GetAttribData
|
||||
- malloc space for returned UUID correctly in tspps.c
|
||||
- log errors in tddl.c
|
||||
- follow a failure path in auth_mgr.c
|
||||
- don't always return success in req_mgr.c
|
||||
|
||||
* TROUSERS_0_1_0
|
||||
|
||||
- Initial code drop
|
|
@ -0,0 +1,87 @@
|
|||
|
||||
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
|
||||
|
||||
1. DEFINITIONS
|
||||
|
||||
"Contribution" means:
|
||||
|
||||
a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
|
||||
|
||||
b) in the case of each subsequent Contributor:
|
||||
|
||||
i) changes to the Program, and
|
||||
|
||||
ii) additions to the Program;
|
||||
|
||||
where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
|
||||
|
||||
"Contributor" means any person or entity that distributes the Program.
|
||||
|
||||
"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
|
||||
|
||||
"Program" means the Contributions distributed in accordance with this Agreement.
|
||||
|
||||
"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
|
||||
|
||||
2. GRANT OF RIGHTS
|
||||
|
||||
a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
|
||||
|
||||
b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
|
||||
|
||||
c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
|
||||
|
||||
d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
|
||||
|
||||
3. REQUIREMENTS
|
||||
|
||||
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
|
||||
|
||||
a) it complies with the terms and conditions of this Agreement; and
|
||||
|
||||
b) its license agreement:
|
||||
|
||||
i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
|
||||
|
||||
ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
|
||||
|
||||
iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
|
||||
|
||||
iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
|
||||
|
||||
When the Program is made available in source code form:
|
||||
|
||||
a) it must be made available under this Agreement; and
|
||||
|
||||
b) a copy of this Agreement must be included with each copy of the Program.
|
||||
|
||||
Contributors may not remove or alter any copyright notices contained within the Program.
|
||||
|
||||
Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
|
||||
|
||||
4. COMMERCIAL DISTRIBUTION
|
||||
|
||||
Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
|
||||
|
||||
For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
|
||||
|
||||
5. NO WARRANTY
|
||||
|
||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
|
||||
|
||||
6. DISCLAIMER OF LIABILITY
|
||||
|
||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
7. GENERAL
|
||||
|
||||
If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
|
||||
|
||||
If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
|
||||
|
||||
All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
|
||||
|
||||
Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
|
||||
|
||||
This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
SUBDIRS = src man dist tools
|
||||
EXTRA_DIST = AUTHORS LICENSE NEWS NICETOHAVES README \
|
||||
README.selinux TODO ChangeLog \
|
||||
doc/LTC-TSS_LLD_08_r2.pdf \
|
||||
doc/LTC-TSS_LLD_08_r2.sxw \
|
||||
doc/TSS_programming_SNAFUs.txt
|
|
@ -0,0 +1,718 @@
|
|||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
|
||||
# Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
subdir = .
|
||||
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in $(top_srcdir)/configure \
|
||||
$(top_srcdir)/dist/fedora/trousers.spec.in AUTHORS ChangeLog \
|
||||
NEWS TODO config.guess config.sub depcomp install-sh ltmain.sh \
|
||||
missing
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno config.status.lineno
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES = dist/fedora/trousers.spec
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
html-recursive info-recursive install-data-recursive \
|
||||
install-dvi-recursive install-exec-recursive \
|
||||
install-html-recursive install-info-recursive \
|
||||
install-pdf-recursive install-ps-recursive install-recursive \
|
||||
installcheck-recursive installdirs-recursive pdf-recursive \
|
||||
ps-recursive uninstall-recursive
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
|
||||
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
|
||||
distdir dist dist-all distcheck
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d "$(distdir)" \
|
||||
|| { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr "$(distdir)"; }; }
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CRYPTOLIB = @CRYPTOLIB@
|
||||
CRYPTO_PACKAGE = @CRYPTO_PACKAGE@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GREP = @GREP@
|
||||
GTK_CFLAGS = @GTK_CFLAGS@
|
||||
GTK_LIBS = @GTK_LIBS@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OPENSSL_LIB_DIR = @OPENSSL_LIB_DIR@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
RPC = @RPC@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TCSD_DEFAULT_PORT = @TCSD_DEFAULT_PORT@
|
||||
VERSION = @VERSION@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
lt_ECHO = @lt_ECHO@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
target_cpu = @target_cpu@
|
||||
target_os = @target_os@
|
||||
target_vendor = @target_vendor@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
SUBDIRS = src man dist tools
|
||||
EXTRA_DIST = AUTHORS LICENSE NEWS NICETOHAVES README \
|
||||
README.selinux TODO ChangeLog \
|
||||
doc/LTC-TSS_LLD_08_r2.pdf \
|
||||
doc/LTC-TSS_LLD_08_r2.sxw \
|
||||
doc/TSS_programming_SNAFUs.txt
|
||||
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
|
||||
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
$(am__cd) $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
$(am__aclocal_m4_deps):
|
||||
dist/fedora/trousers.spec: $(top_builddir)/config.status $(top_srcdir)/dist/fedora/trousers.spec.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool config.lt
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
$(RECURSIVE_CLEAN_TARGETS):
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
rev=''; for subdir in $$list; do \
|
||||
if test "$$subdir" = "."; then :; else \
|
||||
rev="$$subdir $$rev"; \
|
||||
fi; \
|
||||
done; \
|
||||
rev="$$rev ."; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
for subdir in $$rev; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
ctags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-test -n "$(am__skip_mode_fix)" \
|
||||
|| find "$(distdir)" -type d ! -perm -755 \
|
||||
-exec chmod u+rwx,go+rx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r "$(distdir)"
|
||||
dist-gzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-lzma: distdir
|
||||
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-xz: distdir
|
||||
tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
|
||||
*.tar.bz2*) \
|
||||
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.lzma*) \
|
||||
lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
|
||||
*.tar.xz*) \
|
||||
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
test -d $(distdir)/_build || exit 0; \
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& am__cwd=`pwd` \
|
||||
&& $(am__cd) $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
|
||||
&& cd "$$am__cwd" \
|
||||
|| exit 1
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||
distuninstallcheck:
|
||||
@$(am__cd) '$(distuninstallcheck_dir)' \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-libtool \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
|
||||
install-am install-strip tags-recursive
|
||||
|
||||
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
||||
all all-am am--refresh check check-am clean clean-generic \
|
||||
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
|
||||
dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
|
||||
distcheck distclean distclean-generic distclean-libtool \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-strip \
|
||||
installcheck installcheck-am installdirs installdirs-am \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags tags-recursive uninstall uninstall-am
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
These items are of lower priority than the TODO list. If any of these become
|
||||
actual TODO's, they will move to that list.
|
||||
|
||||
1. Test Suite Design Document
|
||||
|
||||
2. State machine diagram of the TSS internal workings
|
||||
|
|
@ -0,0 +1,229 @@
|
|||
trousers README
|
||||
|
||||
Trousers is an open-source TCG Software Stack (TSS), released under
|
||||
the Common Public License. Trousers aims to be compliant with the
|
||||
1.1b and 1.2 TSS specifications available from the Trusted Computing
|
||||
Group website:
|
||||
|
||||
http://www.trustedcomputinggroup.org
|
||||
|
||||
|
||||
CONTACT
|
||||
|
||||
For information on the TrouSerS project, please send mail to the
|
||||
following lists:
|
||||
|
||||
Use of the TSS API and TrouSerS:
|
||||
trousers-users@lists.sf.net
|
||||
|
||||
Discussion of the internals of the TrouSerS implementation:
|
||||
trousers-tech@lists.sf.net
|
||||
|
||||
Possibly sensitive security related bugs:
|
||||
Debora Velarde <dvelarde@us.ibm.com>
|
||||
|
||||
Run-of-the-mill bug reports should use the TrouSerS bug tracker:
|
||||
http://sourceforge.net/tracker/?group_id=126012&atid=704358
|
||||
|
||||
|
||||
BUILD REQUIREMENTS
|
||||
|
||||
Packages needed to build:
|
||||
|
||||
automake > 1.4
|
||||
autoconf > 1.4
|
||||
pkgconfig
|
||||
libtool
|
||||
gtk2-devel
|
||||
openssl-devel >= 0.9.7
|
||||
pthreads library (glibc-devel)
|
||||
|
||||
|
||||
BUILDING the TSS 32-bit
|
||||
|
||||
Build and install the latest TPM device driver from
|
||||
sf.net/projects/tpmdd either compiled in or loaded as a
|
||||
module. UPDATE: This driver is now included in the vanilla 2.6.12
|
||||
kernel! If you are doing this, trousers should just work after a
|
||||
vanilla build. Follow the build instructions below and read
|
||||
RUNNING the TSS, below.
|
||||
|
||||
To build trousers after you have the device driver installed:
|
||||
|
||||
$ sh bootstrap.sh
|
||||
$ ./configure [--enable-debug] [--enable-gprof] [--enable-gcov]
|
||||
$ make
|
||||
# make install
|
||||
|
||||
Here are the default locations of files that trousers installs:
|
||||
|
||||
/usr/local/sbin/tcsd
|
||||
/usr/local/etc/tcsd.conf
|
||||
/usr/local/lib/libtspi.so.0.0.X
|
||||
/usr/local/lib/libtspi.so.0 -> libtspi.so.0.0.X
|
||||
/usr/local/lib/libtspi.so -> libtspi.so.0.0.X
|
||||
/usr/local/lib/libtspi.la
|
||||
/usr/local/lib/libtddl.a
|
||||
/usr/local/var/lib/tpm
|
||||
|
||||
By default the build will place everything in /usr/local. To install
|
||||
in a slightly more predictable place, use `./configure --prefix=/usr`.
|
||||
|
||||
'make install' will run ldconfig, but if /usr/local/lib is not in
|
||||
your /etc/ld.so.conf, this won't make a difference. You may need to
|
||||
manually add it and run ldconfig as root to allow your apps to link at
|
||||
run time to libtspi.so.
|
||||
|
||||
|
||||
BUILDING the TSS 64-bit
|
||||
|
||||
TrouSerS has been built and tested on ppc64 and x86_64, so please
|
||||
don't hesitate to report bugs on these platforms. Building everything
|
||||
64-bit will require a few more flags than are necessary for a 32-bit
|
||||
platform. Here are some example instructions for ppc64:
|
||||
|
||||
$ sh bootstrap.sh
|
||||
$ export PKG_CONFIG_PATH=/usr/lib64/pkgconfig
|
||||
$ CFLAGS="-L/usr/lib64 -L/opt/gnome/lib64" LDFLAGS="-L/usr/lib64 \
|
||||
-L/opt/gnome/lib64" ./configure --libdir="/usr/local/lib64"
|
||||
$ make
|
||||
# make install
|
||||
|
||||
Hopefully the above example will get you going on building in your
|
||||
64-bit environment. If you need to do anything special, please send
|
||||
your build steps to trousers-users@lists.sf.net and I'll include it
|
||||
here.
|
||||
|
||||
|
||||
USING TROUSERS ON AN ALREADY OWNED TPM
|
||||
|
||||
If you've already taken ownership of your TPM using a TSS under another
|
||||
operating system, there are a few issues you should be aware of.
|
||||
|
||||
Auth vs No-Auth SRK: In order to trick trousers into thinking it has taken
|
||||
ownership of the TPM it's running on, you will need to create a persistent
|
||||
storage file for trousers to use. Normally trousers would create this file
|
||||
itself at the time ownership is taken. If your SRK has been given an
|
||||
authorization password by the non-Linux OS, you will need to move the file
|
||||
dist/system.data.auth to /usr/local/var/lib/tpm/system.data. If you've
|
||||
taken ownership of your TPM without issuing a password, move
|
||||
dist/system.data.noauth to /usr/local/var/lib/tpm/system.data.
|
||||
|
||||
Passwords: When entering passwords for keys you'd like to use in both
|
||||
Linux and other OS's, you'll need to take note of how you entered those
|
||||
passwords. The TSS spec states that when a password is entered through a
|
||||
GUI popup dialog box provided by the TSS library, the password should be
|
||||
converted to the UTF-16 encoding and then hashed using SHA-1, including
|
||||
the UTF-16 null terminator in the hash calculation.
|
||||
|
||||
In order to work around this problem, specify the -u option to the
|
||||
tpm-tools command line to convert the password to UTF-16 before hashing.
|
||||
This, however, unfolds yet another problem...
|
||||
|
||||
Some TSS stacks aren't compliant with the TSS spec, in that they hash
|
||||
their passwords without including the terminating null character. This
|
||||
means that there are effectively two versions of any password set through
|
||||
a popup dialog box. Trousers will include the terminating null character
|
||||
in its hashes of UTF-16 data.
|
||||
|
||||
We'll do our best to track other TSS software and how it behaves. Please
|
||||
see the trousers FAQ at http://trousers.sf.net for more information.
|
||||
|
||||
|
||||
ARCHITECTURE
|
||||
|
||||
This TSS implementation has several components.
|
||||
|
||||
A) The TCS Daemon - A user space daemon that should be (according to
|
||||
the TSS spec) the only portal to the TPM device driver. At boot
|
||||
time, the TCS Daemon should be started, it should open the TPM
|
||||
device driver and from that point on, all requests to the TPM
|
||||
should go through the TSS stack. The TCSD manages TPM resources
|
||||
and handles requests from TSP's both local and remote.
|
||||
|
||||
B) The TSP shared library - The TSP (TCG Service Provider) is a
|
||||
shared library that enables applications to talk to TCSD's both
|
||||
locally and remotely. The TSP also manages resources used in
|
||||
commicating with the application and the TCSD and transparently
|
||||
contacts the TCSD whenever necessary.
|
||||
|
||||
C) Persistent Storage (PS) files - TSS's have 2 different kinds of
|
||||
PS for keys. PS can be thought of as a database for keys, with
|
||||
each key in the database indexed by a UUID.
|
||||
|
||||
'User' persistent storage is maintained by the application's TSP
|
||||
library. Upon writing the first key to User PS, the TSP library
|
||||
creates a new file at ~/.trousers/user.data, using the effective
|
||||
user id of the process executing the call to find ~. An environment
|
||||
variable, TSS_USER_PS_FILE, can also be set to point the TSP library
|
||||
to a different location for the User PS. This environment variable
|
||||
has the lifetime of the TSP context, so to store 2 keys in 2
|
||||
different files, you will need to call Tspi_Context_Close, set the
|
||||
new location, and open the context again.
|
||||
|
||||
'System' persistent storage is controlled by the TCS and stays
|
||||
valid across all application lifetimes, TCSD restarts and system
|
||||
resets. Data registered in system PS stays valid until an application
|
||||
requests that it be removed. The System PS file by default is
|
||||
/usr/local/var/lib/tpm/system.data. The system PS file is initially
|
||||
created when ownership of the TPM is first taken.
|
||||
|
||||
D) A config file. By default located in /usr/local/etc/tcsd.conf.
|
||||
|
||||
|
||||
RUNNING the TSS
|
||||
|
||||
By default, the TCS daemon is not reachable over the internet, so if
|
||||
you just plan to access it locally, running it as root with a root owned
|
||||
device node is probably ok. Just make sure your device driver is loaded
|
||||
and start the tcsd as root.
|
||||
|
||||
If you would like to run the TCS daemon as an unprivleged user,
|
||||
please follow these instructions:
|
||||
|
||||
If you're using the device driver from a linux 2.6.12+ kernel and have
|
||||
udev enabled, you need to add the following line to your
|
||||
udev.permissions file (usually in /etc/udev somewhere):
|
||||
|
||||
tpm[0-9]:tss:tss:0600
|
||||
|
||||
and then just load the device driver with:
|
||||
# modprobe tpm_atmel
|
||||
or,
|
||||
# modprobe tpm_natl
|
||||
|
||||
start the TCS Core Services daemon, by default /usr/local/sbin/tcsd.
|
||||
# /usr/local/sbin/tcsd
|
||||
|
||||
If you're attempting to make the TCS Core Services daemon communicate with a
|
||||
softwware TPM through TCP, you must call it using the -e option.
|
||||
|
||||
# /usr/local/sbin/tcsd -e
|
||||
|
||||
The default values for hostname, port and UN socket device path are "localhost",
|
||||
"6545" and "/var/run/tpm/tpmd_socket:0". It will search for the IN socket device,
|
||||
then for an UN socket one, and then for the real TPM in this order.
|
||||
The default values match with the current open source project required values, if
|
||||
for instance case you need to set values of your choice, the environment variables
|
||||
for them are TCSD_TCP_DEVICE_HOSTNAME, TCSD_TCP_DEVICE_PORT if using an IN socket
|
||||
and TCSD_UN_SOCKET_DEVICE_PATH if running an UN socket.
|
||||
|
||||
|
||||
DEBUGGING
|
||||
|
||||
If you've compiled trousers with './configure --enable-debug' and would like
|
||||
to turn debugging output off at run-time, set the environment variable
|
||||
TSS_DEBUG_OFF to any value.
|
||||
|
||||
|
||||
BUILDING a TSS RPM
|
||||
|
||||
# sh bootstrap.sh
|
||||
# ./configure
|
||||
# cd ..
|
||||
# mv trousers trousers-${version}
|
||||
# tar zcvf /usr/src/packages/SOURCES/trousers-${version}.tar.gz \
|
||||
trousers-${version}
|
||||
# rpmbuild -bb trousers-${version}/dist/trousers.spec
|
||||
|
||||
EOF
|
|
@ -0,0 +1,58 @@
|
|||
|
||||
How to get TrouSerS up and running with an SELinux policy.
|
||||
Kent Yoder <kyoder@users.sf.net>
|
||||
|
||||
This howto assumes a Fedora Core 4 install.
|
||||
|
||||
1. Install and load the device driver
|
||||
# wget http://download.fedora.redhat.com/pub/fedora/linux/core/4/SRPMS/kernel-2.6.11-1.1369_FC4.src.rpm
|
||||
# rpm -ivh kernel-2.6.11-1.1369_FC4.src.rpm
|
||||
# cd /usr/src/redhat/SPECS
|
||||
# rpmbuild -bp ./kernel-2.6.spec
|
||||
# cd /usr/src/redhat/BUILD/kernel-2.6.11/linux-2.6.11
|
||||
# make menuconfig
|
||||
- Goto Device Drivers > Character Devices > TPM Devices
|
||||
- enable the drivers
|
||||
# make
|
||||
# make modules_install
|
||||
# make install
|
||||
# reboot
|
||||
# modprobe tpm_atmel (or others...)
|
||||
|
||||
2. Build and install trousers in the system location. The SELinux policy assumes
|
||||
that trousers is installed in the system location. To change these, edit
|
||||
the trousers.fc file.
|
||||
|
||||
# tar zxvf trousers-0.2.1.tar.gz
|
||||
# cd trousers-0.2.1
|
||||
# ./configure --prefix=/usr
|
||||
# make
|
||||
# make install
|
||||
|
||||
3. Install the SELinux policy sources
|
||||
|
||||
# yum install selinux-policy-targeted-sources.noarch
|
||||
|
||||
4. Install the trousers te and fc files and load the policy
|
||||
|
||||
# cp ./dist/fedora/trousers.te /etc/selinux/targeted/src/policy/domains/program
|
||||
# cp ./dist/fedora/trousers.fc /etc/selinux/targeted/src/policy/file_contexts/program
|
||||
# cd /etc/selinux/targeted/src/policy
|
||||
# make clean
|
||||
# make reload
|
||||
# make install
|
||||
# make relabel
|
||||
|
||||
At this point, there should be a trousers-specific type for /dev/tpm0:
|
||||
|
||||
# ls -Z /dev/tpm*
|
||||
crw-rw---- root root system_u:object_r:tcsd_device_t /dev/tpm0
|
||||
|
||||
Also, checking the security context of the running tcsd should show it running
|
||||
with the tcsd_t type:
|
||||
|
||||
# ps -Zef |grep tcsd
|
||||
root:system_r:tcsd_t root 16362 1 0 15:10 ? 00:00:00 /usr/sbin/tcsd
|
||||
|
||||
5. That should be it! Send bugs and questions to trousers-users@lists.sf.net.
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
Please see http://sourceforge.net/tracker/?group_id=126012&atid=704361
|
||||
for TrouSerS TODOs.
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,403 @@
|
|||
#
|
||||
# configure.in for the trousers project
|
||||
#
|
||||
|
||||
AC_INIT(trousers, 0.3.8, trousers-tech@lists.sf.net)
|
||||
|
||||
TSS_SPEC_MAJOR=1
|
||||
TSS_SPEC_MINOR=2
|
||||
TSS_VER_MAJOR=0
|
||||
TSS_VER_MINOR=3
|
||||
|
||||
# compute $target
|
||||
AC_CANONICAL_TARGET
|
||||
AM_INIT_AUTOMAKE([foreign 1.6])
|
||||
|
||||
# Debugging support
|
||||
AC_ARG_ENABLE([debug],
|
||||
[AC_HELP_STRING([--enable-debug], [turn on all trousers debugging flags [default=off]])],
|
||||
AC_MSG_RESULT([*** Enabling debugging at user request ***]),)
|
||||
|
||||
# If the user has not set CFLAGS, do something appropriate
|
||||
test_CFLAGS=${CFLAGS+set}
|
||||
if test "$test_CFLAGS" != set; then
|
||||
if test "x$enable_debug" = "xyes"; then
|
||||
CFLAGS="-O0 -g -DTSS_DEBUG -Wreturn-type"
|
||||
# CFLAGS="-O0 -g -DTSS_DEBUG -Wreturn-type -DTCSD_SINGLE_THREAD_DEBUG"
|
||||
else
|
||||
CFLAGS="-O2"
|
||||
fi
|
||||
else
|
||||
if test "x$enable_debug" = "xyes"; then
|
||||
CFLAGS="${CFLAGS} -O0 -g -DTSS_DEBUG -Wreturn-type"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Arch specific stuff
|
||||
case $target in
|
||||
*ppc64* | *powerpc64* | *x86_64*)
|
||||
CFLAGS="$CFLAGS -m64"
|
||||
;;
|
||||
*solaris*)
|
||||
CFLAGS="$CFLAGS -DSOLARIS"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Non-standard OpenSSL location
|
||||
AC_MSG_CHECKING([Non-standard OpenSSL location])
|
||||
AC_ARG_WITH(openssl,
|
||||
AC_HELP_STRING([--with-openssl=PATH], [Location of openssl libs/includes]),
|
||||
[OPENSSL_INCLUDE_DIR="$withval/include"
|
||||
OPENSSL_LIB_DIR="$withval/lib"
|
||||
if [[ ! -d $OPENSSL_INCLUDE_DIR -o ! -d $OPENSSL_LIB_DIR ]]; then
|
||||
AC_MSG_ERROR([$OPENSSL_INCLUDE_DIR or $OPENSSL_LIB_DIR doen't exist!])
|
||||
else
|
||||
AC_MSG_RESULT([yes])
|
||||
CFLAGS="$CFLAGS -L$OPENSSL_LIB_DIR -I$OPENSSL_INCLUDE_DIR"
|
||||
AC_SUBST([OPENSSL_LIB_DIR])
|
||||
fi],
|
||||
[AC_MSG_RESULT([no])
|
||||
AC_SUBST([OPENSSL_LIB_DIR], []) ] )
|
||||
|
||||
# The tspi Makefile will look for trspi/crypto/@CRYPTO_PACKAGE@/crypto.c
|
||||
# Future crypto packages can go in their own subdir of trspi/crypto
|
||||
# and a check for them should be made here
|
||||
AC_CHECK_LIB([crypto], [EVP_DigestUpdate],
|
||||
[CRYPTO_PACKAGE='openssl'],
|
||||
[AC_MSG_ERROR([openssl is currently the only supported crypto library for trousers. Please install openssl from http://www.openssl.org or the -devel package from your distro])])
|
||||
AC_SUBST([CRYPTO_PACKAGE])
|
||||
AC_SUBST(CRYPTOLIB, -lcrypto)
|
||||
|
||||
AC_ARG_ENABLE(gcov,
|
||||
[AC_HELP_STRING([--enable-gcov], [turn on gcov code coverage flags [default=off]])],
|
||||
[CFLAGS="$CFLAGS -ftest-coverage -fprofile-arcs"
|
||||
AC_MSG_RESULT([*** Enabling gcov at user request ***])],)
|
||||
|
||||
# profiling support
|
||||
AC_ARG_ENABLE(gprof,
|
||||
[AC_HELP_STRING([--enable-gprof], [enable profiling with gprof [default=off]])],
|
||||
[CFLAGS="$CFLAGS -pg"
|
||||
AC_MSG_RESULT([*** Enabling profiling at user request ***])],)
|
||||
|
||||
SPEC_COMP=0
|
||||
# strict spec compliance
|
||||
AC_ARG_ENABLE(strict-spec-compliance,
|
||||
[AC_HELP_STRING([--enable-strict-spec-compliance], [build TrouSerS as strictly spec compliant [default=off]])],
|
||||
[CFLAGS="$CFLAGS -DTSS_SPEC_COMPLIANCE"
|
||||
SPEC_COMP=1
|
||||
AC_MSG_RESULT([*** Enabling spec compliance at user request ***])],)
|
||||
|
||||
# daa math lib: gmp or openssl (default openssl)
|
||||
MATH_DEFINE=BI_OPENSSL
|
||||
AC_ARG_WITH([gmp],
|
||||
AC_HELP_STRING([--with-gmp], [build TrouSerS with the GMP math lib (used in DAA)]),
|
||||
[AC_CHECK_LIB(gmp, [__gmp_rand], [], [])
|
||||
AC_CHECK_HEADERS([gmp.h])
|
||||
MATH_DEFINE=BI_GMP
|
||||
AC_MSG_RESULT([*** Enabling GMP lib at user request ***]) ]
|
||||
)
|
||||
|
||||
case "$MATH_DEFINE" in
|
||||
BI_OPENSSL)
|
||||
AC_CHECK_HEADERS([ openssl/bn.h openssl/engine.h])
|
||||
;;
|
||||
esac
|
||||
CFLAGS="$CFLAGS -D$MATH_DEFINE"
|
||||
|
||||
GUI=openssl
|
||||
AC_ARG_WITH(gui,
|
||||
[AC_HELP_STRING([--with-gui], [type of gui popup (gtk/none) [default=gtk]])],
|
||||
[GUI=$withval],
|
||||
[])
|
||||
|
||||
if test "x$GUI" = "xgtk"; then
|
||||
# section imported from Glade compile
|
||||
pkg_modules="gtk+-2.0 >= 2.0.0"
|
||||
PKG_CHECK_MODULES(GTK,
|
||||
[$pkg_modules],
|
||||
AM_CONDITIONAL(HAVE_GTK, true),
|
||||
[AM_CONDITIONAL(HAVE_GTK, false)
|
||||
AC_MSG_ERROR([Please install the gtk2-devel package for your distro or select another gui option.]) ])
|
||||
AM_CONDITIONAL(OPENSSL_UI, false)
|
||||
AC_SUBST(GTK_CFLAGS)
|
||||
AC_SUBST(GTK_LIBS)
|
||||
elif test "x$GUI" = "xopenssl"; then
|
||||
# We know we have OpenSSL
|
||||
AM_CONDITIONAL(OPENSSL_UI, true)
|
||||
AM_CONDITIONAL(HAVE_GTK, false)
|
||||
elif test "x$GUI" = "xnone"; then
|
||||
if test $SPEC_COMP -eq 1; then
|
||||
AC_MSG_ERROR([Popups must be enabled in strict spec compliance mode])
|
||||
fi
|
||||
AC_MSG_RESULT([*** Disabling GUI popups at user request ***])
|
||||
AC_MSG_RESULT([*** WARNING: This may break apps! ***])
|
||||
CFLAGS="$CFLAGS -DTSS_NO_GUI"
|
||||
AM_CONDITIONAL(HAVE_GTK, false)
|
||||
AM_CONDITIONAL(OPENSSL_UI, false)
|
||||
else
|
||||
AC_MSG_ERROR(["gtk", "openssl" and "none" are the only supported gui options for trousers])
|
||||
fi
|
||||
|
||||
#
|
||||
# The default port that the TCS daemon listens on
|
||||
#
|
||||
AC_SUBST(TCSD_DEFAULT_PORT, 30003)
|
||||
#
|
||||
# The RPC mechanism to build into both libtspi and the tcsd
|
||||
#
|
||||
# AC_SUBST(RPC, "soap")
|
||||
AC_SUBST(RPC, "tcstp")
|
||||
|
||||
#
|
||||
# API= The TSS API level to build by default.
|
||||
#
|
||||
# To build a 1.1 TSS, set API=1.1 (./configure --with-api=1.1)
|
||||
# To build a 1.2 TSS, set API=1.2 (./configure --with-api=1.2)
|
||||
#
|
||||
# In order to build a custom TSS API, set API to the lowest API level that
|
||||
# contains the APIs you need. For instance, if you need only APIs that are
|
||||
# a subset of the TSS 1.1 API, set this to 1.1. If you need any of the 1.2
|
||||
# APIs, you'll need to set this to 1.2. Send mail to trousers-tech@lists.sf.net
|
||||
# if you have questions.
|
||||
#
|
||||
API=1.2
|
||||
AC_ARG_WITH(api,
|
||||
[AC_HELP_STRING([--with-api], [Version of the TSS API to build [default=1.2]])],
|
||||
[API=$withval],
|
||||
[])
|
||||
|
||||
if test "x$API" != "x1.1" && test "x$API" != "x1.2"; then
|
||||
AC_MSG_ERROR(["1.1" and "1.2" are the only supported API versions for trousers.
|
||||
Custom API build options are available by editing 'configure.in'.])
|
||||
fi
|
||||
|
||||
if test "x$API" = "x1.1" || test "x$API" = "x1.2"; then
|
||||
# Tspi_Hash_GetHashValue,SetHashValue,UpdateHashValue
|
||||
AM_CONDITIONAL(TSS_BUILD_HASH, true)
|
||||
# Tspi_{Get|Set}Attribdata,{Get|Set}AttribUint32
|
||||
AM_CONDITIONAL(TSS_BUILD_GETSET, true)
|
||||
# Tspi_TPM_GetRandom,StirRandom
|
||||
AM_CONDITIONAL(TSS_BUILD_RANDOM, true)
|
||||
# Tspi_GetCapability (for TSP and TCS capabilities)
|
||||
AM_CONDITIONAL(TSS_BUILD_CAPS, true)
|
||||
# Tspi_TPM_GetCapability (for TPM chip capabilities)
|
||||
AM_CONDITIONAL(TSS_BUILD_CAPS_TPM, true)
|
||||
# Tspi_GetPolicyObject, Tspi_Policy_SetSecret,FlushSecret,AssignToObject
|
||||
AM_CONDITIONAL(TSS_BUILD_POLICY, true)
|
||||
# Tspi_TPM_DirWrite,DirRead
|
||||
AM_CONDITIONAL(TSS_BUILD_DIR, true)
|
||||
# Tspi_TPM_GetEvent,GetEvents,GetEventLog
|
||||
AM_CONDITIONAL(TSS_BUILD_PCR_EVENTS, true)
|
||||
# Tspi_Hash_Sign,VerifySignature
|
||||
AM_CONDITIONAL(TSS_BUILD_SIGN, true)
|
||||
# Tspi_TPM_Quote
|
||||
AM_CONDITIONAL(TSS_BUILD_QUOTE, true)
|
||||
# Tspi_PcrComposite_{Set|Get}PcrValue,SelectPcrIndex
|
||||
AM_CONDITIONAL(TSS_BUILD_PCR_COMP, true)
|
||||
# Tspi_Data_Seal,Unseal
|
||||
AM_CONDITIONAL(TSS_BUILD_SEAL, true)
|
||||
# Tspi_ChangeAuth,ChangeAuthAsym
|
||||
AM_CONDITIONAL(TSS_BUILD_CHANGEAUTH, true)
|
||||
# Tspi_Data_Bind,Unbind
|
||||
AM_CONDITIONAL(TSS_BUILD_BIND, true)
|
||||
# Tspi_TPM_TakeOwnership,ClearOwner (REQ: EK)
|
||||
AM_CONDITIONAL(TSS_BUILD_OWN, true)
|
||||
# Tspi_TPM_CreateEndorsementKey,GetPubEndorsementKey
|
||||
AM_CONDITIONAL(TSS_BUILD_EK, true)
|
||||
# Tspi_Context_RegisterKey,UnregisterKey,LoadKeyByUUID,GetKeyByUUID,GetKeyByPublicInfo,
|
||||
# GetRegisteredKeysByUUID
|
||||
AM_CONDITIONAL(TSS_BUILD_PS, true)
|
||||
# Tspi_TPM_{Set|Get}Status
|
||||
AM_CONDITIONAL(TSS_BUILD_ADMIN, true)
|
||||
# Tspi_TPM_CollateIdentityRequest,ActivateIdentity
|
||||
AM_CONDITIONAL(TSS_BUILD_AIK, true)
|
||||
# Tspi_Key_CertifyKey
|
||||
AM_CONDITIONAL(TSS_BUILD_CERTIFY, true)
|
||||
# Tspi_TPM_CreateMaintenanceArchive,KillMaintenanceFeature,LoadMaintenancePubKey,
|
||||
# CheckMaintenancePubKey
|
||||
AM_CONDITIONAL(TSS_BUILD_MAINT, true)
|
||||
# Tspi_TPM_AuthorizeMigrationTicket,Key_CreateMigrationBlob,ConvertMigrationBlob
|
||||
AM_CONDITIONAL(TSS_BUILD_MIGRATION, true)
|
||||
# Tspi_Context_LoadKeyByBlob,Key_LoadKey,UnloadKey,CreateKey,WrapKey,GetPubKey
|
||||
AM_CONDITIONAL(TSS_BUILD_KEY, true)
|
||||
# Tspi_TPM_PcrExtend,PcrRead,PcrReset
|
||||
AM_CONDITIONAL(TSS_BUILD_PCR_EXTEND, true)
|
||||
# Tspi_TPM_SelfTestFull,CertifySelfTest,GetTestResult
|
||||
AM_CONDITIONAL(TSS_BUILD_SELFTEST, true)
|
||||
fi
|
||||
|
||||
if test "x$API" = "x1.2"; then
|
||||
AM_CONDITIONAL(TSS_BUILD_TSS12, true)
|
||||
# Don't build DAA until the API is fixed - KEY
|
||||
AM_CONDITIONAL(TSS_BUILD_DAA, false)
|
||||
AM_CONDITIONAL(TSS_BUILD_PCR_COMP12, true)
|
||||
AM_CONDITIONAL(TSS_BUILD_COUNTER, true)
|
||||
AM_CONDITIONAL(TSS_BUILD_TICK, true)
|
||||
AM_CONDITIONAL(TSS_BUILD_TRANSPORT, true)
|
||||
AM_CONDITIONAL(TSS_BUILD_ASN1, true)
|
||||
AM_CONDITIONAL(TSS_BUILD_NV, true)
|
||||
AM_CONDITIONAL(TSS_BUILD_AUDIT, true)
|
||||
AM_CONDITIONAL(TSS_BUILD_SEALX, true)
|
||||
AM_CONDITIONAL(TSS_BUILD_DELEGATION, true)
|
||||
AM_CONDITIONAL(TSS_BUILD_QUOTE2,true)
|
||||
# CMK depends on MIGRATION
|
||||
AM_CONDITIONAL(TSS_BUILD_CMK, true)
|
||||
else
|
||||
AM_CONDITIONAL(TSS_BUILD_TSS12, false)
|
||||
AM_CONDITIONAL(TSS_BUILD_DAA, false)
|
||||
AM_CONDITIONAL(TSS_BUILD_PCR_COMP12, false)
|
||||
AM_CONDITIONAL(TSS_BUILD_COUNTER, false)
|
||||
AM_CONDITIONAL(TSS_BUILD_TICK, false)
|
||||
AM_CONDITIONAL(TSS_BUILD_TRANSPORT, false)
|
||||
AM_CONDITIONAL(TSS_BUILD_ASN1, false)
|
||||
AM_CONDITIONAL(TSS_BUILD_NV, false)
|
||||
AM_CONDITIONAL(TSS_BUILD_AUDIT, false)
|
||||
AM_CONDITIONAL(TSS_BUILD_SEALX, false)
|
||||
AM_CONDITIONAL(TSS_BUILD_DELEGATION, false)
|
||||
AM_CONDITIONAL(TSS_BUILD_QUOTE2,false)
|
||||
AM_CONDITIONAL(TSS_BUILD_CMK, false)
|
||||
fi
|
||||
|
||||
#
|
||||
# There's no need to edit anything below, these conditionals control the building
|
||||
# of files that support the files above, which all contain TSS APIs
|
||||
#
|
||||
AM_CONDITIONAL(TSS_BUILD_NV_LIST, test -z $TSS_BUILD_NV_TRUE)
|
||||
AM_CONDITIONAL(TSS_BUILD_NV_SUPPORT, test -z $TSS_BUILD_NV_TRUE)
|
||||
AM_CONDITIONAL(TSS_BUILD_GET_FLAGS, test -z $TSS_BUILD_ADMIN_TRUE || \
|
||||
test -z $TSS_BUILD_CAPS_TPM_TRUE)
|
||||
AM_CONDITIONAL(TSS_BUILD_PCRS_LIST, test -z $TSS_BUILD_SEAL_TRUE || \
|
||||
test -z $TSS_BUILD_QUOTE_TRUE || \
|
||||
test -z $TSS_BUILD_PCRS_TRUE || \
|
||||
test -z $TSS_BUILD_PCR_COMP_TRUE || \
|
||||
test -z $TSS_BUILD_SEALX_TRUE)
|
||||
AM_CONDITIONAL(TSS_BUILD_HASH_LIST, test -z $TSS_BUILD_SIGN_TRUE || test -z $TSS_BUILD_HASH_TRUE)
|
||||
AM_CONDITIONAL(TSS_BUILD_ENCDATA_LIST, test -z $TSS_BUILD_SEAL_TRUE || \
|
||||
test -z $TSS_BUILD_CHANGEAUTH_TRUE || \
|
||||
test -z $TSS_BUILD_BIND_TRUE || \
|
||||
test -z $TSS_BUILD_SEALX_TRUE)
|
||||
AM_CONDITIONAL(TSS_BUILD_RSAKEY_LIST, test -z $TSS_BUILD_ADMIN_TRUE || \
|
||||
test -z $TSS_BUILD_EK_TRUE || \
|
||||
test -z $TSS_BUILD_MIGRATION_TRUE || \
|
||||
test -z $TSS_BUILD_MAINT_TRUE || \
|
||||
test -z $TSS_BUILD_CERTIFY_TRUE || \
|
||||
test -z $TSS_BUILD_AIK_TRUE || \
|
||||
test -z $TSS_BUILD_QUOTE_TRUE || \
|
||||
test -z $TSS_BUILD_BIND_TRUE || \
|
||||
test -z $TSS_BUILD_CHANGEAUTH_TRUE || \
|
||||
test -z $TSS_BUILD_OWN_TRUE || \
|
||||
test -z $TSS_BUILD_SIGN_TRUE || \
|
||||
test -z $TSS_BUILD_PS_TRUE || \
|
||||
test -z $TSS_BUILD_SEAL_TRUE || \
|
||||
test -z $TSS_BUILD_DAA_TRUE || \
|
||||
test -z $TSS_BUILD_KEY_TRUE || \
|
||||
test -z $TSS_BUILD_SEALX_TRUE)
|
||||
AM_CONDITIONAL(TSS_BUILD_AUTH, test -z $TSS_BUILD_HASH_TRUE || \
|
||||
test -z $TSS_BUILD_CAPS_TRUE || \
|
||||
test -z $TSS_BUILD_CAPS_TPM_TRUE || \
|
||||
test -z $TSS_BUILD_POLICY_TRUE || \
|
||||
test -z $TSS_BUILD_DIR_TRUE || \
|
||||
test -z $TSS_BUILD_PCR_EVENTS_TRUE || \
|
||||
test -z $TSS_BUILD_SIGN_TRUE || \
|
||||
test -z $TSS_BUILD_QUOTE_TRUE || \
|
||||
test -z $TSS_BUILD_PCR_COMP_TRUE || \
|
||||
test -z $TSS_BUILD_SEAL_TRUE || \
|
||||
test -z $TSS_BUILD_SEALX_TRUE || \
|
||||
test -z $TSS_BUILD_CHANGEAUTH_TRUE || \
|
||||
test -z $TSS_BUILD_BIND_TRUE || \
|
||||
test -z $TSS_BUILD_OWN_TRUE || \
|
||||
test -z $TSS_BUILD_PS_TRUE || \
|
||||
test -z $TSS_BUILD_ADMIN_TRUE || \
|
||||
test -z $TSS_BUILD_AIK_TRUE || \
|
||||
test -z $TSS_BUILD_EK_TRUE || \
|
||||
test -z $TSS_BUILD_CERTIFY_TRUE || \
|
||||
test -z $TSS_BUILD_MAINT_TRUE || \
|
||||
test -z $TSS_BUILD_MIGRATION_TRUE || \
|
||||
test -z $TSS_BUILD_KEY_TRUE || \
|
||||
test -z $TSS_BUILD_PCR_EXTEND_TRUE || \
|
||||
test -z $TSS_BUILD_SELFTEST_TRUE || \
|
||||
test -z $TSS_BUILD_DAA_TRUE)
|
||||
AM_CONDITIONAL(TSS_BUILD_ASYM_CRYPTO, test -z $TSS_BUILD_AIK_TRUE || \
|
||||
test -z $TSS_BUILD_CERTIFY_TRUE || \
|
||||
test -z $TSS_BUILD_QUOTE_TRUE || \
|
||||
test -z $TSS_BUILD_EK_TRUE || \
|
||||
test -z $TSS_BUILD_CHANGEAUTH_TRUE || \
|
||||
test -z $TSS_BUILD_BIND_TRUE || \
|
||||
test -z $TSS_BUILD_OWN_TRUE || \
|
||||
test -z $TSS_BUILD_SELFTEST_TRUE || \
|
||||
test -z $TSS_BUILD_SIGN_TRUE || \
|
||||
test -z $TSS_BUILD_KEY_TRUE || \
|
||||
test -z $TSS_BUILD_DAA_TRUE)
|
||||
AM_CONDITIONAL(TSS_BUILD_SYM_CRYPTO, test -z $TSS_BUILD_AIK_TRUE || \
|
||||
test -z $TSS_BUILD_TRANSPORT_TRUE)
|
||||
|
||||
#GETTEXT_PACKAGE=trousers
|
||||
#AC_SUBST(GETTEXT_PACKAGE)
|
||||
#AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
|
||||
|
||||
dnl Add the languages which your application supports here.
|
||||
#ALL_LINGUAS=""
|
||||
#AM_GLIB_GNU_GETTEXT
|
||||
|
||||
# end Glade section
|
||||
|
||||
AC_CHECK_HEADER(pthread.h, [AC_DEFINE(HAVE_PTHREAD_H, 1, [pthread header])])
|
||||
|
||||
AC_DISABLE_STATIC
|
||||
AC_PROG_CC
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
AC_C_BIGENDIAN([AC_DEFINE(_BIG_ENDIAN, 1, [big-endian host])])
|
||||
AC_CHECK_DECL(htole32, [AC_DEFINE(HTOLE_DEFINED, 1, [htole32 function is available])])
|
||||
AC_CHECK_HEADER(sys/byteorder.h, [AC_DEFINE(HAVE_BYTEORDER_H, 1, [sys/byteorder.h header])])
|
||||
AC_CHECK_FUNC(daemon, [ AC_DEFINE(HAVE_DAEMON, 1, [daemon function is available]) ])
|
||||
|
||||
if test "x${GCC}" = "xyes"; then
|
||||
CFLAGS="$CFLAGS -W -Wall -Werror -Wno-unused-parameter -Wsign-compare"
|
||||
fi
|
||||
|
||||
CFLAGS="$CFLAGS -I../include \
|
||||
-DTCSD_DEFAULT_PORT=${TCSD_DEFAULT_PORT} -DTSS_VER_MAJOR=${TSS_VER_MAJOR} \
|
||||
-DTSS_VER_MINOR=${TSS_VER_MINOR} -DTSS_SPEC_MAJOR=${TSS_SPEC_MAJOR} \
|
||||
-DTSS_SPEC_MINOR=${TSS_SPEC_MINOR}"
|
||||
#CFLAGS="$CFLAGS -I../include -std=c99 -pedantic -W -Wall"
|
||||
KERNEL_VERSION=`uname -r`
|
||||
AC_SUBST(CFLAGS)
|
||||
|
||||
# When we build the rpms, prefix will be /usr. This'll do some things that make sense,
|
||||
# like put our sbin stuff in /usr/sbin and our library in /usr/lib. It'll do some other
|
||||
# things that don't make sense like put our config file in /usr/etc. So, I'll just hack
|
||||
# it here. If the --prefix option isn't specified during configure, let it all go to
|
||||
# /usr/local, even /usr/local/etc. :-P
|
||||
if test x"${prefix}" = x"/usr"; then
|
||||
sysconfdir="/etc"
|
||||
localstatedir="/var"
|
||||
mandir="/usr/share/man"
|
||||
elif test x"${prefix}" = x"NONE"; then
|
||||
localstatedir="/usr/local/var"
|
||||
fi
|
||||
|
||||
AC_OUTPUT(dist/tcsd.conf \
|
||||
dist/fedora/trousers.spec \
|
||||
dist/trousers.spec \
|
||||
Makefile \
|
||||
src/Makefile \
|
||||
src/include/Makefile \
|
||||
src/tcs/Makefile \
|
||||
src/tddl/Makefile \
|
||||
src/tspi/Makefile \
|
||||
src/trspi/Makefile \
|
||||
src/tcsd/Makefile \
|
||||
tools/Makefile \
|
||||
man/man8/tcsd.8 \
|
||||
man/man5/tcsd.conf.5 \
|
||||
dist/Makefile \
|
||||
man/Makefile \
|
||||
man/man3/Makefile \
|
||||
man/man5/Makefile \
|
||||
man/man8/Makefile)
|
||||
|
||||
echo "CFLAGS=$CFLAGS"
|
||||
|
|
@ -0,0 +1,630 @@
|
|||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2009-04-28.21; # UTC
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
|
||||
# Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||
as side-effects.
|
||||
|
||||
Environment variables:
|
||||
depmode Dependency tracking mode.
|
||||
source Source file read by `PROGRAMS ARGS'.
|
||||
object Object file output by `PROGRAMS ARGS'.
|
||||
DEPDIR directory where to store dependencies.
|
||||
depfile Dependency file to output.
|
||||
tmpdepfile Temporary file to use when outputing dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||
depfile=${depfile-`echo "$object" |
|
||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
cygpath_u="cygpath -u -f -"
|
||||
if test "$depmode" = msvcmsys; then
|
||||
# This is just like msvisualcpp but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u="sed s,\\\\\\\\,/,g"
|
||||
depmode=msvisualcpp
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||
## the command line argument order; so add the flags where they
|
||||
## appear in depend2.am. Note that the slowdown incurred here
|
||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||
*) set fnord "$@" "$arg" ;;
|
||||
esac
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
done
|
||||
"$@"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say).
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
||||
## The second -e expression handles DOS-style file names with drive letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the `deleted header file' problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" |
|
||||
## Some versions of gcc put a space before the `:'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like `#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||
tr '
|
||||
' ' ' >> "$depfile"
|
||||
echo >> "$depfile"
|
||||
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$base.u
|
||||
tmpdepfile3=$dir.libs/$base.u
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$dir$base.u
|
||||
tmpdepfile3=$dir$base.u
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
# Each line is of the form `foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
icc)
|
||||
# Intel's C compiler understands `-MD -MF file'. However on
|
||||
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
||||
# ICC 7.0 will fill foo.d with something like
|
||||
# foo.o: sub/foo.c
|
||||
# foo.o: sub/foo.h
|
||||
# which is wrong. We want:
|
||||
# sub/foo.o: sub/foo.c
|
||||
# sub/foo.o: sub/foo.h
|
||||
# sub/foo.c:
|
||||
# sub/foo.h:
|
||||
# ICC 7.1 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using \ :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
|
||||
sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp2)
|
||||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||
# compilers, which have integrated preprocessors. The correct option
|
||||
# to use with these is +Maked; it writes dependencies to a file named
|
||||
# 'foo.d', which lands next to the object file, wherever that
|
||||
# happens to be.
|
||||
# Much of this is similar to the tru64 case; see comments there.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir.libs/$base.d
|
||||
"$@" -Wc,+Maked
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
"$@" +Maked
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add `dependent.h:' lines.
|
||||
sed -ne '2,${
|
||||
s/^ *//
|
||||
s/ \\*$//
|
||||
s/$/:/
|
||||
p
|
||||
}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in `foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# With Tru64 cc, shared objects can also be used to make a
|
||||
# static library. This mechanism is used in libtool 1.4 series to
|
||||
# handle both shared and static libraries in a single compilation.
|
||||
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
||||
#
|
||||
# With libtool 1.5 this exception was removed, and libtool now
|
||||
# generates 2 separate objects for the 2 libraries. These two
|
||||
# compilations output dependencies in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||
# the former would cause a distcleancheck panic.
|
||||
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
|
||||
tmpdepfile2=$dir$base.o.d # libtool 1.5
|
||||
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
|
||||
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.o.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
tmpdepfile4=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for `:'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no eat=no
|
||||
for arg
|
||||
do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
if test $eat = yes; then
|
||||
eat=no
|
||||
continue
|
||||
fi
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-arch)
|
||||
eat=yes ;;
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix=`echo "$object" | sed 's/^.*\././'`
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
||||
' | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E |
|
||||
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E 2>/dev/null |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||
echo " " >> "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvcmsys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
|
@ -0,0 +1,17 @@
|
|||
EXTRA_DIST = system.data.auth system.data.noauth \
|
||||
fedora/fedora.initrd.tcsd
|
||||
install: install-exec-hook
|
||||
if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
|
||||
/bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
|
||||
/bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
|
||||
|
||||
install-exec-hook:
|
||||
/usr/sbin/groupadd tss || true
|
||||
/usr/sbin/useradd -r tss -g tss || true
|
||||
/bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
|
||||
/bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
|
||||
/bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
|
||||
|
||||
uninstall-hook:
|
||||
/usr/sbin/userdel tss || true
|
||||
/usr/sbin/groupdel tss || true
|
|
@ -0,0 +1,386 @@
|
|||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
|
||||
# Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
subdir = dist
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/tcsd.conf.in $(srcdir)/trousers.spec.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES = tcsd.conf trousers.spec
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CRYPTOLIB = @CRYPTOLIB@
|
||||
CRYPTO_PACKAGE = @CRYPTO_PACKAGE@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GREP = @GREP@
|
||||
GTK_CFLAGS = @GTK_CFLAGS@
|
||||
GTK_LIBS = @GTK_LIBS@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OPENSSL_LIB_DIR = @OPENSSL_LIB_DIR@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
RPC = @RPC@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TCSD_DEFAULT_PORT = @TCSD_DEFAULT_PORT@
|
||||
VERSION = @VERSION@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
lt_ECHO = @lt_ECHO@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
target_cpu = @target_cpu@
|
||||
target_os = @target_os@
|
||||
target_vendor = @target_vendor@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
EXTRA_DIST = system.data.auth system.data.noauth \
|
||||
fedora/fedora.initrd.tcsd
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign dist/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign dist/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
tcsd.conf: $(top_builddir)/config.status $(srcdir)/tcsd.conf.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
trousers.spec: $(top_builddir)/config.status $(srcdir)/trousers.spec.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile
|
||||
installdirs:
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
@$(NORMAL_INSTALL)
|
||||
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
@$(NORMAL_INSTALL)
|
||||
$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
|
||||
.MAKE: install-am install-exec-am install-strip uninstall-am
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
distclean distclean-generic distclean-libtool distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-exec-hook install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
uninstall uninstall-am uninstall-hook
|
||||
|
||||
install: install-exec-hook
|
||||
if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
|
||||
/bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
|
||||
/bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
|
||||
|
||||
install-exec-hook:
|
||||
/usr/sbin/groupadd tss || true
|
||||
/usr/sbin/useradd -r tss -g tss || true
|
||||
/bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
|
||||
/bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
|
||||
/bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
|
||||
|
||||
uninstall-hook:
|
||||
/usr/sbin/userdel tss || true
|
||||
/usr/sbin/groupdel tss || true
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,110 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Init file for the TrouSerS TCG Core Services daemon
|
||||
#
|
||||
# chkconfig: - 90 10
|
||||
# description: TrouSerS server daemon
|
||||
#
|
||||
# processname: tcsd
|
||||
# config: /etc/tcsd.conf
|
||||
# pidfile: /var/run/tcsd.pid
|
||||
#
|
||||
# Return values according to LSB for all commands but status:
|
||||
# 0 - success
|
||||
# 1 - generic or unspecified error
|
||||
# 2 - invalid or excess argument(s)
|
||||
# 3 - unimplemented feature (e.g. "reload")
|
||||
# 4 - insufficient privilege
|
||||
# 5 - program is not installed
|
||||
# 6 - program is not configured
|
||||
# 7 - program is not running
|
||||
#
|
||||
|
||||
prog="tcsd"
|
||||
|
||||
# source function library
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
# Allow anyone to run status
|
||||
if [ "$1" = "status" ] ; then
|
||||
status $prog
|
||||
RETVAL=$?
|
||||
exit $RETVAL
|
||||
fi
|
||||
|
||||
# Check that we are root ... so non-root users stop here
|
||||
test $EUID = 0 || exit 4
|
||||
|
||||
# pull in sysconfig settings
|
||||
test -f /etc/sysconfig/tcsd && . /etc/sysconfig/tcsd
|
||||
|
||||
RETVAL=0
|
||||
|
||||
# Some variables to make the below more readable
|
||||
TCSD=/usr/sbin/tcsd
|
||||
PID_FILE=/var/run/tcsd.pid
|
||||
INSMOD=/sbin/insmod
|
||||
LSMOD=/sbin/lsmod
|
||||
GREP=/bin/grep
|
||||
|
||||
load_drivers()
|
||||
{
|
||||
for d in `echo /lib/modules/$(uname -r)/kernel/drivers/char/tpm/tpm_*`; do
|
||||
$INSMOD $d
|
||||
if test $? -eq 0; then
|
||||
break;
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
check_drivers()
|
||||
{
|
||||
$LSMOD | $GREP tpm_
|
||||
}
|
||||
|
||||
start()
|
||||
{
|
||||
test -x $TCSD || exit 5
|
||||
test -f /etc/tcsd.conf || exit 6
|
||||
check_drivers || load_drivers || failure
|
||||
echo -n $"Starting $prog: "
|
||||
$TCSD $OPTIONS && success || failure
|
||||
RETVAL=$?
|
||||
[ "$RETVAL" = 0 ] && touch /var/lock/subsys/tcsd
|
||||
echo
|
||||
}
|
||||
|
||||
stop()
|
||||
{
|
||||
echo -n $"Stopping $prog: "
|
||||
killproc $prog
|
||||
RETVAL=$?
|
||||
[ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/tcsd
|
||||
echo
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
test -f /etc/tcsd.conf || exit 6
|
||||
stop
|
||||
start
|
||||
;;
|
||||
reload|force-reload)
|
||||
restart
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
if [ -f /var/lock/subsys/tcsd ] ; then
|
||||
restart
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|restart|reload|force-reload|condrestart|try-restart|status}"
|
||||
RETVAL=3
|
||||
esac
|
||||
exit $RETVAL
|
|
@ -0,0 +1,121 @@
|
|||
|
||||
# RPM specfile for the trousers project on Fedora
|
||||
|
||||
%define name @PACKAGE@
|
||||
%define version @VERSION@
|
||||
%define release 1
|
||||
|
||||
Name: %{name}
|
||||
Summary: Implementation of the TCG's Software Stack v1.1 Specification
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
License: CPL
|
||||
Group: Development/Libraries
|
||||
Source: %{name}-%{version}.tar.gz
|
||||
Url: http://www.sf.net/projects/trousers
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: libtool, gtk2-devel, openssl-devel
|
||||
Requires: gtk+ >= 2.0, openssl
|
||||
Requires(post): /sbin/ldconfig
|
||||
Requires(post): /sbin/chkconfig
|
||||
Requires(postun): /sbin/ldconfig
|
||||
Requires(postun): /sbin/service
|
||||
Requires(preun): /sbin/chkconfig
|
||||
Requires(preun): /sbin/service
|
||||
|
||||
%description
|
||||
TrouSerS is an implementation of the Trusted Computing Group's Software Stack
|
||||
(TSS) specification. You can use TrouSerS to write applications that make use
|
||||
of your TPM hardware. TPM hardware can create, store and use RSA keys
|
||||
securely (without ever being exposed in memory), verify a platform's software
|
||||
state using cryptographic hashes and more.
|
||||
|
||||
%package devel
|
||||
Summary: TrouSerS header files and documentation
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
Header files and man pages for use in creating Trusted Computing enabled
|
||||
applications.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
autoreconf
|
||||
%configure --disable-static --prefix=/usr --libdir=%{_libdir}
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%clean
|
||||
[ "${RPM_BUILD_ROOT}" != "/" ] && [ -d ${RPM_BUILD_ROOT} ] && rm -rf ${RPM_BUILD_ROOT};
|
||||
|
||||
#
|
||||
# $1 is the number of entries in the RPM database for the package after the step is
|
||||
# executed. So in the post step, if $1 is 1, then this is the first time we've been
|
||||
# installed. If its 2, we're upgrading.
|
||||
#
|
||||
%post
|
||||
/sbin/ldconfig
|
||||
if [ $1 = 1 ]; then
|
||||
/sbin/chkconfig --add tcsd
|
||||
if [ $? == 0 ]; then
|
||||
/sbin/chkconfig --level 35 tcsd on
|
||||
fi
|
||||
fi
|
||||
|
||||
%post devel -p /sbin/ldconfig
|
||||
|
||||
%install
|
||||
# This line keeps build machines from being affected
|
||||
[ "${RPM_BUILD_ROOT}" != "/" ] && [ -d ${RPM_BUILD_ROOT} ] && rm -rf ${RPM_BUILD_ROOT};
|
||||
mkdir -p ${RPM_BUILD_ROOT}
|
||||
mkdir -p ${RPM_BUILD_ROOT}/%{_initrddir}
|
||||
cp dist/fedora/fedora.initrd.tcsd ${RPM_BUILD_ROOT}/%{_initrddir}/tcsd
|
||||
make install DESTDIR=${RPM_BUILD_ROOT}
|
||||
rm -f ${RPM_BUILD_ROOT}/%{_libdir}/libtspi.la
|
||||
|
||||
%preun
|
||||
if [ $1 = 0 ]; then
|
||||
/sbin/service tcsd stop &> /dev/null
|
||||
/sbin/chkconfig --del tcsd
|
||||
fi
|
||||
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
if [ $1 -gt 1 ]; then
|
||||
/sbin/service tcsd condrestart &>/dev/null
|
||||
fi
|
||||
|
||||
%postun devel -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%doc README AUTHORS LICENSE
|
||||
%defattr(755, root, root)
|
||||
%attr(755, tss, tss) %{_sbindir}/tcsd
|
||||
%{_libdir}/libtspi.so.?
|
||||
%{_libdir}/libtspi.so.?.?.?
|
||||
%config(noreplace) %attr(600, tss, tss) %{_sysconfdir}/tcsd.conf
|
||||
%attr(644, root, root) %{_mandir}/man5/*
|
||||
%attr(644, root, root) %{_mandir}/man8/*
|
||||
%{_initrddir}/tcsd
|
||||
|
||||
# The files to be used by developers, 'trousers-devel'
|
||||
%files devel
|
||||
%attr(755, root, root) %{_libdir}/libtspi.so
|
||||
%defattr(644, root, root)
|
||||
%{_libdir}/libtddl.a
|
||||
%{_includedir}/tss/*.h
|
||||
%{_includedir}/trousers/*.h
|
||||
%{_mandir}/man3/Tspi_*
|
||||
|
||||
%changelog
|
||||
* Mon Nov 12 2007 Kent Yoder <kyoder@users.sf.net> - 0.3.1
|
||||
- Updated specfile for comments in RHBZ#323441
|
||||
|
||||
* Wed Jun 07 2006 Kent Yoder <kyoder@users.sf.net> - 0.2.6-1
|
||||
- Updated build section to use smp_mflags
|
||||
- Removed .la file from installed dest and files section
|
||||
|
||||
* Tue Jun 06 2006 Kent Yoder <kyoder@users.sf.net> - 0.2.6-1
|
||||
- Initial add of changelog tag for trousers CVS
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,170 @@
|
|||
|
||||
#
|
||||
# This is the configuration file for the trousers tcsd. (The Trusted Computing
|
||||
# Software Stack Core Services Daemon).
|
||||
#
|
||||
# Defaults are listed below, commented out
|
||||
#
|
||||
# Send questions to: trousers-users@lists.sourceforge.net
|
||||
#
|
||||
|
||||
# Option: port
|
||||
# Values: 1 - 65535
|
||||
# Description: The port that the tcsd will listen on.
|
||||
#
|
||||
# port = 30003
|
||||
#
|
||||
|
||||
# Option: num_threads
|
||||
# Values: 1 - 65535
|
||||
# Description: The number of threads that the tcsd will spawn internally.
|
||||
#
|
||||
# num_threads = 10
|
||||
#
|
||||
|
||||
# Option: system_ps_file
|
||||
# Values: Any absolute directory path
|
||||
# Description: Path where the tcsd creates its persistent storage file.
|
||||
#
|
||||
# system_ps_file = @localstatedir@/lib/tpm/system.data
|
||||
#
|
||||
|
||||
# Option: firmware_log_file
|
||||
# Values: Any absolute directory path
|
||||
# Description: Path to the file containing the current firmware PCR event
|
||||
# log data. The interface to this log is usually provided by the TPM
|
||||
# device driver.
|
||||
#
|
||||
# firmware_log_file = /sys/kernel/security/tpm0/binary_bios_measurements
|
||||
#
|
||||
|
||||
# Option: kernel_log_file
|
||||
# Values: Any absolute directory path
|
||||
# Description: Path to the file containing the current kernel PCR event
|
||||
# log data. By default, this data will be parsed in the format provided
|
||||
# by the Integrity Measurement Architecture LSM. See
|
||||
# http://sf.net/projects/linux-ima for more info on getting IMA.
|
||||
#
|
||||
#
|
||||
# kernel_log_file = /sys/kernel/security/ima/binary_runtime_measurements
|
||||
#
|
||||
|
||||
# Option: firmware_pcrs
|
||||
# Values: PCR indices, separated by commas (no whitespace)
|
||||
# Description: A list of PCR indices that are manipulated only by the system
|
||||
# firmware and therefore are not extended or logged by the TCSD.
|
||||
#
|
||||
# firmware_pcrs =
|
||||
#
|
||||
|
||||
# Option: kernel_pcrs
|
||||
# Values: PCR indices, separated by commas (no whitespace)
|
||||
# Description: A list of PCR indices that are manipulated only by the kernel
|
||||
# and therefore are not extended or logged by the TCSD.
|
||||
#
|
||||
# kernel_pcrs =
|
||||
#
|
||||
|
||||
# Option: platform_cred
|
||||
# Values: Any absolute directory path (example: /path/to/platform.cert)
|
||||
# Description: Path to the file containing your TPM's platform credential.
|
||||
# The platform credential may have been provided to you by your TPM
|
||||
# manufacturer. If so, set platform_cred to the path to the file on disk.
|
||||
# Whenever a new TPM identity is created, the credential will be used. See
|
||||
# Tspi_TPM_CollateIdentityRequest(3) for more information.
|
||||
#
|
||||
# platform_cred =
|
||||
#
|
||||
|
||||
# Option: conformance_cred
|
||||
# Values: Any absolute directory path (example: /path/to/conformance.cert)
|
||||
# Description: Path to the file containing your TPM's conformance credential.
|
||||
# The conformance credential may have been provided to you by your TPM
|
||||
# manufacturer. If so, set conformance_cred to the path to the file on disk.
|
||||
# Whenever a new TPM identity is created, the credential will be used. See
|
||||
# Tspi_TPM_CollateIdentityRequest(3) for more information.
|
||||
#
|
||||
# conformance_cred =
|
||||
#
|
||||
|
||||
# Option: endorsement_cred
|
||||
# Values: Any absolute directory path (example: /path/to/endorsement.cert)
|
||||
# Description: Path to the file containing your TPM's endorsement credential.
|
||||
# The endorsement credential may have been provided to you by your TPM
|
||||
# manufacturer. If so, set endorsement_cred to the path to the file on disk.
|
||||
# Whenever a new TPM identity is created, the credential will be used. See
|
||||
# Tspi_TPM_CollateIdentityRequest(3) for more information.
|
||||
#
|
||||
# endorsement_cred =
|
||||
#
|
||||
|
||||
# Option: remote_ops
|
||||
# Values: TCS operation names, separated by commas (no whitespace)
|
||||
# Description: A list of TCS commands which will be allowed to be executed
|
||||
# on this machine's TCSD by TSP's on non-local hosts (over the internet).
|
||||
# By default, access to all operations is denied.
|
||||
#
|
||||
# possible values: seal - encrypt data bound to PCR values
|
||||
# unseal - decrypt data bound to PCR values
|
||||
# registerkey - store keys in system persistent storage [Disk write access!]
|
||||
# unregisterkey - remove keys from system persistent storage [Disk write access!]
|
||||
# loadkey - load a key into the TPM
|
||||
# createkey - create a key using the TPM
|
||||
# sign - encrypt data using a private key
|
||||
# random - generate random numbers
|
||||
# getcapability - query the TCS/TPM for its capabilities
|
||||
# unbind - decrypt data
|
||||
# quote - request a signed blob containing all PCR values
|
||||
# readpubek - access the TPM's Public EndorsementKey
|
||||
# getregisteredkeybypublicinfo - Search system persistent storage for a public key
|
||||
# getpubkey - Retrieve a loaded key's public data from inside the TPM
|
||||
# selftest - execute selftest and test results ordinals
|
||||
#
|
||||
# remote_ops =
|
||||
#
|
||||
|
||||
# Option: enforce_exclusive_transport
|
||||
# Values: 0 or 1
|
||||
# Description: When an application opens a transport session with the TPM, one
|
||||
# of the options available is an "exclusive" session, meaning that the TPM
|
||||
# will not execute any commands other than those coming through the transport
|
||||
# session for the lifetime of the session. The TCSD can choose to enforce this
|
||||
# option or not. By default, exclusive sessions are not enforced, since this
|
||||
# could allow for a denial of service to the TPM.
|
||||
#
|
||||
# enforce_exclusive_transport = 0
|
||||
#
|
||||
|
||||
# Option: host_platform_class
|
||||
# Values: One of the TCG platform class specifications
|
||||
# PC_11 - PC Client System, version 1.1
|
||||
# PC_12 - PC Client System, version 1.2
|
||||
# PDA_12 - PDA System, version 1.2
|
||||
# SERVER_12 - Server System, version 1.2
|
||||
# MOBILE_12 - Mobile Phone System, version 1.2
|
||||
#
|
||||
# Description: This option determines the host platform (host the TCS system
|
||||
# is running on) class, among those specified by the Trusted Computing group
|
||||
# on https://www.trustedcomputinggroup.org/specs/. This class will be reported
|
||||
# by the TCS daemon when an application queries it using the
|
||||
# TSS_TCSCAP_PROP_HOST_PLATFORM sub-capability. The default is PC_12.
|
||||
#
|
||||
# host_platform_class = PC_12
|
||||
#
|
||||
|
||||
# Option: all_platform_classes
|
||||
# Values: TCG Platform class names, separated by commas (no whitespaces)
|
||||
# PC_11 - PC Client System, version 1.1
|
||||
# PC_12 - PC Client System, version 1.2
|
||||
# PDA_12 - PDA System, version 1.2
|
||||
# SERVER_12 - Server System, version 1.2
|
||||
# MOBILE_12 - Mobile Phone System, version 1.2
|
||||
#
|
||||
# Description: This option determines all the platform classes supported by the
|
||||
# TCS daemon. This list must not include the value set as "host_platform_class"
|
||||
# specified above. Since by default TrouSerS supports all TPM 1.2 functionality,
|
||||
# the default is all 1.2 and 1.1 platform classes.
|
||||
#
|
||||
# all_platform_classes = PC_11,PDA_12,SERVER_12,MOBILE_12
|
||||
#
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
|
||||
%define name @PACKAGE@
|
||||
%define version @VERSION@
|
||||
%define release 1
|
||||
|
||||
%ifarch ppc64 x86_64 ia64 s390x
|
||||
%define arch64 1
|
||||
%define packages64 cairo-devel-64bit, glitz-devel-64bit, fontconfig-devel-64bit, freetype2-devel-64bit, xorg-x11-devel-64bit, libpng-devel-64bit
|
||||
%define pkgconfig_path /opt/gnome/lib64/pkgconfig:/usr/lib64/pkgconfig
|
||||
%endif
|
||||
|
||||
# RPM specfile for the trousers project
|
||||
|
||||
Name: %{name}
|
||||
Summary: Implementation of the TCG's Software Stack v1.1 Specification
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
License: CPL
|
||||
Group: Productivity/Security
|
||||
Source: %{name}-%{version}.tar.gz
|
||||
Url: http://www.sf.net/projects/trousers
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
PreReq: /usr/sbin/groupadd /usr/sbin/useradd /bin/chown
|
||||
Requires: gtk+ >= 2.0, openssl
|
||||
BuildRequires: gtk+ >= 2.0, openssl %{?arch64:,%{packages64}}
|
||||
|
||||
%description
|
||||
TrouSerS is an implementation of the Trusted Computing Group's Software Stack
|
||||
(TSS) specification. You can use TrouSerS to write applications that make use
|
||||
of your TPM hardware. TPM hardware can create, store and use RSA keys
|
||||
securely (without ever being exposed in memory), verify a platform's software
|
||||
state using cryptographic hashes and more.
|
||||
|
||||
%package devel
|
||||
Summary: TrouSerS header files and documentation
|
||||
Group: Productivity/Security
|
||||
Requires: trousers
|
||||
|
||||
%description devel
|
||||
Header files and man pages for use in creating Trusted Computing enabled
|
||||
applications.
|
||||
|
||||
%prep
|
||||
%setup
|
||||
|
||||
%build
|
||||
%{?arch64:export PKG_CONFIG_PATH=%{pkgconfig_path}:$PKG_CONFIG_PATH}
|
||||
./configure --prefix=/usr --libdir=%{_libdir}
|
||||
make
|
||||
|
||||
%clean
|
||||
[ "${RPM_BUILD_ROOT}" != "/" ] && [ -d ${RPM_BUILD_ROOT} ] && rm -rf ${RPM_BUILD_ROOT};
|
||||
|
||||
%pre
|
||||
# add group tss
|
||||
/usr/sbin/groupadd tss || {
|
||||
RC=$?
|
||||
case $RC in
|
||||
9) # group 'tss' already exists
|
||||
;;
|
||||
*) # some other error; fail
|
||||
echo "Couldn't create group 'tss'. Exiting."
|
||||
exit $RC;;
|
||||
esac
|
||||
}
|
||||
# add user tss
|
||||
/usr/sbin/useradd -r tss || {
|
||||
RC=$?
|
||||
case $RC in
|
||||
9) # user 'tss' already exists
|
||||
;;
|
||||
*) # some other error; fail
|
||||
echo "Couldn't create user 'tss'. Exiting."
|
||||
exit $RC;;
|
||||
esac
|
||||
}
|
||||
|
||||
%post
|
||||
# create the default location for the persistent store files
|
||||
if test -e %{_localstatedir}/tpm; then
|
||||
mkdir -p %{_localstatedir}/tpm
|
||||
/bin/chown tss:tss %{_localstatedir}/tpm
|
||||
/bin/chmod 1777 %{_localstatedir}/tpm
|
||||
fi
|
||||
|
||||
# chown the daemon
|
||||
/bin/chown tss:tss %{_sbindir}/tcsd
|
||||
|
||||
/sbin/ldconfig
|
||||
|
||||
%install
|
||||
# This line keeps build machines from being affected
|
||||
[ "${RPM_BUILD_ROOT}" != "/" ] && [ -d ${RPM_BUILD_ROOT} ] && rm -rf ${RPM_BUILD_ROOT};
|
||||
mkdir -p ${RPM_BUILD_ROOT}
|
||||
make install DESTDIR=${RPM_BUILD_ROOT}
|
||||
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
/usr/sbin/userdel tss
|
||||
/usr/sbin/groupdel tss
|
||||
|
||||
# The files for the base package, 'trousers'
|
||||
%files
|
||||
%doc README AUTHORS
|
||||
%attr(755, tss, tss) %{_sbindir}/tcsd
|
||||
%{_libdir}/libtspi.la
|
||||
%{_libdir}/libtspi.so*
|
||||
%{_libdir}/libtddl.a
|
||||
%config %attr(600, tss, tss) %{_sysconfdir}/tcsd.conf
|
||||
%{_mandir}/man5/*
|
||||
%{_mandir}/man8/*
|
||||
|
||||
# The files to be used by developers, 'trousers-devel'
|
||||
%files devel
|
||||
%{_includedir}/tss/*.h
|
||||
%{_includedir}/trousers/*.h
|
||||
%{_mandir}/man3/Tspi_*
|
||||
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,15 @@
|
|||
|
||||
Tspi_TPM_GetEvents
|
||||
|
||||
Events in the TCS event log are 0 indexed. So, a call such as:
|
||||
|
||||
UINT32 five = 5;
|
||||
Tspi_TPM_GetEvents(hTPM, ulPcrIndex, 1, &five, &prgbPcrEvents);
|
||||
|
||||
will get you 5 events (assuming at least 6 events have happened on the PCR) which
|
||||
will be the 2nd through 6th events on the PCR. (Since the 1st event is at index 0).
|
||||
This is probably what you want:
|
||||
|
||||
UINT32 five = 5;
|
||||
Tspi_TPM_GetEvents(hTPM, ulPcrIndex, 0, &five, &prgbPcrEvents);
|
||||
|
|
@ -0,0 +1,520 @@
|
|||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2009-04-28.21; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit=${DOITPROG-}
|
||||
if test -z "$doit"; then
|
||||
doit_exec=exec
|
||||
else
|
||||
doit_exec=$doit
|
||||
fi
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
|
||||
chgrpprog=${CHGRPPROG-chgrp}
|
||||
chmodprog=${CHMODPROG-chmod}
|
||||
chownprog=${CHOWNPROG-chown}
|
||||
cmpprog=${CMPPROG-cmp}
|
||||
cpprog=${CPPROG-cp}
|
||||
mkdirprog=${MKDIRPROG-mkdir}
|
||||
mvprog=${MVPROG-mv}
|
||||
rmprog=${RMPROG-rm}
|
||||
stripprog=${STRIPPROG-strip}
|
||||
|
||||
posix_glob='?'
|
||||
initialize_posix_glob='
|
||||
test "$posix_glob" != "?" || {
|
||||
if (set -f) 2>/dev/null; then
|
||||
posix_glob=
|
||||
else
|
||||
posix_glob=:
|
||||
fi
|
||||
}
|
||||
'
|
||||
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
chgrpcmd=
|
||||
chmodcmd=$chmodprog
|
||||
chowncmd=
|
||||
mvcmd=$mvprog
|
||||
rmcmd="$rmprog -f"
|
||||
stripcmd=
|
||||
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dst_arg=
|
||||
|
||||
copy_on_change=false
|
||||
no_target_directory=
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
-c (ignored)
|
||||
-C install only if different (preserve the last data modification time)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||
RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test $# -ne 0; do
|
||||
case $1 in
|
||||
-c) ;;
|
||||
|
||||
-C) copy_on_change=true;;
|
||||
|
||||
-d) dir_arg=true;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
case $mode in
|
||||
*' '* | *' '* | *'
|
||||
'* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift;;
|
||||
|
||||
-s) stripcmd=$stripprog;;
|
||||
|
||||
-t) dst_arg=$2
|
||||
shift;;
|
||||
|
||||
-T) no_target_directory=true;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dst_arg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dst_arg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dst_arg=$arg
|
||||
done
|
||||
fi
|
||||
|
||||
if test $# -eq 0; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call `install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Set umask so as not to create temps with too-generous modes.
|
||||
# However, 'strip' requires both read and write access to temps.
|
||||
case $mode in
|
||||
# Optimize common cases.
|
||||
*644) cp_umask=133;;
|
||||
*755) cp_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names starting with `-'.
|
||||
case $src in
|
||||
-*) src=./$src;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
dstdir=$dst
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dst_arg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dst=$dst_arg
|
||||
# Protect names starting with `-'.
|
||||
case $dst in
|
||||
-*) dst=./$dst;;
|
||||
esac
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstdir_status=0
|
||||
else
|
||||
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||
dstdir=`
|
||||
(dirname "$dst") 2>/dev/null ||
|
||||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$dst" : 'X\(//\)[^/]' \| \
|
||||
X"$dst" : 'X\(//\)$' \| \
|
||||
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
echo X"$dst" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'
|
||||
`
|
||||
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||
umask=`umask`
|
||||
case $stripcmd.$umask in
|
||||
# Optimize common cases.
|
||||
*[2367][2367]) mkdir_umask=$umask;;
|
||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
mkdir_umask=`expr $umask + 22 \
|
||||
- $umask % 100 % 40 + $umask % 20 \
|
||||
- $umask % 10 % 4 + $umask % 2
|
||||
`;;
|
||||
*) mkdir_umask=$umask,go-w;;
|
||||
esac
|
||||
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
|
||||
posix_mkdir=false
|
||||
case $umask in
|
||||
*[123567][0-7][0-7])
|
||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writeable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix='/';;
|
||||
-*) prefix='./';;
|
||||
*) prefix='';;
|
||||
esac
|
||||
|
||||
eval "$initialize_posix_glob"
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
$posix_glob set -f
|
||||
set fnord $dstdir
|
||||
shift
|
||||
$posix_glob set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test -z "$d" && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask=$mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
|
||||
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
|
||||
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||
|
||||
# If -C, don't bother to copy if it wouldn't change the file.
|
||||
if $copy_on_change &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
|
||||
eval "$initialize_posix_glob" &&
|
||||
$posix_glob set -f &&
|
||||
set X $old && old=:$2:$4:$5:$6 &&
|
||||
set X $new && new=:$2:$4:$5:$6 &&
|
||||
$posix_glob set +f &&
|
||||
|
||||
test "$old" = "$new" &&
|
||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||
then
|
||||
rm -f "$dsttmp"
|
||||
else
|
||||
# Rename the file to the real destination.
|
||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
{
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
fi || exit 1
|
||||
|
||||
trap '' 0
|
||||
fi
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
SUBDIRS = man3 man5 man8
|
|
@ -0,0 +1,564 @@
|
|||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
|
||||
# Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
subdir = man
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||
html-recursive info-recursive install-data-recursive \
|
||||
install-dvi-recursive install-exec-recursive \
|
||||
install-html-recursive install-info-recursive \
|
||||
install-pdf-recursive install-ps-recursive install-recursive \
|
||||
installcheck-recursive installdirs-recursive pdf-recursive \
|
||||
ps-recursive uninstall-recursive
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
|
||||
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
|
||||
distdir
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CRYPTOLIB = @CRYPTOLIB@
|
||||
CRYPTO_PACKAGE = @CRYPTO_PACKAGE@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GREP = @GREP@
|
||||
GTK_CFLAGS = @GTK_CFLAGS@
|
||||
GTK_LIBS = @GTK_LIBS@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OPENSSL_LIB_DIR = @OPENSSL_LIB_DIR@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
RPC = @RPC@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TCSD_DEFAULT_PORT = @TCSD_DEFAULT_PORT@
|
||||
VERSION = @VERSION@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
lt_ECHO = @lt_ECHO@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
target_cpu = @target_cpu@
|
||||
target_os = @target_os@
|
||||
target_vendor = @target_vendor@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
SUBDIRS = man3 man5 man8
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign man/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
$(RECURSIVE_TARGETS):
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
$(RECURSIVE_CLEAN_TARGETS):
|
||||
@fail= failcom='exit 1'; \
|
||||
for f in x $$MAKEFLAGS; do \
|
||||
case $$f in \
|
||||
*=* | --[!k]*);; \
|
||||
*k*) failcom='fail=yes';; \
|
||||
esac; \
|
||||
done; \
|
||||
dot_seen=no; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
rev=''; for subdir in $$list; do \
|
||||
if test "$$subdir" = "."; then :; else \
|
||||
rev="$$subdir $$rev"; \
|
||||
fi; \
|
||||
done; \
|
||||
rev="$$rev ."; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
for subdir in $$rev; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
ctags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
|
||||
install-am install-strip tags-recursive
|
||||
|
||||
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
||||
all all-am check check-am clean clean-generic clean-libtool \
|
||||
ctags ctags-recursive distclean distclean-generic \
|
||||
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
||||
html-am info info-am install install-am install-data \
|
||||
install-data-am install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs installdirs-am maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
|
||||
uninstall uninstall-am
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,90 @@
|
|||
man3_MANS = Tspi_ChangeAuth.3 \
|
||||
Tspi_ChangeAuthAsym.3 \
|
||||
Tspi_Context_Close.3 \
|
||||
Tspi_Context_CloseObject.3 \
|
||||
Tspi_Context_Connect.3 \
|
||||
Tspi_Context_Create.3 \
|
||||
Tspi_Context_CreateObject.3 \
|
||||
Tspi_Context_FreeMemory.3 \
|
||||
Tspi_Context_GetCapability.3 \
|
||||
Tspi_Context_GetDefaultPolicy.3 \
|
||||
Tspi_Context_GetKeyByPublicInfo.3 \
|
||||
Tspi_Context_GetKeyByUUID.3 \
|
||||
Tspi_Context_GetRegisteredKeysByUUID.3 \
|
||||
Tspi_Context_GetRegisteredKeysByUUID2.3 \
|
||||
Tspi_Context_GetTpmObject.3 \
|
||||
Tspi_Context_LoadKeyByBlob.3 \
|
||||
Tspi_Context_LoadKeyByUUID.3 \
|
||||
Tspi_Context_RegisterKey.3 \
|
||||
Tspi_Context_UnregisterKey.3 \
|
||||
Tspi_Data_Bind.3 \
|
||||
Tspi_Data_Seal.3 \
|
||||
Tspi_Data_Unbind.3 \
|
||||
Tspi_Data_Unseal.3 \
|
||||
Tspi_DecodeBER_TssBlob.3 \
|
||||
Tspi_EncodeDER_TssBlob.3 \
|
||||
Tspi_GetAttribData.3 \
|
||||
Tspi_GetAttribUint32.3 \
|
||||
Tspi_GetPolicyObject.3 \
|
||||
Tspi_Hash_GetHashValue.3 \
|
||||
Tspi_Hash_SetHashValue.3 \
|
||||
Tspi_Hash_Sign.3 \
|
||||
Tspi_Hash_UpdateHashValue.3 \
|
||||
Tspi_Hash_VerifySignature.3 \
|
||||
Tspi_Key_CertifyKey.3 \
|
||||
Tspi_Key_ConvertMigrationBlob.3 \
|
||||
Tspi_Key_CreateKey.3 \
|
||||
Tspi_Key_CreateMigrationBlob.3 \
|
||||
Tspi_Key_GetPubKey.3 \
|
||||
Tspi_Key_LoadKey.3 \
|
||||
Tspi_Key_UnloadKey.3 \
|
||||
Tspi_Key_WrapKey.3 \
|
||||
Tspi_PcrComposite_GetPcrValue.3 \
|
||||
Tspi_PcrComposite_SelectPcrIndex.3 \
|
||||
Tspi_PcrComposite_SetPcrValue.3 \
|
||||
Tspi_Policy_AssignToObject.3 \
|
||||
Tspi_Policy_FlushSecret.3 \
|
||||
Tspi_Policy_SetSecret.3 \
|
||||
Tspi_SetAttribData.3 \
|
||||
Tspi_SetAttribUint32.3 \
|
||||
Tspi_TPM_AuthorizeMigrationTicket.3 \
|
||||
Tspi_TPM_CertifySelfTest.3 \
|
||||
Tspi_TPM_CheckMaintenancePubKey.3 \
|
||||
Tspi_TPM_ClearOwner.3 \
|
||||
Tspi_TPM_CollateIdentityRequest.3 \
|
||||
Tspi_TPM_CreateEndorsementKey.3 \
|
||||
Tspi_TPM_CreateMaintenanceArchive.3 \
|
||||
Tspi_TPM_DirRead.3 \
|
||||
Tspi_TPM_DirWrite.3 \
|
||||
Tspi_TPM_GetCapability.3 \
|
||||
Tspi_TPM_GetEvent.3 \
|
||||
Tspi_TPM_GetEventLog.3 \
|
||||
Tspi_TPM_GetEvents.3 \
|
||||
Tspi_TPM_GetPubEndorsementKey.3 \
|
||||
Tspi_TPM_GetRandom.3 \
|
||||
Tspi_TPM_GetStatus.3 \
|
||||
Tspi_TPM_GetTestResult.3 \
|
||||
Tspi_TPM_KillMaintenanceFeature.3 \
|
||||
Tspi_TPM_LoadMaintenancePubKey.3 \
|
||||
Tspi_TPM_PcrRead.3 \
|
||||
Tspi_TPM_PcrExtend.3 \
|
||||
Tspi_TPM_Quote.3 \
|
||||
Tspi_TPM_SelfTestFull.3 \
|
||||
Tspi_TPM_SetStatus.3 \
|
||||
Tspi_TPM_StirRandom.3 \
|
||||
Tspi_TPM_TakeOwnership.3 \
|
||||
Tspi_DAA_IssueCredential.3 \
|
||||
Tspi_DAA_VerifySignature.3 \
|
||||
Tspi_DAA_IssueInit.3 \
|
||||
Tspi_TPM_DAA_JoinCreateDaaPubKey.3 \
|
||||
Tspi_DAA_IssuerKeyVerification.3 \
|
||||
Tspi_TPM_DAA_JoinInit.3 \
|
||||
Tspi_DAA_IssueSetup.3 \
|
||||
Tspi_TPM_DAA_JoinStoreCredential.3 \
|
||||
Tspi_DAA_VerifyInit.3 \
|
||||
Tspi_TPM_DAA_Sign.3 \
|
||||
Tspi_TPM_GetAuditDigest.3 \
|
||||
Tspi_TPM_OwnerGetSRKPubKey.3 \
|
||||
Tspi_TPM_Quote.3 \
|
||||
Tspi_TPM_CMKSetRestrictions.3
|
||||
EXTRA_DIST = $(man3_MANS)
|
|
@ -0,0 +1,530 @@
|
|||
# Makefile.in generated by automake 1.11.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
|
||||
# Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
subdir = man/man3
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
man3dir = $(mandir)/man3
|
||||
am__installdirs = "$(DESTDIR)$(man3dir)"
|
||||
NROFF = nroff
|
||||
MANS = $(man3_MANS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CRYPTOLIB = @CRYPTOLIB@
|
||||
CRYPTO_PACKAGE = @CRYPTO_PACKAGE@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GREP = @GREP@
|
||||
GTK_CFLAGS = @GTK_CFLAGS@
|
||||
GTK_LIBS = @GTK_LIBS@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OPENSSL_LIB_DIR = @OPENSSL_LIB_DIR@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
||||
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
||||
RANLIB = @RANLIB@
|
||||
RPC = @RPC@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
TCSD_DEFAULT_PORT = @TCSD_DEFAULT_PORT@
|
||||
VERSION = @VERSION@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
lt_ECHO = @lt_ECHO@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
target_cpu = @target_cpu@
|
||||
target_os = @target_os@
|
||||
target_vendor = @target_vendor@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
man3_MANS = Tspi_ChangeAuth.3 \
|
||||
Tspi_ChangeAuthAsym.3 \
|
||||
Tspi_Context_Close.3 \
|
||||
Tspi_Context_CloseObject.3 \
|
||||
Tspi_Context_Connect.3 \
|
||||
Tspi_Context_Create.3 \
|
||||
Tspi_Context_CreateObject.3 \
|
||||
Tspi_Context_FreeMemory.3 \
|
||||
Tspi_Context_GetCapability.3 \
|
||||
Tspi_Context_GetDefaultPolicy.3 \
|
||||
Tspi_Context_GetKeyByPublicInfo.3 \
|
||||
Tspi_Context_GetKeyByUUID.3 \
|
||||
Tspi_Context_GetRegisteredKeysByUUID.3 \
|
||||
Tspi_Context_GetRegisteredKeysByUUID2.3 \
|
||||
Tspi_Context_GetTpmObject.3 \
|
||||
Tspi_Context_LoadKeyByBlob.3 \
|
||||
Tspi_Context_LoadKeyByUUID.3 \
|
||||
Tspi_Context_RegisterKey.3 \
|
||||
Tspi_Context_UnregisterKey.3 \
|
||||
Tspi_Data_Bind.3 \
|
||||
Tspi_Data_Seal.3 \
|
||||
Tspi_Data_Unbind.3 \
|
||||
Tspi_Data_Unseal.3 \
|
||||
Tspi_DecodeBER_TssBlob.3 \
|
||||
Tspi_EncodeDER_TssBlob.3 \
|
||||
Tspi_GetAttribData.3 \
|
||||
Tspi_GetAttribUint32.3 \
|
||||
Tspi_GetPolicyObject.3 \
|
||||
Tspi_Hash_GetHashValue.3 \
|
||||
Tspi_Hash_SetHashValue.3 \
|
||||
Tspi_Hash_Sign.3 \
|
||||
Tspi_Hash_UpdateHashValue.3 \
|
||||
Tspi_Hash_VerifySignature.3 \
|
||||
Tspi_Key_CertifyKey.3 \
|
||||
Tspi_Key_ConvertMigrationBlob.3 \
|
||||
Tspi_Key_CreateKey.3 \
|
||||
Tspi_Key_CreateMigrationBlob.3 \
|
||||
Tspi_Key_GetPubKey.3 \
|
||||
Tspi_Key_LoadKey.3 \
|
||||
Tspi_Key_UnloadKey.3 \
|
||||
Tspi_Key_WrapKey.3 \
|
||||
Tspi_PcrComposite_GetPcrValue.3 \
|
||||
Tspi_PcrComposite_SelectPcrIndex.3 \
|
||||
Tspi_PcrComposite_SetPcrValue.3 \
|
||||
Tspi_Policy_AssignToObject.3 \
|
||||
Tspi_Policy_FlushSecret.3 \
|
||||
Tspi_Policy_SetSecret.3 \
|
||||
Tspi_SetAttribData.3 \
|
||||
Tspi_SetAttribUint32.3 \
|
||||
Tspi_TPM_AuthorizeMigrationTicket.3 \
|
||||
Tspi_TPM_CertifySelfTest.3 \
|
||||
Tspi_TPM_CheckMaintenancePubKey.3 \
|
||||
Tspi_TPM_ClearOwner.3 \
|
||||
Tspi_TPM_CollateIdentityRequest.3 \
|
||||
Tspi_TPM_CreateEndorsementKey.3 \
|
||||
Tspi_TPM_CreateMaintenanceArchive.3 \
|
||||
Tspi_TPM_DirRead.3 \
|
||||
Tspi_TPM_DirWrite.3 \
|
||||
Tspi_TPM_GetCapability.3 \
|
||||
Tspi_TPM_GetEvent.3 \
|
||||
Tspi_TPM_GetEventLog.3 \
|
||||
Tspi_TPM_GetEvents.3 \
|
||||
Tspi_TPM_GetPubEndorsementKey.3 \
|
||||
Tspi_TPM_GetRandom.3 \
|
||||
Tspi_TPM_GetStatus.3 \
|
||||
Tspi_TPM_GetTestResult.3 \
|
||||
Tspi_TPM_KillMaintenanceFeature.3 \
|
||||
Tspi_TPM_LoadMaintenancePubKey.3 \
|
||||
Tspi_TPM_PcrRead.3 \
|
||||
Tspi_TPM_PcrExtend.3 \
|
||||
Tspi_TPM_Quote.3 \
|
||||
Tspi_TPM_SelfTestFull.3 \
|
||||
Tspi_TPM_SetStatus.3 \
|
||||
Tspi_TPM_StirRandom.3 \
|
||||
Tspi_TPM_TakeOwnership.3 \
|
||||
Tspi_DAA_IssueCredential.3 \
|
||||
Tspi_DAA_VerifySignature.3 \
|
||||
Tspi_DAA_IssueInit.3 \
|
||||
Tspi_TPM_DAA_JoinCreateDaaPubKey.3 \
|
||||
Tspi_DAA_IssuerKeyVerification.3 \
|
||||
Tspi_TPM_DAA_JoinInit.3 \
|
||||
Tspi_DAA_IssueSetup.3 \
|
||||
Tspi_TPM_DAA_JoinStoreCredential.3 \
|
||||
Tspi_DAA_VerifyInit.3 \
|
||||
Tspi_TPM_DAA_Sign.3 \
|
||||
Tspi_TPM_GetAuditDigest.3 \
|
||||
Tspi_TPM_OwnerGetSRKPubKey.3 \
|
||||
Tspi_TPM_Quote.3 \
|
||||
Tspi_TPM_CMKSetRestrictions.3
|
||||
|
||||
EXTRA_DIST = $(man3_MANS)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/man3/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign man/man3/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
install-man3: $(man3_MANS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
|
||||
@list='$(man3_MANS)'; test -n "$(man3dir)" || exit 0; \
|
||||
{ for i in $$list; do echo "$$i"; done; \
|
||||
} | while read p; do \
|
||||
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; echo "$$p"; \
|
||||
done | \
|
||||
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
|
||||
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
|
||||
sed 'N;N;s,\n, ,g' | { \
|
||||
list=; while read file base inst; do \
|
||||
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
|
||||
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
|
||||
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \
|
||||
fi; \
|
||||
done; \
|
||||
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
test -z "$$files" || { \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \
|
||||
done; }
|
||||
|
||||
uninstall-man3:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(man3_MANS)'; test -n "$(man3dir)" || exit 0; \
|
||||
files=`{ for i in $$list; do echo "$$i"; done; \
|
||||
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
|
||||
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
|
||||
test -z "$$files" || { \
|
||||
echo " ( cd '$(DESTDIR)$(man3dir)' && rm -f" $$files ")"; \
|
||||
cd "$(DESTDIR)$(man3dir)" && rm -f $$files; }
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@list='$(MANS)'; if test -n "$$list"; then \
|
||||
list=`for p in $$list; do \
|
||||
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
|
||||
if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
|
||||
if test -n "$$list" && \
|
||||
grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
|
||||
echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
|
||||
grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
|
||||
echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
|
||||
echo " typically \`make maintainer-clean' will remove them" >&2; \
|
||||
exit 1; \
|
||||
else :; fi; \
|
||||
else :; fi
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(MANS)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(man3dir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-man
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man: install-man3
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-man
|
||||
|
||||
uninstall-man: uninstall-man3
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
distclean distclean-generic distclean-libtool distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-man3 \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
uninstall uninstall-am uninstall-man uninstall-man3
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,75 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Change_Auth" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_ChangeAuth \- change the authorization data of an entity.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_ChangeAuth(TSS_HOBJECT " hObjectToChange ", TSS_HOBJECT " hParentObject ","
|
||||
.BI " TSS_HPOLICY " hNewPolicy " );"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_ChangeAuth \fR changes the authorization data (secret) of an entity (object) and assigns the object to the policy object. All classes using secrets provide this method for changing their authorization data.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hObjectToChange
|
||||
Handle of the object to change authorization for.
|
||||
.PP
|
||||
.SS hParentObject
|
||||
Handle of the parent object wrapping the object addressed by hObjectToChange.
|
||||
.PP
|
||||
.SS hNewPolicy
|
||||
Handle of the policy object providing the new authorization data.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_ChangeAuth\fR returns TSS_SUCCESS on success,otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fIhObjectToChange\fR, or \fIhParentObject\fR are not a valid handle.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_ChangeAuth\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_ChangeAuthAsym\fR(3).
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_ChangeAuthAsym" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_ChangeAuthAsym \- change the authorization data of an entity using asymmetric change protocol.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_ChangeAuthAsym(TSS_HOBJECT " hObjectToChange ", TSS_HOBJECT " hParentObject ","
|
||||
.BI " TSS_HKEY " hIdentKey ", TSS_HPOLICY " hNewPolicy ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_ChangeAuthAsym\fR changes the authorization data (secret) of an entity (object) utilizing the asymmetric change protocol and assigns the object to the policy object. All classes using secrets provide this method for changing their authorization data.
|
||||
This method changes the authorization data of an object ensuring that the parent of the object does not get knowledge of the new secret.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hObjectToChange
|
||||
Handle of the object the authorization data should be changed.
|
||||
.PP
|
||||
.SS hParentObject
|
||||
Handle of the parent object wrapping the object addressed by \fIhObjectToChange\fR.
|
||||
.PP
|
||||
.SS hIdentKey
|
||||
Handle of the identity key object required to proof the internally created temporary key.
|
||||
.PP
|
||||
.SS hNewPolicy
|
||||
Handle of the policy object providing the new authorization data.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_ChangeAuthAsym\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fIhObjectToChange\fR, \fIhParentObject\fR, or \fIhIdentKey\fR is an invalid handle.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_ChangeAuthAsym\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_ChangeAuth\fR(3).
|
|
@ -0,0 +1,68 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_Close" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Context_Close \- destroy a TSP context handle.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_Close(TSS_HCONTEXT " hLocalContext ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Context_Close\fR destroys a context by passing in the handle to that context.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hLocalContext
|
||||
The handle to the context to be closed.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_Close\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - \fIhLocalContext\fR is an invalid handle.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_Close\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_Create\fR(3), \fBTspi_Context_Connect\fR(3).
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_CloseObject" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Context_CloseObject \- destroy resources associated with an object handle.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI " TSS_RESULT Tspi_Context_CloseObject(TSS_HCONTEXT " hContext ", TSS_HOBJECT " hObject ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTSS_Context_CloseObject\fR destroys the object associated with the object handle. All allocated resources associated within the object are also released.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The handle of the context object.
|
||||
.PP
|
||||
.SS hObject
|
||||
The handle of the object to be destroyed.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_CloseObject\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fIhContext\fR or \fIhObject\fR are invalid handles.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_CloseObject\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_CreateObject\fR(3).
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_Connect" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME.
|
||||
Tspi_Context_Connect\- connect a TSP to a Core Services daemon
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_Connect(TSS_HCONTEXT " hLocalContext ", UNICODE* " wszDestination ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Context_Connect\fR creates a connetion between the application and the local or remote TSS System.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hLocalContext
|
||||
The handle to the context to be connected.
|
||||
.PP
|
||||
.SS wszDestination
|
||||
A null terminated unicode string which specifies the local or remote system to which one will be connected. If \fIwszDestination\fR is NULL, the connection will be to a local TCS.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_Connect\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - \fIhLocalContext\fR is an invalid handle.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_Connect\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_Create\fR(3), \fBTspi_Context_Close\fR(3).
|
||||
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
.\" Copyright (C) 2005 International Business Machines Corporation
|
||||
.\" Written by Kent Yoder based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_Create" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Context_Create \- create a TSP context handle.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_Create(TSS_HCONTEXT* " phContext ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Context_Create\fR creates a handle to a new context object. The context is then used by other API functions to track resources related to it.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS phContext
|
||||
Receives the handle to the created context object.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_Create\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An internal error occurred in the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_Create\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_Close\fR(3), \fBTspi_Context_Connect\fR(3).
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,125 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_CreateObject" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Context_CreateObject \- create an empty object and return a handle to that object.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_CreateObject(TSS_HCONTEXT " hContext ", TSS_FLAG " objectType ","
|
||||
.BI " TSS_FLAG " initFlags ", TSS_HOBJECT* " phObject ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTSS_Context_CreateObject\fR creates and initializes an empty object of the specified type and returns a handle addressing that object. The object is bound to an already opened context \fIhContext\fR.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The handle of the context object.
|
||||
.PP
|
||||
.SS objectType
|
||||
Flag indicating the object type to create. Possible types are:
|
||||
.TP
|
||||
.SM TSS_OBJECT_TYPE_POLICY - a policy object.
|
||||
.TP
|
||||
.SM TSS_OBJECT_TYPE_ENCDATA - an encrypted data object (either sealed or bound data).
|
||||
.TP
|
||||
.SM TSS_OBJECT_TYPE_RSAKEY - an RSA key.
|
||||
.TP
|
||||
.SM TSS_OBJECT_TYPE_PCRS - a PCR composite object.
|
||||
.TP
|
||||
.SM TSS_OBJECT_TYPE_HASH - a hash object.
|
||||
.PP
|
||||
.SS initFlags
|
||||
Flag indicating the default attributes of the object. Attributes for each type of object are:
|
||||
.TP
|
||||
.SM Policy:
|
||||
\fBTSS_POLICY_USAGE\fR - a usage policy (for authorization to use an object).
|
||||
\fBTSS_POLICY_MIGRATION\fR - a migration policy.
|
||||
.TP
|
||||
.SM Encrypted data objects:
|
||||
\fBTSS_ENCDATA_SEAL\fR - A data object used for a Seal operation.
|
||||
\fBTSS_ENCDATA_BIND\fR - A data object used for a Bind operation.
|
||||
\fBTSS_ENCDATA_LEGACY\fR - A data object for a bind operation using a legacy key.
|
||||
.TP
|
||||
.SM RSA Keys:
|
||||
\fBTSS_KEY_SIZE_DEFAULT\fR - Use the default key size of the TCS you're connected to.
|
||||
\fBTSS_KEY_SIZE_512\fR - Create a 512 bit key.
|
||||
\fBTSS_KEY_SIZE_1024\fR - Create a 1024 bit key.
|
||||
\fBTSS_KEY_SIZE_2048\fR - Create a 2048 bit key.
|
||||
\fBTSS_KEY_SIZE_4096\fR - Create a 4096 bit key.
|
||||
\fBTSS_KEY_SIZE_8192\fR - Create a 8192 bit key.
|
||||
\fBTSS_KEY_SIZE_16384\fR - Create a 16384 bit key.
|
||||
\fBTSS_KEY_TYPE_STORAGE\fR - Create a storage key. (Used to wrap other keys).
|
||||
\fBTSS_KEY_TYPE_SIGNING\fR - Create a signing key.
|
||||
\fBTSS_KEY_TYPE_BIND\fR - Create a binding key. (Used to encrypt data).
|
||||
\fBTSS_KEY_TYPE_IDENTITY\fR - Create an identity key. (Used for an identity).
|
||||
\fBTSS_KEY_TYPE_LEGACY\fR - Create a legacy key. (Can be used for signing and binding, created from data external to a TSS).
|
||||
\fBTSS_KEY_TYPE_AUTHCHANGE\fR - Create an ephemeral key used to change authorization values.
|
||||
\fBTSS_KEY_VOLATILE\fR - Create a volatile key. (Must be unloaded at startup).
|
||||
\fBTSS_KEY_NON_VOLATILE\fR - Create a non-volatile key. (May be unloaded at startup).
|
||||
\fBTSS_KEY_MIGRATABLE\fR - Create a migratable key.
|
||||
\fBTSS_KEY_NOT_MIGRATABLE\fR - Create a non-migratable key. [DEFAULT]
|
||||
\fBTSS_KEY_AUTHORIZATION\fR - Key will require authorization.
|
||||
\fBTSS_KEY_NO_AUTHORIZATION\fR - Key will not require authorization. [DEFAULT]
|
||||
\fBTSS_KEY_EMPTY_KEY\fR - Key template which will be returned as an object with very few attributes.
|
||||
|
||||
.TP
|
||||
.SM PCR composite objects:
|
||||
None.
|
||||
.TP
|
||||
.SM Hash objects:
|
||||
\fBTSS_HASH_SHA1\fR - a hash object of type SHA-1.
|
||||
\fBTSS_HASH_OTHER\fR - a hash object of type other than SHA-1.
|
||||
.PP
|
||||
.PP
|
||||
.SS phObject
|
||||
The handle of the object to be created.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_CreateObject\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fIhContext\fR or \fIphObject\fR is an invalid handle.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_CreateObject\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_CloseObject\fR(3).
|
|
@ -0,0 +1,81 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_FreeMemory" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developers Reference
|
||||
.SH NAME
|
||||
Tspi_Context_FreeMemory \- Free allocated memory for a given context.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.br
|
||||
.HP
|
||||
.BI "TSS_RESULT Tspi_Context_FreeMemory(TSS_HCONTEXT " hContext ", BYTE* " rgbMemory ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Context_FreeMemory\fR frees memory allocated by the TSS Service Provider on a per-context basis.
|
||||
This should be used before Tspi_Context_Close is called, to avoid memory leaks.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The \fIhContext\fR parameter is the handle to the local context.
|
||||
.SS rgbMemory
|
||||
The \fIrgbMemory\fR parameter is a pointer to the memory block to
|
||||
be freed. If this is NULL, all memory blocks bound to the context are freed.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_FreeMemory\fR returns TSS_SUCCESS on success, otherwise
|
||||
one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhContext\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_FreeMemory\fR conforms to the Trusted Computing Group Software
|
||||
Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_Create\fR(3), \fBTspi_Context_Close\fR(3).
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_GetCapability" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Context_GetCapability \- provide the capabilites of a TSS Core Service, TSS Service Provider, or TPM.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_GetCapability(TSS_HCONTEXT " hContext ", TSS_FLAG " capArea ","
|
||||
.BI " UINT32 " ulSubCapLength ", BYTE* " rgbSubCap ","
|
||||
.BI " UINT32* " pulRespDataLength ", BYTE** " prgbRespData ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTSS_Context_GetCapability\fR provides the capabilities of the TSS Core Service or TSS Service Provider
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The handle of the context object.
|
||||
.PP
|
||||
.SS capArea
|
||||
Flag indicating the attribute to query.
|
||||
.PP
|
||||
.SS ulSubCapLength
|
||||
The length (in bytes) of the rgbSubCap parameter.
|
||||
.PP
|
||||
.SS rgbSubCap
|
||||
Data indicating the attribute to query.
|
||||
.PP
|
||||
.SS pulRespDataLength
|
||||
Recieves the length (in bytes) of the prgbRespData parameter.
|
||||
.PP
|
||||
.SS prgbRespData
|
||||
On successful completion of the command, this parameter points to a buffer containing the actual data of the specified capability.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_GetCapability\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - \fIhContext\fR is an invalid handle.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER - One of the parameters did not match.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_GetCapability\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fB(none)\fR.
|
|
@ -0,0 +1,82 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_GetDefaultPolicy" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developers Reference
|
||||
.SH NAME
|
||||
Tspi_Context_GetDefaultPolicy \- Get a handle to the default policy object
|
||||
of a given context.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.HP
|
||||
.BI "TSS_RESULT Tspi_Context_GetDefaultPolicy(TSS_HCONTEXT " hContext ", TSS_HPOLICY " *phPolicy "); "
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Context_GetDefaultPolicy\fR
|
||||
determines what policy is used by all of the keys in a given context.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The \fIhContext\fR parameter is the handle of the context object.
|
||||
.SS phPolicy
|
||||
The \fIphPolicy\fR parameter receives the handle of the default
|
||||
policy object bound to the context.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_GetDefaultPolicy\fR returns TSS_SUCCESS on success,
|
||||
otherwise one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhContext\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_GetDefaultPolicy\fR conforms to the Trusted Computing
|
||||
Group Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_Create\fR(3), \fBTspi_Context_Connect\fR(3),
|
||||
\fBTspi_Context_FreeMemory\fR(3), \fBTspi_Context_Close\fR(3).
|
||||
|
81
crypto/external/cpl/trousers/dist/man/man3/Tspi_Context_GetKeyByPublicInfo.3
vendored
Normal file
81
crypto/external/cpl/trousers/dist/man/man3/Tspi_Context_GetKeyByPublicInfo.3
vendored
Normal file
|
@ -0,0 +1,81 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_GetKeyByPublicInfo" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Context_GetKeyByPublicInfo \- search the persistent storage for a registered key using the provided public key information
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_GetKeyByPublicInfo(TSS_HCONTEXT " hContext ", TSS_FLAG " persistentStorageType ","
|
||||
.BI " TSS_ALGORITHM_ID " algID ", UINT32 " ulPublicInfoLength ","
|
||||
.BI " BYTE* " rgbPublicInfo ", TSS_HKEY* " phKey ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTSS_Context_GetKeyByPublicInfo\fR searches the persistent storage for a registered key using the provided public key information and creates a key object initalized according to the found data. On successful completion of the method a handle to the created new key object is returned.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The handle of the context object.
|
||||
.PP
|
||||
.SS persistentStorageType
|
||||
Flag indicating the persistent storage the key is registered in.
|
||||
.PP
|
||||
.SS algId
|
||||
This parameter indicates the algorithm of the requested key.
|
||||
.PP
|
||||
.SS ulPublicInfoLength
|
||||
The length of the public key info provided at the parameter rgbPublicInfo.
|
||||
.PP
|
||||
.SS rgbPublicInfo
|
||||
The public key info is provided to identify the key to be look for at the persistent storage. In case algID equals to TSS_ALG_RSA this prameter contains the modulus of the public RSA key.
|
||||
.PP
|
||||
.SS hKey
|
||||
Recieves the handle of the key object representing the key. In case the key hasn't been found, this value will be NULL.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_GetKeyByPublicInfo\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - \fIhContext\fR is an invalid handle.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_GetKeyByPublicInfo\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_LoadKeyByUUID\fR(3).
|
|
@ -0,0 +1,98 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_GetKeyByUUID" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developers Reference
|
||||
.SH NAME
|
||||
Tspi_Context_GetKeyByUUID \- get a handle to a key registered in persistent storage.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_GetKeyByUUID(TSS_HCONTEXT " hContext ", TSS_FLAG " persistentStorageType ","
|
||||
.BI " TSS_UUID " uuidData ", TSS_HKEY* " phKey ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Context_GetKeyByUUID\fR searches the Persistent Storage database for a registered key using the
|
||||
given UUID. It then creates a key object initialized to the found data and
|
||||
returns a handle to the key object.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The \fIhContext\fR parameter is the handle of the context object.
|
||||
.SS persistentStorageType
|
||||
The \fIpersistentStorageType\fR parameter indicates the persistent
|
||||
storage the key is registered in.
|
||||
.SS uuidData
|
||||
The \fIuuidData\fR parameter is the UUID by which the key is registered in
|
||||
persistent storage.
|
||||
.SS phKey
|
||||
The \fIphKey\fR parameter receives the handle of the key object representing
|
||||
the key.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_GetKeyByUUID\fR returns TSS_SUCCESS on success,
|
||||
otherwise one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhContext\fR is an invalid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_PS_KEY_NOTFOUND
|
||||
The key cannot be found in the persistent storage database.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_GetKeyByUUID\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_GetTpmObject\fR(3), \fBTspi_Context_LoadKeyByUUID\fR(3),
|
||||
\fBTspi_Context_GetRegisteredKeysByUUID\fR(3),
|
||||
\fBTspi_Context_GetKeyByPublicInfo\fR(3).
|
||||
|
81
crypto/external/cpl/trousers/dist/man/man3/Tspi_Context_GetRegisteredKeysByUUID.3
vendored
Normal file
81
crypto/external/cpl/trousers/dist/man/man3/Tspi_Context_GetRegisteredKeysByUUID.3
vendored
Normal file
|
@ -0,0 +1,81 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_GetRegisteredKeysByUUID" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Context_GetRegisteredKeysByUUID \- get an array of TSS_KM_KEYINFO structures based on the state of persistent storage.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_GetRegisteredKeysByUUID(TSS_HCONTEXT " hContext ", TSS_FLAG " persistentStorageType ","
|
||||
.BI " TSS_UUID* " pUuidData ", UINT32* " pulKeyHierarchySize ","
|
||||
.BI " TSS_KM_KEYINFO** " ppKeyHierarchy ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTSS_Context_GetRegisteredKeysByUUID\fR gets an array of TSS_KM_KEYINFO structures. This information reflects the state of the registered key hierarchy. The keys stored in the persistent storage are totallly independent from either the context provided in the function call or the context, which was provided while processing the key registration.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The handle of the context object.
|
||||
.PP
|
||||
.SS persistentStorageType
|
||||
Flag indicating the persistent storage the key is registered in.
|
||||
.PP
|
||||
.SS pUuidData
|
||||
The UUID the key was registered in the persistent storage (TSP or connected TCS). If no key UUID is provided, thus KeyUUID is NULL, the returned array of the TSS_KM_KEYINFO structure contins data reflecting the whole key hierarchy starting with root key. If a certain key is UUID is provided, the returned array of TSS_KM_KEYINFO structures only contains data reflecting the path of the key hierarchy regarding that key. The first array entry is the key addressed by the given UUID followed by its parent key up to the root key.
|
||||
.PP
|
||||
.SS pulKeyHierarchySize
|
||||
Recieves the length (number of array entries) of the ppKeyHierarchy parameter.
|
||||
.PP
|
||||
.SS ppKeyHierarchy
|
||||
On successful completion of the command, this parameter points to a buffer containing the actual key hierarchy data.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_GetRegisteredKeysByUUID\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - \fIhContext\fR is an invalid handle.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_GetRegisteredKeysByUUID\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_LoadKeyByUUID\fR(3).
|
82
crypto/external/cpl/trousers/dist/man/man3/Tspi_Context_GetRegisteredKeysByUUID2.3
vendored
Normal file
82
crypto/external/cpl/trousers/dist/man/man3/Tspi_Context_GetRegisteredKeysByUUID2.3
vendored
Normal file
|
@ -0,0 +1,82 @@
|
|||
.\" Copyright (C) 2004,2007 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\" Revised by Ramon Brandão based on Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_GetRegisteredKeysByUUID2" 3 "2007-07-06" "TSS 1.2" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Context_GetRegisteredKeysByUUID2 \- get an array of TSS_KM_KEYINFO2 structures based on the state of persistent storage.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_GetRegisteredKeysByUUID2(TSS_HCONTEXT " hContext ", TSS_FLAG " persistentStorageType ","
|
||||
.BI " TSS_UUID* " pUuidData ", UINT32* " pulKeyHierarchySize ","
|
||||
.BI " TSS_KM_KEYINFO2** " ppKeyHierarchy ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTSS_Context_GetRegisteredKeysByUUID2\fR gets an array of TSS_KM_KEYINFO2 structures. This information reflects the state of the registered key hierarchy. The keys stored in the persistent storage are totallly independent from either the context provided in the function call or the context, which was provided while processing the key registration.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The handle of the context object.
|
||||
.PP
|
||||
.SS persistentStorageType
|
||||
Flag indicating the persistent storage the key is registered in.
|
||||
.PP
|
||||
.SS pUuidData
|
||||
The UUID the key was registered in the persistent storage (TSP or connected TCS). If no key UUID is provided, thus KeyUUID is NULL, the returned array of the TSS_KM_KEYINFO2 structure contains data reflecting the whole key hierarchy starting with root key. If a certain key is UUID is provided, the returned array of TSS_KM_KEYINFO2 structures only contains data reflecting the path of the key hierarchy regarding that key. The first array entry is the key addressed by the given UUID followed by its parent key up to the root key.
|
||||
.PP
|
||||
.SS pulKeyHierarchySize
|
||||
Recieves the length (number of array entries) of the ppKeyHierarchy parameter.
|
||||
.PP
|
||||
.SS ppKeyHierarchy
|
||||
On successful completion of the command, this parameter points to a buffer containing the actual key hierarchy data.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_GetRegisteredKeysByUUID2\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - \fIhContext\fR is an invalid handle.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_GetRegisteredKeysByUUID2\fR conforms to the Trusted Computing Group Software Specification version 1.2
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_LoadKeyByUUID\fR(3).
|
|
@ -0,0 +1,86 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_GetTpmObject" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developers Reference
|
||||
.SH NAME
|
||||
Context_GetTpmObject \- get the handle of the TPM object associated with a context.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.br
|
||||
.HP
|
||||
.BI "TSS_RESULT Tspi_Context_GetTpmObject(TSS_HCONTEXT " hContext ", TSS_HTPM* " phTPM "); "
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Context_GetTpmObject\fR retrieves the TPM object of a context. Only one instance of this
|
||||
object exists for a given context and implicitly represents a TPM owner. This function is normally called at the beginning of a program, right after the context is established. You must have a context established prior to calling this function.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The \fIhContext\fR parameter is the handle of the context object
|
||||
(already existing).
|
||||
.SS phTPM
|
||||
The \fIphTPM\fR parameter is a pointer to where the handle of the
|
||||
TPM will be placed.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_GetTpmObject\fR returns TSS_SUCCESS on success,
|
||||
otherwise one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhContext\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more of the parameters is incorrect.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_GetTpmObject\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_Create\fR(3), \fBTspi_Context_Connect\fR(3), \fBTspi_Context_FreeMemory\fR(3), \fBTspi_Context_Close\fR(3).
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_LoadKeyByBlob" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developers Reference
|
||||
.SH NAME
|
||||
Tspi_Context_LoadKeyByBlob \- load a key into the TPM using the key's blob.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_LoadKeyByBlob(TSS_HCONTEXT " hContext ", TSS_HKEY " hUnwrappingKey ","
|
||||
.BI " UINT32 " ulBlobLength ", BYTE* " rgbBlobData ","
|
||||
.BI " TSS_HKEY* " phKey "); "
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Context_LoadKeyByBlob\fR
|
||||
creates a key based on the information gotten by the key blob. It then
|
||||
loads the key into the TPM, which unwraps the key blob by using the key
|
||||
associated with \fIhUnwrappingKey\fR. The key blob addressed by
|
||||
\fihUnwrappingKey\fR must have been already loaded into the TPM. This
|
||||
function returns a handle to the created key object.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The \fIhContext\fR parameter is the handle of the context object.
|
||||
.SS hUnwrappingKey
|
||||
The \fIhUnwrappingKey\fR parameter is the handle of the key object
|
||||
which should be used to unwrap the key information associated with
|
||||
\fIrgbBlobData\fR.
|
||||
.SS rgbBlobData
|
||||
The \fIrgbBlobData\fR parameter is the wrapped key to load.
|
||||
.SS phKey
|
||||
The \fIphKey\fR parameter receives the handle of the key object
|
||||
representing the loaded key.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_LoadKeyByBlob\fR returns TSS_SUCCESS on success,
|
||||
otherwise one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhContext\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_LoadKeyByBlob\fR conforms to the Trusted Computing
|
||||
Group Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_LoadKeyByUUID\fR(3), \fBTspi_Policy_SetSecret\fR(3),
|
||||
\fBTspi_GetPolicyObject\fR(3), \fBTspi_Key_CreateKey\fR(3),
|
||||
\fBTspi_GetAttribUint32\fR(3).
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_LoadKeyByUUID" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Context_LoadKeyByUUID \- load a key that's been registered in persistent storage.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_LoadKeyByUUID(TSS_HCONTEXT " hContext ", TSS_FLAG " persistentStorageType ", "
|
||||
.BI " TSS_UUID " uuidData ", TSS_HKEY* " phKey ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTSS_Context_LoadKeyByUUID\fR
|
||||
creates a key object based on the information got from the manager using the UUID and loads the key into the TPM. The persistent storage provides all information to load the parent keys required to load the key associated with the given UUID.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The handle of the context object.
|
||||
.PP
|
||||
.SS persistentStorageType
|
||||
Flag indicating the persistent storage the key is registered in. Should be either TSS_PS_TYPE_USER ot TSS_PS_TYPE_SYSTEM.
|
||||
.PP
|
||||
.SS uuidData
|
||||
The UUID of the key by which the key was registered in the persistent storage (TSP or connected TCS).
|
||||
.PP
|
||||
.SS phKey
|
||||
Receives the handle of the key object representing the loaded key.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_LoadKeyByUUID\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - \fIhContext\fR is an invalid handle.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER - \fIpersistentStorageType\fR is not valid.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_LoadKeyByUUID\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_LoadKeyByBlob(3)\fR, \fBTspi_Key_LoadKey(3)\fR.
|
|
@ -0,0 +1,170 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_RegisterKey" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developers Reference
|
||||
.SH NAME
|
||||
Tspi_Context_RegisterKey \- register a key in the TSS Persistent Storage database
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_RegisterKey(TSS_HCONTEXT " hContext ", TSS_HKEY " hKey ","
|
||||
.BI " TSS_FLAG " persistentStorageType ", TSS_UUID " uuidKey ","
|
||||
.BI " TSS_FLAG " persistentStorageTypeParent ", TSS_UUID " uuidParentKey "); "
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Context_RegisterKey\fR is the API that
|
||||
registers a key with the TSS Persistent Storage database so that it
|
||||
can be loaded as necessary. It also includes all information required
|
||||
for loading the key, as well as information about its parent key.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The \fIhContext\fR parameter is the handle of the context object.
|
||||
.SS hKey
|
||||
The \fIhKey\fR parameter is the handle of the key object addressing the key
|
||||
to be registered.
|
||||
.SS persistentStorageType
|
||||
The \fIpersistentStorageType\fR parameter indicates the persistent
|
||||
storage the key is registered in.
|
||||
.SS uuidKey
|
||||
The \fIuuidKey\fR parameter is the UUID by which the key is registered in
|
||||
persistent storage.
|
||||
.SS persistentStorageTypeParent
|
||||
The \fIpersistentStorageTypeParent\fR parameter indicates the persistent storage
|
||||
that the parent key is registered in.
|
||||
.SS uuidParentKey
|
||||
The \fIuuidParentKey\fR parameter is the UUID by which the parent key is
|
||||
registered in persistent storage.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_RegisterKey\fR returns TSS_SUCCESS on success, otherwise
|
||||
one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhContext\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_PS_KEY_NOTFOUND
|
||||
The key cannot be found in the persistent storage database.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.SH "EXAMPLE"
|
||||
.nf
|
||||
#include <trousers/tss.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
TSS_FLAGS initFlags = ...;
|
||||
TSS_HKEY hKey, hSRK;
|
||||
TSS_UUID keyUUID = {...};
|
||||
|
||||
// Create a TSP handle
|
||||
result = Tspi_Context_Create(&hContext);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
// Connect to the TCSD
|
||||
result = Tspi_Context_Connect(hContext, GLOBALSERVER);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
// Create the Key Object
|
||||
result = Tspi_Context_CreateObject(hContext,
|
||||
TSS_OBJECT_TYPE_RSAKEY,
|
||||
initFlags, &hKey);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
// Load parent Key by UUID
|
||||
result = Tspi_Context_LoadKeyByUUID(hContext, TSS_PS_TYPE_SYSTEM,
|
||||
SRK_UUID, &hSRK);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
// Do policy/secret handling here
|
||||
|
||||
result = Tspi_Key_CreateKey(hKey, hSRK, 0);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
// Register the Key in System PS (on the TCSD's platform)
|
||||
result = Tspi_Context_RegisterKey(hContext, hKey, TSS_PS_TYPE_SYSTEM,
|
||||
keyUUID, TSS_PS_TYPE_SYSTEM,
|
||||
SRK_UUID);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
/* ...
|
||||
*
|
||||
* Use the key as needed, exiting the program if necessary, reloading
|
||||
* the key using Tspi_Context_LoadKeyByUUID() after each restart. Once
|
||||
* the key is no longer useful, unregister it from system PS as part
|
||||
* of clean up.
|
||||
*/
|
||||
|
||||
// Unregister the Key
|
||||
result = Tspi_Context_UnregisterKey(hContext, TSS_PS_TYPE_SYSTEM,
|
||||
migratableSignUUID, &hKey);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
// exit, discarding hKey
|
||||
}
|
||||
.fi
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_RegisterKey\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_UnregisterKey\fR(3), \fBTspi_Context_LoadKeyByUUID\fR(3),
|
||||
\fBTspi_Context_GetRegisteredKeyByUUID\fR(3).
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Context_UnregisterKey" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Context_UnregisterKey \- unregister a key from the persistent storage device.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Context_UnregisterKey(TSS_HCONTEXT " hContext ", TSS_FLAG " persistentStorageType ","
|
||||
.BI " TSS_UUID " uuidKey ", TSS_HKEY* " phKey ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTSS_Context_UnregisterKey\fR
|
||||
provides the capabilities of the TSS Core Service or TSS Service Provider
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hContext
|
||||
The handle of the context object.
|
||||
.PP
|
||||
.SS persistentStorageType
|
||||
Flag indicating the persistent storage.
|
||||
.PP
|
||||
.SS uuidKey
|
||||
The UUID of the key to be removed from the persistent storage.
|
||||
.PP
|
||||
.SS phKey
|
||||
Recieves the handle of a key object containing the information from the archive.
|
||||
.PP
|
||||
.SS pulRespDataLength
|
||||
Recieves the length (in bytes) of the prgbRespData parameter.
|
||||
.PP
|
||||
.SS prgbRespData
|
||||
On successful completion of the command, this parameter points to the buffer containing the actual data of the specified capability.
|
||||
The handle of the object to be destroyed
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Context_UnregisterKey\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - the parameter \fIhContext\fR is an invalid parameter.
|
||||
.TP
|
||||
.SM TSS_E_PS_KEY_NOTFOUND - the parameter \fIuuidKey\fR is an invalid UUID.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
.SH "EXAMPLE"
|
||||
.nf
|
||||
#include <trousers/tss.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
TSS_FLAGS initFlags = ...;
|
||||
TSS_HKEY hKey, hSRK;
|
||||
TSS_UUID keyUUID = {...};
|
||||
|
||||
// Create a TSP handle
|
||||
result = Tspi_Context_Create(&hContext);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
// Connect to the TCSD
|
||||
result = Tspi_Context_Connect(hContext, GLOBALSERVER);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
// Create the Key Object
|
||||
result = Tspi_Context_CreateObject(hContext,
|
||||
TSS_OBJECT_TYPE_RSAKEY,
|
||||
initFlags, &hKey);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
// Load parent Key by UUID
|
||||
result = Tspi_Context_LoadKeyByUUID(hContext, TSS_PS_TYPE_SYSTEM,
|
||||
SRK_UUID, &hSRK);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
// Do policy/secret handling here
|
||||
|
||||
result = Tspi_Key_CreateKey(hKey, hSRK, 0);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
// Register the Key in System PS (on the TCSD's platform)
|
||||
result = Tspi_Context_RegisterKey(hContext, hKey, TSS_PS_TYPE_SYSTEM,
|
||||
keyUUID, TSS_PS_TYPE_SYSTEM,
|
||||
SRK_UUID);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
/* ...
|
||||
*
|
||||
* Use the key as needed, exiting the program if necessary, reloading
|
||||
* the key using Tspi_Context_LoadKeyByUUID() after each restart. Once
|
||||
* the key is no longer useful, unregister it from system PS as part
|
||||
* of clean up.
|
||||
*/
|
||||
|
||||
// Unregister the Key
|
||||
result = Tspi_Context_UnregisterKey(hContext, TSS_PS_TYPE_SYSTEM,
|
||||
migratableSignUUID, &hKey);
|
||||
if (result != TSS_SUCCESS)
|
||||
Error_Path();
|
||||
|
||||
// exit, discarding hKey
|
||||
}
|
||||
.fi
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_UnregisterKey\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_CreateKey\fR(3), \fBTspi_Context_RegisterKey\fR(3).
|
|
@ -0,0 +1,103 @@
|
|||
.\" Copyright (C) 2006 International Business Machines Corporation
|
||||
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_DAA_IssueCredential" 3 "2006-09-04" "TSS 1.2"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_DAA_IssueCredential \- issue a DAA credential for a TCG platform
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSPICALL Tspi_DAA_IssueCredential("
|
||||
.BI " TSS_HDAA " hDAA ","
|
||||
.BI " UINT32 " attributesIssuerLength ","
|
||||
.BI " BYTE** " attributesIssuer ","
|
||||
.BI " TSS_DAA_CREDENTIAL_REQUEST " credentialRequest ","
|
||||
.BI " TSS_DAA_JOIN_ISSUER_SESSION " joinSession ","
|
||||
.BI " TSS_DAA_CRED_ISSUER* " credIssuer
|
||||
.BI ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\Tspi_DAA_IssueCredential\fR
|
||||
is part of the DAA Issuer component. It's the last function out of 2 in order to issue a DAA
|
||||
Credential for a TCG Platform. It detects rogue TPM according to published rogue TPM DAA keys.
|
||||
This is an optional function and does not require a TPM or a TCS.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hDAA
|
||||
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
|
||||
.SS attributesIssuerLength
|
||||
The \fIattributesIssuerLength\fR parameter is the length of the attributesIssuer array, which is
|
||||
determined by the DAA Issuer public key (li). The length of a single attribute is if/8.
|
||||
.SS attributesIssuer
|
||||
The \fIattributesIssuer\fR parameter is the array of attributes to be encoded into the DAA Credential
|
||||
visible to the DAA Issuer .
|
||||
.SS credentialRequest
|
||||
The \fIcredentialRequest\fR parameter is the credential request of the Platform, it contains the
|
||||
blinded DAA public key of the platform on which the DAA Issuer will issue the credential the
|
||||
blinded attributes chosen by the Platform.
|
||||
.SS joinSession
|
||||
The \fIjoinSession\fR parameter is the structure containing the DAA Join session information.
|
||||
.SS credIssuer
|
||||
The \fIcredIssuer\fR parameter is the structure containing the DAA Credential issued by the DAA
|
||||
Issuer, the proof of correctness of the credential and the attributes chosen by the DAA Issuer.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_DAA_IssueCredential\fR returns TSS_SUCCESS on success, otherwise one of the
|
||||
following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
.TP
|
||||
.SM TSS_E_DAA_AUTHENTICATION_ERROR
|
||||
The authentication proof of the TPM is incorrect.
|
||||
.TP
|
||||
.SM TSS_E_DAA_PSEUDONYM_ERROR
|
||||
The TPM is rogue.
|
||||
.TP
|
||||
.SM TSS_E_DAA_CREDENTIAL_REQUEST_PROOF_ERROR
|
||||
The proof of the credential request is incorrect.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
.PP
|
||||
\fBTspi_DAA_IssueCredential\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.2
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_DAA_IssuerKeyVerification\fR(3)
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
.\" Copyright (C) 2006 International Business Machines Corporation
|
||||
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_DAA_IssueInit" 3 "2006-09-04" "TSS 1.2"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_DAA_IssueInit \- initialize the Issuer for a join operation
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSPICALL Tspi_DAA_IssueInit("
|
||||
.BI " TSS_HDAA " hDAA ","
|
||||
.BI " TSS_HKEY " issuerAuthPK ","
|
||||
.BI " TSS_HKEY " issuerKeyPair ","
|
||||
.BI " TSS_DAA_IDENTITY_PROOF " identityProof ","
|
||||
.BI " UINT32 " capitalUprimeLength ","
|
||||
.BI " BYTE* " capitalUprime ","
|
||||
.BI " UINT32 " daaCounter ","
|
||||
.BI " UINT32* " nonceIssuerLength ","
|
||||
.BI " BYTE** " nonceIssuer ","
|
||||
.BI " UINT32* " authenticationChallengeLength ","
|
||||
.BI " BYTE** " authenticationChallenge ","
|
||||
.BI " TSS_DAA_JOIN_ISSUER_SESSION* " joinSession
|
||||
.BI ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\Tspi_DAA_IssueInit\fR
|
||||
is a function that is part of the DAA Issuer component. It's the first function out of 2 in order
|
||||
to issue a DAA Credential for a TCG Platform. It assumes that the endorsement key and its associated
|
||||
credentials are from a genuine and valid TPM. (Verification of the credentials is a process defined
|
||||
by the TCG Infrastructure WG.)
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hDAA
|
||||
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
|
||||
.SS issuerAuthPK
|
||||
The \fIissuerAuthPKh\fR parameter is the root authentication (public) key of DAA Issuer.
|
||||
.SS issuerKeyPair
|
||||
The \fIissuerKeyPair\fR parameter is the handle of the main DAA Issuer key pair (private and public portion).
|
||||
.SS identityProof
|
||||
The \fIidentityProof\fR parameter is the structure containing endorsement, platform and conformance
|
||||
credential of the TPM requesting the DAA Credential.
|
||||
.SS capitalUprimeLength
|
||||
The \fIcapitalUprimeLength\fR parameter is the length of capitalUprime which is .
|
||||
.SS capitalUprime
|
||||
The \fIcapitalUprime\fR parameter is U'.
|
||||
.SS daaCounter
|
||||
The \fIdaaCounter\fR parameter is the DAA counter.
|
||||
.SS nonceIssuerLength
|
||||
The \fInonceIssuerLength\fR parameter is the length of nonceIssuer (20 bytes).
|
||||
.SS nonceIssuer
|
||||
The \fInonceIssuer\fR parameter is the nonce of the DAA Issuer.
|
||||
.SS authenticationChallengeLength
|
||||
The \fIauthenticationChallengeLength\fR parameter is the length of authenticationChallenge
|
||||
(256 bytes - DAA_SIZE_NE1).
|
||||
.SS authenticationChallenge
|
||||
The \fIauthenticationChallenge\fR parameter is the second nonce of the DAA Issuer that is
|
||||
encrypted by the endorsement public key. It is used as a challenge to authenticate the TPM.
|
||||
.SS joinSession
|
||||
The \fIjoinSession\fR parameter is the structure containing the DAA Join session information.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_DAA_IssueInit\fR returns TSS_SUCCESS on success, otherwise one of the
|
||||
following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
Either the DAA is not valid.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
.PP
|
||||
\fBTspi_DAA_IssueInit\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.2
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_DAA_IssuerKeyVerification\fR(3)
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
.\" Copyright (C) 2006 International Business Machines Corporation
|
||||
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_DAA_IssueSetup" 3 "2006-09-04" "TSS 1.2"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_DAA_IssueSetup \- generate a DAA Issuer public and private key
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSPICALL Tspi_DAA_IssueSetup("
|
||||
.BI " TSS_HDAA " hDAA ","
|
||||
.BI " UINT32 " issuerBaseNameLength ","
|
||||
.BI " BYTE* " issuerBaseName ","
|
||||
.BI " UINT32 " numberPlatformAttributes ","
|
||||
.BI " UINT32 " numberIssuerAttributes ","
|
||||
.BI " TSS_HKEY* " keyPair ","
|
||||
.BI " TSS_DAA_PK_PROOF** " identity_proof
|
||||
.BI ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\Tspi_DAA_IssueSetup\fR
|
||||
is part of the DAA Issuer component. It defines the generation of a DAA Issuer
|
||||
public and secret key. Further it defines the generation of a non-interactive proof (using
|
||||
the Fiat-Shamir heuristic) that the public keys were chosen correctly. The latter will guarantee
|
||||
the security requirements of the platform (respectively, its user), i.e., that the privacy and
|
||||
anonymity of signatures will hold.
|
||||
The generation of the authentication keys of the DAA Issuer, which are used to authenticate
|
||||
(main) DAA Issuer keys, is not defined by this function.
|
||||
This is an optional function and does not require a TPM or a TCS.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hDAA
|
||||
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
|
||||
.SS issuerBaseNameLength
|
||||
The \fIissuerBaseNameLength\fR parameter is the length of the issuerBaseName.
|
||||
.SS issuerBaseName
|
||||
The \fIissuerBaseName\fR parameter is the unique name of the DAA Issuer.
|
||||
.SS numberPlatformAttributes
|
||||
The \fInumberPlatformAttributes\fR parameter is the number of attributes that the Platform can choose and which will not be visible to the Issuer.
|
||||
.SS numberIssuerAttributes
|
||||
The \fInumberIssuerAttributes\fR parameter is number of attributes that the Issuer can choose and which will be visible to both the Platform and the Issuer.
|
||||
.SS keyPair
|
||||
The \fIkeyPair\fR parameter is the handle of the main DAA Issuer key pair (private and public portion).
|
||||
.SS publicKeyProof
|
||||
The \fIpublicKeyProof\fR parameter is the Handle of the proof of the main DAA Issuer public key.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_DAA_IssueSetup\fR returns TSS_SUCCESS on success, otherwise one of the
|
||||
following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
Either the DAA is not valid.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
.PP
|
||||
\fBTspi_DAA_IssueSetup\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.2
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_DAA_IssuerKeyVerification\fR(3)
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
.\" Copyright (C) 2006 International Business Machines Corporation
|
||||
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_DAA_IssuerKeyVerification" 3 "2006-09-04" "TSS 1.2"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_DAA_IssuerKeyVerification \- verifies the DAA public key
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSPICALL Tspi_DAA_IssuerKeyVerification("
|
||||
.BI " TSS_HDAA " hDAA ","
|
||||
.BI " TSS_HKEY " issuerPk ","
|
||||
.BI " TSS_DAA_PK_PROOF* " issuerPkProof ","
|
||||
.BI " TSS_BOOL* " isCorrect
|
||||
.BI ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\Tspi_DAA_IssuerKeyVerification\fR
|
||||
verifies the DAA public key of a DAA Issuer with respect to its associated proof.
|
||||
This is a resource consuming task. It can be done by trusted third party (certification).
|
||||
This is an optional function and does not require a TPM or a TCS.
|
||||
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hDAA
|
||||
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
|
||||
.SS issuerPk
|
||||
The \fIissuerPk\fR parameter is a DAA Issuer public key.
|
||||
.SS issuerPkProof
|
||||
The \fIissuerPkProof\fR parameter is a structure representing the proofs of the correctness of the DAA Issuer public key.
|
||||
.SS isCorrect
|
||||
The \fIisCorrect\fR parameter is the return corectness of the proof.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_DAA_IssuerKeyVerification\fR returns TSS_SUCCESS on success, otherwise one of the
|
||||
following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
Either the DAA is not valid.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
.PP
|
||||
\fBTspi_DAA_IssuerKeyVerification\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.2
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_DAA_IssueSetup\fR(3)
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
.\" Copyright (C) 2006 International Business Machines Corporation
|
||||
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_DAA_VerifyInit" 3 "2006-09-04" "TSS 1.2"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_DAA_VerifyInit \- creates a challenge for the TCG platform
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSPICALL Tspi_DAA_VerifyInit("
|
||||
.BI " TSS_HDAA " hDAA ","
|
||||
.BI " UINT32* " nonceVerifierLength ","
|
||||
.BI " BYTE** " nonceVerifier ","
|
||||
.BI " UINT32* " baseNameLength ","
|
||||
.BI " BYTE** " baseName
|
||||
.BI ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\Tspi_DAA_VerifyInit\fR
|
||||
is part of the DAA Verifier component. It's the first function out of 2 in order to verify
|
||||
a DAA Credential of a TCG platform. It creates a challenge for the TCG platform.
|
||||
This is an optional function and does not require a TPM or a TCS.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hDAA
|
||||
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
|
||||
.SS nonceVerifierLength
|
||||
The \fInonceVerifierLength\fR parameter is the length of the nonceVerifier.
|
||||
.SS nonceVerifier
|
||||
The \fInonceVerifier\fR parameter is the challenge for the platform.
|
||||
.SS baseNameLength
|
||||
The \fIbaseNameLength\fR parameter is the length of the baseName.
|
||||
.SS baseName
|
||||
The \fIbaseName\fR parameter is the base name that was chosen for the DAA Signature.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_DAA_VerifyInit\fR returns TSS_SUCCESS on success, otherwise one of the
|
||||
following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
.TP
|
||||
.SH "CONFORMING TO"
|
||||
.PP
|
||||
\fBTspi_DAA_VerifyInit\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.2
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_DAA_IssuerKeyVerification\fR(3)
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
.\" Copyright (C) 2006 International Business Machines Corporation
|
||||
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_DAA_VerifySignature" 3 "2006-09-04" "TSS 1.2"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_DAA_VerifySignature \- creates a challenge for the TCG platform
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSPICALL Tspi_DAA_VerifySignature("
|
||||
.BI " TSS_HDAA " hDAA ","
|
||||
.BI " TSS_DAA_SIGNATURE " daaSignature ","
|
||||
.BI " TSS_HKEY " hPubKeyIssuer ","
|
||||
.BI " TSS_DAA_SIGN_DATA " signData ","
|
||||
.BI " UINT32 " attributesLength ","
|
||||
.BI " BYTE** " attributes ","
|
||||
.BI " UINT32 " nonceVerifierLength ","
|
||||
.BI " BYTE* " nonceVerifier ","
|
||||
.BI " UINT32 " baseNameLength ","
|
||||
.BI " BYTE* " baseName ","
|
||||
.BI " TSS_BOOL* " isCorrect
|
||||
.BI ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\Tspi_DAA_VerifySignature\fR
|
||||
is part of the DAA Verifier component. It's the last function out of 2 in order to verify a
|
||||
DAA Credential of a TCG platform. It verifies the DAA Credential and detects public rogue TPMs.
|
||||
This is an optional function and does not require a TPM or a TCS.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hDAA
|
||||
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
|
||||
.SS daaSignature
|
||||
The \fIdaaSignature\fR parameter is the DAA signature contains proof of
|
||||
ownership of the DAA Credential, as well as a signature on either an AIK or a message.
|
||||
.SS hPubKeyIssuer
|
||||
The \fIhPubKeyIssuer\fR parameter is the handle of the DAA public key of the DAA Issuer
|
||||
of the credential.
|
||||
.SS signData
|
||||
The \fIsignData\fR parameter defines what data is signed (AIK or message).
|
||||
.SS attributesLength
|
||||
The \fIattributesLength\fR parameter is the Length of attributes array that is determined by
|
||||
the DAA Issuer public key (lh+li). The length of a single attribute is lf/8.
|
||||
.SS attributes
|
||||
The \fIattributes\fR parameter is the array of attributes which the DAA Credential owner reveals.
|
||||
.SS nonceVerifierLength
|
||||
The \fInonceVerifierLength\fR parameter is the length of nonceVerifier (20 bytes).
|
||||
.SS nonceVerifier
|
||||
The \fInonceVerifier\fR parameter is the nonce that was computed in the previous function (Tspi_VerifyInit).
|
||||
.SS baseNameLength
|
||||
The \fIbaseNameLength\fR parameter the length of the baseName.
|
||||
.SS baseName
|
||||
The \fIbaseName\fR parameter is the base name that was chosen for the DAA Signature.
|
||||
.SS isCorrect
|
||||
The \fIisCorrect\fR parameter denotes if the verification of the DAA Signature was successful.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_DAA_VerifySignature\fR returns TSS_SUCCESS on success, otherwise one of the
|
||||
following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
.TP
|
||||
.SH "CONFORMING TO"
|
||||
.PP
|
||||
\fBTspi_DAA_VerifySignature\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.2
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_DAA_IssuerKeyVerification\fR(3)
|
||||
|
|
@ -0,0 +1,116 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Data_Bind" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_Data_Bind \- Encrypts a data blob
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Data_Bind(TSS_HENCDATA " hEncData ", TSS_HKEY " hEncKey ","
|
||||
.BI " UINT32 " ulDataLength ", BYTE* " rgbDataToBind ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Data_Bind\fR encrypts a data blob in a manner
|
||||
that is decryptable by \fBTspi_Data_Unbind\fR. The data blob is
|
||||
encrypted using a public key operation with the key addressed by the
|
||||
given encryption key object. To bind data that is larger than the RSA
|
||||
public key modulus is the responsibility of the caller to perform the
|
||||
blocking and subsequent combination of data. The bound data blob is
|
||||
stored in the data object addressed by \fIhEncData\fR and can be
|
||||
exported from the object by \fBTspi_GetAttribData\fR. The caller of
|
||||
this function should perform validations that the public key presented
|
||||
to it is from a valid TPM.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hEncData
|
||||
The handle of the data object which contains the encrypted data on
|
||||
successful completion of the command.
|
||||
.SS hEncKey
|
||||
Handle to the key object addressing the public key which is used
|
||||
to encrypt the data.
|
||||
.SS ulDataLength
|
||||
Indicates the length of the data provided at the parameter \fIrgbDataToBind\fR.
|
||||
.SS rgbDataToBind
|
||||
A pointer to the data to be encrypted.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Data_Bind\fR returns TSS_SUCCESS on success, otherwise one of
|
||||
the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhHash\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INVALID_ENCSCHEME
|
||||
Invalid encryption scheme.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_ENC_INVALID_LENGTH
|
||||
Invalid length of data to be encypted.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_ENC_NO_DATA
|
||||
No data to encrypt.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_ENC_INVALID_TYPE
|
||||
Invalid encryption type.
|
||||
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Data_Bind\fR conforms to the Trusted Computing Group Software
|
||||
Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Data_Unbind\fR(3), \fBTspi_Data_Unseal\fR(3),
|
||||
\fBTspi_Data_Seal\fR(3).
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Data_Seal" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Data_Seal \- encrypt a data blob in a mannar that is only decryptable by Tspi_Data_Unseal on the same system.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Data_Seal(TSS_HENCDATA " hEncData ", TSS_HKEY " hEncKey ","
|
||||
.BI " UINT32 " ulDataLength ", BYTE* " rgbDataToSeal ","
|
||||
.BI " TSS_HPCRS " hPcrComposite ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Data_Seal\fR encrypts a data blob in a mannar that is only decryptable by Tspi_Data_Unseal on the same system. The data blob is encrypted using a public key operation with the nonmigratable key addressed by the given encryption key object.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hEncData
|
||||
Handle of the data object which contains the sealed data on successful completion of the command.
|
||||
.PP
|
||||
.SS hEncKey
|
||||
Handle to the key object addressing the nonmigratable key which is used to encrypt the data.
|
||||
.PP
|
||||
.SS ulDataLength
|
||||
The Length (in bytes) of the rgbDataToSeal parameter.
|
||||
.PP
|
||||
.SS rgbDataToSeal
|
||||
Pointer to memory containing the data to be encrypted.
|
||||
.PP
|
||||
.SS hPcrComposite
|
||||
Handle of the PCR Composite object specifying the PCRs which are part of the sealed data blob. Set to NULL, if the encrypted data should only be bound to the system and PCRs are not of interest.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Data_Seal\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - One of the following parameters \fIhEncData\fR, \fIhEncKey\fR, \fIrgbDataToSeal\fR is invalid.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Data_Seal\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Data_Unseal\fR(3).
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Data_Unbind" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_Data_Unbind \- Decrypts data that has been bound to a key
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Data_Unbind(TSS_HENCDATA " hEncData ", TSS_HKEY " hEncKey ","
|
||||
.BI " UINT32* " pulUnboundDataLength ", BYTE** " prgbUnboundData ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Data_Unbind\fR decrypts the encrypted data
|
||||
blob exportedfrom the data object used in \fBTspi_Data_Bind\fR. The
|
||||
encrypted data blob must be imported to the object addressed by
|
||||
\fBTspi_SetAttribData\fR before calling this method.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hEncData
|
||||
The handle of the data object which contains the encrypted data.
|
||||
.SS hEncKey
|
||||
Handle to the key object addressing the private key which is used
|
||||
to decrypt the data.
|
||||
.SS pulDataLength
|
||||
Receives the length of the data at the parameter \fIprgbUnboundData\fR.
|
||||
.SS prgbUnboundData
|
||||
Receives a pointer to a buffer containing the plaintext data.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Data_Unbind\fR returns TSS_SUCCESS on success, otherwise one
|
||||
of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhEncData\fR or \fIhEncKey\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INVALID_ENCSCHEME
|
||||
Invalid encryption scheme.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_ENC_INVALID_LENGTH
|
||||
Invalid length of data to be encypted.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_ENC_NO_DATA
|
||||
No data to encrypt.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_ENC_INVALID_TYPE
|
||||
Invalid encryption type.
|
||||
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Data_Unbind\fR conforms to the Trusted Computing Group Software
|
||||
Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Data_Bind\fR(3), \fBTspi_Data_Unseal\fR(3),
|
||||
\fBTspi_Data_Seal\fR(3).
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Data_Unseal" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Data_Unseal \- dencrypt data encrypted by Tspi_Data_Seal() only if it was encrypted on the same platform and under the current configuration.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Data_Unseal(TSS_HENCDATA " hEncData ", TSS_HKEY " hKey ","
|
||||
.BI " UINT32 " pulUnsealedDataLength ", BYTE** " prgbUnsealedData ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Data_Unseal\fR reveals data encrypted by the Tspi_Data_Seal only if it was encrypted on the same platform and the current configuration. This is internally proofed and guaranteed by the TPM.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hEncData
|
||||
Handle of the data object which contains the sealed data.
|
||||
.PP
|
||||
.SS hKey
|
||||
Handle to the key object addressing the nonmigratable key which is used to decrypt the data.
|
||||
.PP
|
||||
.SS pulUnsealedDataLength
|
||||
The length (in bytes) of the prgbUnsealedData parameter.
|
||||
.PP
|
||||
.SS prgbUnsealedData
|
||||
On successful completion of the command, this parameter points to a buffer containing the plaintext data.
|
||||
.PP
|
||||
.SS hPcrComposite
|
||||
Handle of the PCR Composite object specifying the PCRs which are part of the sealed data blob. Set to NULL, if the encrypted data should only be bound to the system and PCRs are not of interest.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Data_Unseal\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fBhEncData\fR or \fBhKey\fR is not a valid handle.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Data_Unseal\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Data_Seal\fR(3).
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
.\" Copyright (C) 2007 International Business Machines Corporation
|
||||
.\" Written by Tom Lendacky based on the Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_DecodeBER_TssBlob" 3 "2007-06-12" "TSS 1.2" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_DecodeBER_TssBlob \- unwraps a BER-encoded TSS blob.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_DecodeBER_TssBlob(UINT32 " berBlobSize ", BYTE* " berBlob ","
|
||||
.BI " UINT32* " blobType ", UINT32* " rawBlobSize ","
|
||||
.BI " BYTE* " rawBlob ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_DecodeBER_TssBlob\fR is used to unwrap a BER-encoded blob in accordance with the ASN.1 data definitions in the Portable Data section of the Trusted Computing Group Software Stack Specification Version 1.2.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS berBlobSize
|
||||
Size of the BER-encoded blob.
|
||||
.PP
|
||||
.SS berBlob
|
||||
Pointer to the BER-encoded blob.
|
||||
.PP
|
||||
.SS blobType
|
||||
Pointer to the type of blob being unwrapped (refer to the TSS_BLOB_TYPE_* constants).
|
||||
.PP
|
||||
.SS rawBlobSize
|
||||
Pointer to the size of the rawBlob buffer. On input this parameter contains a pointer to the maximum size of the supplied rawBlob buffer. On output this parameter contains a pointer to the actual size of the unwrapped blob. On input, if this parameter points to a value of 0, then this function will return the size of the buffer required to hold the unwrapped blob without writing to the rawBlob buffer.
|
||||
.sp
|
||||
\fBNote:\fR The output data must be shorter than the BER-encoding, so berBlobSize is a useful upper limit on rawBlob buffer size.
|
||||
.PP
|
||||
.SS rawBlob
|
||||
Pointer to a buffer to hold the unwrapped blob.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_EncodeDER_TssBlob\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_DecodeBER_TssBlob\fR conforms to the Trusted Computing Group Software Specification Version 1.2
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_DecodeBER_TssBlob\fR(3).
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
.\" Copyright (C) 2007 International Business Machines Corporation
|
||||
.\" Written by Tom Lendacky based on the Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_EncodeDER_TssBlob" 3 "2007-06-12" "TSS 1.2" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_EncodeDER_TssBlob \- generate a DER encoded TSS blob.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_EncodeDER_TssBlob(UINT32 " rawBlobSize ", BYTE* " rawBlob ","
|
||||
.BI " UINT32 " blobType ", UINT32* " derBlobSize ","
|
||||
.BI " BYTE* " derBlob ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_EncodeDER_TssBlob\fR is used to generate a DER-encoded blob in accordance with the ASN.1 data definitions in the Portable Data section of the Trusted Computing Group Software Stack Specification Version 1.2.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS rawBlobSize
|
||||
Size of the unwrapped blob.
|
||||
.PP
|
||||
.SS rawBlob
|
||||
Pointer to the unwrapped blob.
|
||||
.PP
|
||||
.SS blobType
|
||||
Type of blob being wrapped (refer to the TSS_BLOB_TYPE_* constants).
|
||||
.PP
|
||||
.SS derBlobSize
|
||||
Pointer to the size of the derBlob buffer. On input this parameter contains a pointer to the maximum size of the supplied derBlob buffer. On output this parameter contains a pointer to the actual size of the DER-encoded blob. On input, if this parameter points to a value of 0, then this function will return the size of the buffer required to hold the DER-encoded blob without writing to the derBlob buffer.
|
||||
.sp
|
||||
\fBNote:\fR If the raw data blob length is less than 2^16 bytes then the DER-encoding may add no more than 20 bytes.
|
||||
.PP
|
||||
.SS derBlob
|
||||
Pointer to a buffer to hold the DER-encoded blob.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_EncodeDER_TssBlob\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_EncodeDER_TssBlob\fR conforms to the Trusted Computing Group Software Specification Version 1.2
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_DecodeBER_TssBlob\fR(3).
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_GetAttribData" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_GetAttribData \- get a non 32bit attribute of the object.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_GetAttribData(TSS_HOBJECT " hObject ", TSS_FLAG " attribFlag ","
|
||||
.BI " TSS_FLAG " subFlag ", UINT32* " pulAttribDataSize ","
|
||||
.BI " BYTE** " prgbAttribData ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_GetAttribData\fR is used to get the value of a particular attribute associated iwth a particular object where that attribute does not happen to be a UINT32. The structure and size of the attribute data depends on the attribute.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hObject
|
||||
Handle of the object where to retrieve the attribute.
|
||||
.PP
|
||||
.SS attribFlag
|
||||
Flag indicating the attribute to query.
|
||||
.PP
|
||||
.SS subFlag
|
||||
Sub flag indicating the attribute to query.
|
||||
.PP
|
||||
.SS pulAttribDataSize
|
||||
Recieves the length (in bytes) of the prgbAttribData parameter.
|
||||
.PP
|
||||
.SS prgbAttribData
|
||||
On successful completion of the command, this parameter points to a buffer containing the actual data of the specified attribute.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_GetAttribData\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fIhObject\fR, \fIattribFlag\fR, or \fIsubFlag\fR are invalid.
|
||||
.TP
|
||||
.SM TSS_E_ATTRIB_FLAG
|
||||
.TP
|
||||
.SM TSS_E_ATTRIB_SUBFLAG
|
||||
.TP
|
||||
.SM TSS_E_ATTRIB_DATA
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_GetAttribData\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_SetAttribData\fR(3).
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_GetAttribUint32" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developers Reference
|
||||
.SH NAME
|
||||
Tspi_GetAttribUint32 \- get the value of particular attribute associated with a given class or object
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_GetAttribUint32(TSS_HOBJECT " hObject ", TSS_FLAG " attribFlag ","
|
||||
.BI " TSS_FLAG " subFlag ", UINT32* " pulAttrib "); "
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_GetAttribUint32\fR
|
||||
returns a specified uint32 attribute associated with a given class
|
||||
or object. In order to use this command, you must first create an
|
||||
object and then find the attributes you wish to set.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hObject
|
||||
The \fIhObject\fR parameter is the handle of the object to retrieve
|
||||
the attribute from.
|
||||
.SS attribFlag
|
||||
The \fIattribFlag\fR parameter indicates the specific attribute to query.
|
||||
.SS subFlag
|
||||
The \fIsubFlag\fR parameter also indicates the specific attribute to query.
|
||||
.SS pulAttrib
|
||||
The \fIpulAttrib\fR parameter is a pointer to the location where the
|
||||
attribute value is returned.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_GetAttribUint32\fR returns TSS_SUCCESS on success, otherwise
|
||||
one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhObject\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INVALID_ATTRIB_FLAG
|
||||
\fIattribFlag\fR is incorrect.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INVALID_ATTRIB_SUBFLAG
|
||||
\fIsubFlag\fR is incorrect.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INVALID_ATTRIB_DATA
|
||||
\fIpulAttrib\fR is incorrect.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_GetAttribUint32\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_GetAttribData\fR(3), \fBTspi_SetAttribUint32\fR(3),
|
||||
\fBTspi_SetAttribData\fR(3).
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_GetPolicyObject" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developers Reference
|
||||
.SH NAME
|
||||
Tspi_GetPolicyObject \- get a policy object assigned to a working object
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_GetPolicyObject(TSS_HOBJECT " hObject ", TSS_FLAG " policyType ","
|
||||
.BI " TSS_HPOLICY* " phPolicy "); "
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_GetPolicyObject\fR
|
||||
returns a policy object currently assigned to a working object. If you
|
||||
determine that the policy is different from what you require, you can
|
||||
change the policy by creating a new one and using Tspi_Policy_AssignToObject.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hObject
|
||||
The \fIhObject\fR parameter is the handle of the object.
|
||||
.SS policyType
|
||||
The \fIpolicyType\fR parameter indicates the policy type of interest.
|
||||
Types are TSS_POLICY_USAGE and TSS_POLICY_MIGRATION.
|
||||
.SS phPolicy
|
||||
The \fIphPolicy\fR parameter receives the handle to the assigned policy object.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_GetPolicyObject\fR returns TSS_SUCCESS on success, otherwise
|
||||
one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhContext\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_GetPolicyObject\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_GetTpmObject\fR(3), \fBTspi_Context_LoadKeyByUUID\fR(3),
|
||||
\fBTspi_SetAttribUint32\fR(3), \fBTspi_Policy_AssignToObject\fR(3).
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Hash_GetHashValue" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_Hash_GetHashValue \- get the current hash value of a hash object
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Hash_GetHashValue(TSS_HHASH " hHash ", UINT32* " pulHashValueLength ", BYTE** " prgbHashValue ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Hash_GetHashValue\fR gets the hash value of
|
||||
a hash object. \fBTspi_Context_FreeMemory\fR must be used to clean
|
||||
up after this function, as memory is allocated for the
|
||||
\fIprgbHashValue\fR data.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hHash
|
||||
The handle to the hash object instance whose hash value should be signed.
|
||||
.SS pulHashValueLength
|
||||
Receives the length of the hash value data returned at the parameter
|
||||
\fIprgbHashValue\fR.
|
||||
.SS prgbHashValue
|
||||
Receives a pointer to the hash value data.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Hash_GetHashValue\fR returns TSS_SUCCESS on success, otherwise
|
||||
one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhHash\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_HASH_INVALID_LENGTH
|
||||
Hash length is inconsistent with hash algorithm.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_HASH_NO_DATA
|
||||
Hash object has no internal hash value.
|
||||
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Hash_GetHashValue\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Hash_UpdateHash\fR(3), \fBTspi_Hash_Sign\fR(3),
|
||||
\fBTspi_Hash_VerifySignature\fR(3), \fBTspi_Hash_SetHashValue\fR(3).
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Hash_SetHashValue" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_Hash_SetHashValue \- Sets the hash value of a hash object for non-SHA1 hash objects.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Hash_SetHashValue(TSS_HHASH " hHash ", UINT32 " ulHashValueLength ", BYTE* " rgbHashValue ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Hash_SetHashValue\fR sets the hash value of
|
||||
a hash object. If the object was created with the flag TSS_HASH_OTHER,
|
||||
then the hash identifier has to be set by calling \fBTspi_SetAttribData\fR
|
||||
to perform the sign operation.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hHash
|
||||
The handle to the hash object instance whose hash value should be signed.
|
||||
.SS ulHashValueLength
|
||||
Indicates the length of the hash value data provided at the parameter
|
||||
\fIrgbHashValue\fR.
|
||||
.SS rgbHashValue
|
||||
A pointer to the hash value data.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Hash_SetHashValue\fR returns TSS_SUCCESS on success, otherwise
|
||||
one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhHash\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_HASH_INVALID_LENGTH
|
||||
Hash length is inconsistent with hash algorithm.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_HASH_NO_DATA
|
||||
Hash object has no internal hash value.
|
||||
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Hash_SetHashValue\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Hash_UpdateHash\fR(3), \fBTspi_Hash_Sign\fR(3),
|
||||
\fBTspi_Hash_GetHashValue\fR(3).
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Hash_Sign" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_Hash_Sign \- sign the hash data of an object with a signing key
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Hash_Sign(TSS_HHASH " hHash ", TSS_HKEY " hKey ","
|
||||
.BI " UINT32 " pulSignatureLength ", BYTE** " prgbSignature ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Hash_Sign\fR signs the hash data of an
|
||||
object with a given signing key. The data must be set at the hash
|
||||
instance associated with \fIhHash\fR by calling
|
||||
\fBTspi_Hash_SetHashValue\fR or \fBTspi_Hash_UpdateHash\fR. The
|
||||
\fBTspi_Hash_Sign\fR method allocates a memory block for the
|
||||
\fIprgbSignature\fR data. This memory must be released using
|
||||
\fBTspi_Context_FreeMemory\fR.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hHash
|
||||
The handle to the hash object instance whose hash value should be signed.
|
||||
.SS hKey
|
||||
Handle to the key object which should be used for the signature.
|
||||
.SS pulSignatureLength
|
||||
Receives the length of the signature data returned at the parameter
|
||||
\fIprgbSignature\fR on successful completion.
|
||||
.SS prgbSignature
|
||||
Receives a pointer to the signature data on successful completion.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Hash_Sign\fR returns TSS_SUCCESS on success, otherwise one
|
||||
of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhKey\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_HASH_INVALID_LENGTH
|
||||
Hash length is inconsistent with hash algorithm.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_HASH_NO_DATA
|
||||
Hash object has no internal hash value.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_HASH_NO_IDENTIFIER
|
||||
The hash algorithm identifier is not set.
|
||||
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Hash_Sign\fR conforms to the Trusted Computing Group Software
|
||||
Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Hash_UpdateHash\fR(3), \fBTspi_Hash_SetHashValue\fR(3),
|
||||
\fBTspi_Hash_VerifySignature\fR(3).
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Hash_UpdateHashValue" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_Hash_UpdateHashValue \- update the hash value of a hash object
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Hash_UpdateHashValue(TSS_HHASH " hHash ", UINT32 " ulDataLength ", BYTE* " rgbData ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Hash_UpdateHashValue\fR updates the hash value
|
||||
of a hash object with new information. If the object was created with
|
||||
the flag TSS_HASH_OTHER, then this method will return an error. \fBThe
|
||||
object can't be modified after Tspi_Hash_SetHashValue,
|
||||
Tspi_Hash_GetHashValue, Tspi_Hash_Sign, or Tspi_Hash_VerifySignature
|
||||
have been called on it.\fR
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hHash
|
||||
The handle to the hash object instance whose hash value should be signed.
|
||||
.SS ulDataLength
|
||||
Indicates the length of the data provided at the parameter \fIrgbData\fR.
|
||||
.SS rgbData
|
||||
A pointer to the data.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Hash_UpdateHashValue\fR returns TSS_SUCCESS on success,
|
||||
otherwise one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhHash\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_HASH_INVALID_LENGTH
|
||||
Hash length is inconsistent with hash algorithm.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_HASH_NO_DATA
|
||||
Hash object has no internal hash value.
|
||||
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Hash_UpdateHashValue\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Hash_GetHashValue\fR(3), \fBTspi_Hash_Sign\fR(3),
|
||||
\fBTspi_Hash_SetHashValue\fR(3), \fBTspi_Hash_VerifySignature\fR(3).
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Hash_VerifySignature" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_Hash_VerifySignature \- verify the hash value with a given signature
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Hash_VerifySignature(TSS_HHASH " hHash ", TSS_HKEY " hKey ","
|
||||
.BI " UINT32 " ulSignatureLength ", BYTE* " rgbSignature ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Hash_VerifySignature\fR verifies the hash value
|
||||
of a given hash object with a given signature. In order to use this
|
||||
command, one must have a hash and a signature of the hash that one is
|
||||
trying to verify. The public key which corresponds to the private key
|
||||
used to sign the hash is also needed.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hHash
|
||||
The handle to the hash object instance whose hash value should be signed.
|
||||
.SS hKey
|
||||
Handle to the key object which should be used for the signature verification.
|
||||
.SS ulSignatureLength
|
||||
The length of the signature data provided at the parameter \fIrgbSignature\fR.
|
||||
.SS rgbSignature
|
||||
A pointer to the signature data.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Hash_VerifySignature\fR returns TSS_SUCCESS on success, otherwise
|
||||
one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhKey\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_HASH_INVALID_LENGTH
|
||||
Hash length is inconsistent with hash algorithm.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_HASH_NO_DATA
|
||||
Hash object has no internal hash value.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INVALID_SIGSCHEME
|
||||
Invalid signature scheme.
|
||||
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Hash_VerifySignature\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Hash_UpdateHash\fR(3), \fBTspi_Hash_SetHashValue\fR(3),
|
||||
\fBTspi_Hash_Sign\fR(3), \fRTspi_Hash_GetHashValue\fR(3).
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Key_CertifyKey" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Key_CertifyKey \- sign a public key.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Key_CertifyKey(TSS_HKEY " hKey ", TSS_HKEY " hCertifyingKey ","
|
||||
.BI " TSS_VALIDATION* " pValidationData ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Key_CertifyKey\fR signs a public key.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hKey
|
||||
Handle of the key object to be loaded.
|
||||
.PP
|
||||
.SS hCertifyingKey
|
||||
Handle to the certifying key used to sign the addressed by hKey.
|
||||
.PP
|
||||
.SS pValidationData
|
||||
Pointer to a structure of the type TSS_VALIDATION. After successful completion of the call the member rgbValidationData of this structure contains the signature data of the command. The member prgbData of the structure points to a buffer containing a TCPA_CERTIFY_INFO data stream as specified within the TCPA 1.1b Main Specification.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Key_CertifyKey\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fIhKey\fR or \fIhCertifyingKey\fR are invalid handles.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_CertifyKey\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_CreateKey\fR(3), \fBTspi_Key_WrapKey\fR(3).
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Key_ConvertMigrationBlob" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_Key_ConvertMigrationBlob \- create a wrapped key from a migration blob
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Key_ConvertMigrationBlob(TSS_HKEY " hKeyToMigrate ", TSS_HKEY " hParentKey ","
|
||||
.BI " UINT32 " ulRandomLength ", BYTE* " rgbRandom ","
|
||||
.BI " UINT32 " ulMigrationBlobLength ", BYTE* " rgbMigrationBlob ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Key_ConvertMigrationBlob\fR takes the
|
||||
migration blob built by \fBTspi_Key_CreateMigrationBlob\fR using the
|
||||
migration scheme TSS_MS_MIGRATE and creates a normal wrapped key. The
|
||||
resulting normal wrapped key blob is stored in the instance associated
|
||||
with hKeyToMigrate and may be retrieved from that instance by
|
||||
\fBTspi_GetAttribData\fR.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hKeyToMigrate
|
||||
The handle of the key object to convert.
|
||||
.SS hParentKey
|
||||
Handle to the parent key related to the key addressed by \fIhKeyToMigrate\fR.
|
||||
.SS ulRandomLength
|
||||
Length of random data provided at the parameter \fIrgbRandom\fR.
|
||||
.SS rgbRandom
|
||||
Random data as returned together with the migration blob by the
|
||||
method \fBTspi_Key_CreateMigrationBlob\fR.
|
||||
.SS ulMigrationBlobLength
|
||||
Length of the migration blob data provided at the parameter \fIrgbMigrationBlob\fR.
|
||||
.SS rgbMigrationBlob
|
||||
Migration blob data as returned by a previously called method
|
||||
\fBTspi_Key_CreateMigrationBlob\fR.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Key_ConvertMigrationBlob\fR returns TSS_SUCCESS on success,
|
||||
otherwise one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhKeyToMigrate\fR or \fIhParentKey\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_ConvertMigrationBlob\fR conforms to the Trusted Computing
|
||||
Group Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_LoadKey\fR(3), \fBTspi_Key_UnloadKey\fR(3),
|
||||
\fBTspi_Key_CertifyKey\fR(3), \fBTspi_Key_CreateMigrationBlob\fR(3).
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Key_CreateKey" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Key_CreateKey \- create a key pair within the TPM, wrapping it with the key addressed by hWrappingKey.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Key_CreateKey(TSS_HKEY " hKey ", TSS_HKEY " hWrappingKey ", TSS_HPCRS " hPcrComposite ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTSS_Key_CreateKey\fR
|
||||
calls the TPM command TPM_CreateWrapKey. If hPcrComposite is not set to NULL, the created key blob is bound to this PCR values. The key object addressed by hKey must contain the key information needed for the creation.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hKey
|
||||
The handle of the key object to create.
|
||||
.PP
|
||||
.SS hWrappingKey
|
||||
The handle to the key used to wrap the newly created key.
|
||||
.PP
|
||||
.SS hPcrComposite
|
||||
The handle to an object, if the value of the handle doesn't equal NULL, the newly create key will be bound ot the PCR values described with this object.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Key_CreateKey\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fIhKey\fR, \fIhWrappingKey\fR or \fIhPcrComposite\fR are invalid parameters.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_CreateKey\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_WrapKey\fR(3), \fBTspi_Key_CertifyKey\fR(3), \fBTspi_Key_RegisterKey\fR(3).
|
|
@ -0,0 +1,97 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Key_CreateMigrationBlob" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Key_CreateMigrationBlob \- create a key blob suitable for migrating to another TPM.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Key_CreateMigrationBlob(TSS_HKEY " hKeyToMigrate ", TSS_HKEY " hParentKey ","
|
||||
.BI " UINT32 " ulMigTicketLength ", BYTE* " rgbMigTicket ","
|
||||
.BI " UINT32* " pulRandomLength ", BYTE** " prgbRandom ","
|
||||
.BI " UINT32* " pulMigrationBlobLength ", BYTE** " prgbMigrationBlob ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Key_CreateMigrationBlob\fR returns a key blob containing an encrypted section, which will be different depending on the migration scheme indicated within the migration ticket previously created by the method Tspi_TPM_AuthorizeMigrationTicket().
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hKeyToMigrate
|
||||
Handle of the key object to migrate.
|
||||
.PP
|
||||
.SS hParentKey
|
||||
Handle to the parent key related to the key addressed by hKeyToMigrate.
|
||||
.PP
|
||||
.SS ulMigTicketLength
|
||||
The length (in bytes) of the rgbMigTickey parameter.
|
||||
.PP
|
||||
.SS rgbMigTicket
|
||||
Pointer to memory containing the migration ticket (migration public key and its authorization digest).
|
||||
.PP
|
||||
.SS pulRandomLength
|
||||
On successful completion this parameter returns the random data length returned at the parameter prgbRandom.
|
||||
.PP
|
||||
.SS prgbRandom
|
||||
On successful completion this parameter returns the random data.
|
||||
.PP
|
||||
.SS pulMigrationBlobLength
|
||||
On successful completion this parameter returns the length of the migration blob data returned at the parameter prgbMigrationBlob.
|
||||
.PP
|
||||
.SS prgbMigrationBlob
|
||||
On successful completion this parameter returns the migration data blob.
|
||||
.PP
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Key_CreateMigrationBlob\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fIhKeyToMigrate\fR, \fIhParentKey\fR or \fIrgbMigTicket\fR are invalid parameters.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER - One of the passed parameters is wrong.
|
||||
.TP
|
||||
.SM TSS_E_KEY_NO_MIGRATION_POLICY - No migration policy picked.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_CreateMigrationBlob\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_CreateKey\fR(3), \fBTspi_Key_CertifyKey\fR(3).
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Key_GetPubKey" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_Key_GetPubKey \- get the public key of an object
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Key_GetPubKey(TSS_HKEY " hKey ", UINT32* " pulPubKeyLength ", BYTE** " prgbPubKey ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Key_GetPubKey\fR gets the public portion of a
|
||||
given key object.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hKey
|
||||
The \fIhKey\fR parameter is the handle of the key object to unload.
|
||||
.SS pulPubKeyLength
|
||||
The \fIpulPubKeyLength\fR parameter receives the length in bytes of the
|
||||
\fIprgbPubKey\fR parameter.
|
||||
.SS prgbPubKey
|
||||
The \fIprgbPubKey\fR parameter receives a pointer to the memory block
|
||||
containing the public key blob retrieved for the key object referenced
|
||||
by \fIhKey\fR.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Key_GetPubKey\fR returns TSS_SUCCESS on success, otherwise one of
|
||||
the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhKey\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_GetPubKey\fR conforms to the Trusted Computing Group Software
|
||||
Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_LoadKey\fR(3), \fBTspi_Key_UnloadKey\fR(3),
|
||||
\fBTspi_Key_CertifyKey\fR(3).
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
.\" Copyright (C) 2005 International Business Machines Corporation
|
||||
.\" Written by Kent Yoder based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Key_LoadKey" 3 "2005-02-01" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_Key_LoadKey \- load a key into the TPM
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Key_LoadKey(TSS_HKEY " hKey ", TSS_HKEY " hUnwrappingKey ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Key_LoadKey\fR loads the key referenced
|
||||
by \fIhKey\fR into the TPM.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hKey
|
||||
The \fIhKey\fR parameter is the handle of the key object to load.
|
||||
.SS hUnwrappingKey
|
||||
The \fIhUnwrappingKey\fR parameter is the handle of the key which should be used to unwrap the key addressed by \fIhKey\fR.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Key_LoadKey\fR returns TSS_SUCCESS on success, otherwise
|
||||
one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
Either \fIhKey\fR or \fIhUnwrappingKey\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_LoadKey\fR conforms to the Trusted Computing Group Software
|
||||
Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_UnloadKey\fR(3), \fBTspi_Key_GetPubKey\fR(3).
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Key_UnloadKey" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_Key_UnloadKey \- unload a key from the TPM
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Key_UnloadKey(TSS_HKEY " hKey ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Key_UnloadKey\fR unloads the key referenced
|
||||
by the given key object from the TPM. This call will result in a
|
||||
TPM_EvictKey operation for the specified key.
|
||||
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hKey
|
||||
The \fIhKey\fR parameter is the handle of the key object to unload.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Key_UnloadKey\fR returns TSS_SUCCESS on success, otherwise
|
||||
one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhKey\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_UnloadKey\fR conforms to the Trusted Computing Group Software
|
||||
Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_LoadKey\fR(3), \fBTspi_Key_GetPubKey\fR(3).
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
.\" Copyright (C) 2006 International Business Machines Corporation
|
||||
.\" Written by Kent Yoder based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Key_WrapKey" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Key_WrapKey \- wrap a key with the key addressed by hWrappingKey.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Key_WrapKey(TSS_HKEY " hKey ", TSS_HKEY " hWrappingKey ","
|
||||
.BI " TSS_HPCRS " hPcrComposite ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTSS_Key_WrapKey\fR
|
||||
wraps the private key \fIhKey\fR using the public key addressed by \fIhWrappingKey\fR. If hPcrComposite is not set to NULL (0), the created key blob is bound to its PCR values. The key object addressed by \fIhKey\fR must contain the key information needed for the creation. On successful return from this call, \fIhKey\fR can be loaded into a TPM. \fIhKey\fR must have been created as a migratable key and should have its usage and migrations secrets set using \fBTspi_Policy_SetSecret(3)\fR. Also, \fIhKey\fR should have had its private key set to either RSA private component, p or q.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hKey
|
||||
The handle of the key object that is wrapped.
|
||||
.PP
|
||||
.SS hWrappingKey
|
||||
The handle to the key used to wrap the newly created key.
|
||||
.PP
|
||||
.SS hPcrComposite
|
||||
The handle to an object, if the value of the handle doesn't equal NULL, the newly create key will be bound ot the PCR values described with this object.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Key_WrapKey\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fIhKey\fR, \fIhWrappingKey\fR or \fIhPcrComposite\fR are invalid handles.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_WrapKey\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Key_CreateKey\fR(3), \fBTspi_Key_CertifyKey\fR(3), \fBTspi_Key_RegisterKey\fR(3).
|
|
@ -0,0 +1,77 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_PcrComposite_GetPcrValue" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_PcrComposite_GetPcrValue \- get the digest value of a given PCR index inside a PCR composite object.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_PcrComposite_GetPcrValue(TSS_HPCRS " hPcrComposite ", UINT32 " ulPcrIndex ","
|
||||
.BI " UINT32* " ulPcrValueLength ", BYTE** " rgbPcrValue ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_PcrComposite_GetPcrValue\fR returns the digest value of a given PCR index inside a PCR composite object.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hPcrComposite
|
||||
Handle of the PCR composite object instance where a PCR value should be returned.
|
||||
.PP
|
||||
.SS ulPcrIndex
|
||||
This parameter indicates the index of the PCR to read.
|
||||
.PP
|
||||
.SS ulPcrValueLength
|
||||
The length (in bytes) of the rgbPcrValue parameter.
|
||||
.PP
|
||||
.SS rgbPcrValue
|
||||
After successful completion this parameter recieves a pointer to the memory block containing the PCR value of the PCR indicated by ulPcrIndex.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_PcrComposite_GetPcrValue\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fIhPcrComposite\fR or \fIulPcrIndex\fR is an invalid parameter.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_PcrComposite_GetPcrValue\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_PcrComposite_SelectPcrIndex\fR(3), \fBTspi_PcrComposite_SetPcrValue\fR(3).
|
||||
|
||||
|
69
crypto/external/cpl/trousers/dist/man/man3/Tspi_PcrComposite_SelectPcrIndex.3
vendored
Normal file
69
crypto/external/cpl/trousers/dist/man/man3/Tspi_PcrComposite_SelectPcrIndex.3
vendored
Normal file
|
@ -0,0 +1,69 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_PcrComposite_SelectPcrIndex" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_PcrComposite_SelectPcrIndex\- select a PCR index inside a PCR composite object.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_PcrComposite_SelectPcrIndex(TSS_HPCRS " hPcrComposite ", UINT32 " ulPcrIndex ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_PcrComposite_SelectPcrIndex\fR selects a PCR index inside a PCR composite object. The PCR composite object must be created withthe function Tspi_Context_CreateObject(). An exampled for the usage is the selection of PCR registeres before calling Tspi_TPM_Quote().
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hPcrComposite
|
||||
Handle of the PCR composite object instance where the index should be selected.
|
||||
.PP
|
||||
.SS ulPcrIndex
|
||||
This parameter indicates the index of the PCR to select.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_PcrComposite_SelectPcrIndex\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fIhPcrComposite\fR or \fIulPcrIndex\fR is an invalid handle.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_PcrComposite_SelectPcrIndex\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_Quote\fR(3), \fBTspi_PcrComposite_SetPcrValue\fR(3), \fBTspi_PcrComposite_GetPcrValue\fR(3).
|
||||
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_PcrComposite_SetPcrValue" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_PcrComposite_SetPcrValue\- set the digest for a given PCR index inside a PCR composite object.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_PcrComposite_SetPcrValue(TSS_HPCRS " hPcrComposite ", UINT32 " ulPcrIndex ","
|
||||
.BI " UINT32 " ulPcrValueLength ", BYTE* " rgbPcrValue ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_PcrComposite_SetPcrValue\fR sets the digest for a given PCR index inside the PCR composite object.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hPcrComposite
|
||||
Handle of the PCR composite object instance where a PCR value should be set.
|
||||
.PP
|
||||
.SS ulPcrIndex
|
||||
This parameter indicates the index of the PCR to set.
|
||||
.PP
|
||||
.SS ulPcrValueLength
|
||||
The length (in bytes) of the rgbPcrValue parameter.
|
||||
.PP
|
||||
.SS rgbPcrValue
|
||||
Pointer to memory containing the actual value which should be set for the PCR indicated by ulPcrIndex.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_PcrComposite_SetPcrValue\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - Either \fIhPcrComposite\fR or \fIulPcrIndex\fR is an invalid parameter.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_PcrComposite_SetPcrValue\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_PcrComposite_SelectPcrIndex\fR(3), \fBTspi_PcrComposite_GetPcrValue\fR(3).
|
||||
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Policy_AssignToObject" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developers Reference
|
||||
.SH NAME
|
||||
Tspi_Policy_AssignToObject \- assign a policy to an object
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Policy_AssignToObject(TSS_HPOLICY " hPolicy ", TSS_HOBJECT " hObject ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Policy_AssignToObject\fR assigns a given object
|
||||
to a certain policy. The object then uses its assigned policy to process
|
||||
an authorized TPM command. When each new object is initialized, it is
|
||||
assigned to the default policy, which is created when a context object
|
||||
is created. When an object is assigned to a policy, a reference is added
|
||||
to the list of assigned objects stored in the policy, and a reference
|
||||
to the policy is stored in the object by internal object functions.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hPolicy
|
||||
The \fIhPolicy\fR parameter is the handle of the policy object to be
|
||||
assigned to.
|
||||
.SS hObject
|
||||
The \fIhObject\fR parameter is the object that will be assigned to
|
||||
\fIhPolicy\fR.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Policy_AssignToObject\fR returns TSS_SUCCESS on success, otherwise
|
||||
one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhPolicy\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Policy_AssignToObject\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Policy_SetSecret\fR(3), \fBTspi_Policy_FlushSecret\fR(3).
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Policy_FlushSecret" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developers Reference
|
||||
.SH NAME
|
||||
Tspi_Policy_FlushSecret \- flush a cached secret
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Policy_FlushSecret(TSS_HPOLICY " hPolicy ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_Policy_FlushSecret\fR
|
||||
tells the TSS to flush a secret that it had cached for a user.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hPolicy
|
||||
The \fIhPolicy\fR parameter is the handle of the policy object to be flushed.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Policy_FlushSecret\fR returns TSS_SUCCESS on success, otherwise
|
||||
one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhPolicy\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Policy_FlushSecret\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Policy_SetSecret\fR(3), \fBTspi_Policy_AssignToObject\fR(3).
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_Policy_SetSecret" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_Policy_SetSecret \- set the authorization data of a policy object and define the handling of its retrieval
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_Policy_SetSecret(TSS_HPOLICY " hPolicy ", TSS_FLAG " secretMode ","
|
||||
.BI " UINT32 " ulSecretLength ", BYTE* " rgbSecret ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTSS_Policy_SetSecret\fR
|
||||
sets the authorization data for an object. This mthod also defines the handling of its retrieving. There are mand different paths as specified by the secretMode Flag.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hPolicy
|
||||
The handle of the policy object.
|
||||
.PP
|
||||
.SS secretMode
|
||||
Flag indicating the policy secret mode to set. Possible values are:
|
||||
\fBTSS_SECRET_MODE_SHA1\fR - Secret in the form of 20 bytes of SHA-1 data. The secret will not be touched by the TSP.
|
||||
\fBTSS_SECRET_MODE_PLAIN\fR - The data passed in will be hashed by the TSP using SHA-1.
|
||||
\fBTSS_SECRET_MODE_POPUP\fR - The TSP will ask for a secret by displaying a GUI pop-up window.
|
||||
\fBTSS_SECRET_MODE_CALLBACK\fR - The application will provide a callback function for authorization data.
|
||||
\fBTSS_SECRET_MODE_NONE\fR - \fIulSecretLen\fR and \fIrgbSecret\fR are ignored and any object requiring auth assigned this policy will return an error.
|
||||
.PP
|
||||
.SS ulSecretLength
|
||||
The length (in bytes) of the rgbSecret parameter.
|
||||
.PP
|
||||
.SS rgbSecret
|
||||
The secret data blob.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_Policy_SetSecret\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - hPolicy is an invalid parameter.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Policy_SetSecret\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Policy_FlushSecret\fR(3).
|
|
@ -0,0 +1,87 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_SetAttribData" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_SetAttribData \- set a non 32bit attribute of an object.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_SetAttribData(TSS_HOBJECT " hObject ", TSS_FLAG " attribFlag ","
|
||||
.BI " TSS_FLAG " subFlag ", UINT32 " ulAttribDataSize ","
|
||||
.BI " BYTE* " rgbAttribData ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_SetAttribData\fR sets the attributes associated with a given class of object that aren't UINT32. The structure and size of hte attribute data depends on the attribute.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hObject
|
||||
Handle of the object where the attribute is to be set.
|
||||
.PP
|
||||
.SS attribFlag
|
||||
Flag indicating the attribute to set.
|
||||
.PP
|
||||
.SS subFlag
|
||||
Sub flag indicating the attribute to set
|
||||
.PP
|
||||
.SS ulAttribDataSize
|
||||
Supplies the length (in bytes) of the rgbAttribData.
|
||||
.PP
|
||||
.SS rgbAttribData
|
||||
Pointer to the actual data which is to be set for the specified attribute.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_SetAttribData\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE - \fIhObject\fR is an invalid parameter.
|
||||
.TP
|
||||
.SM TSS_E_ATTRIB_FLAG - \fIattribFlag\fR is an invalid parameter.
|
||||
.TP
|
||||
.SM TSS_E_ATTRIB_SUBFLAG - \fIsubFlag\fR is an invalid parameter.
|
||||
.TP
|
||||
.SM TSS_E_ATTRIB_DATA - \fIrgbAttribData\fR is an invalid parameter.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_SetAttribData\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_GetAttribData\fR(3).
|
|
@ -0,0 +1,106 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_SetAttribUint32" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developers Reference
|
||||
.SH NAME
|
||||
Tspi_SetAttribUint32 \- set a 32bit attribute associated with a given class or object
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_SetAttribUint32(TSS_HOBJECT " hObject ", TSS_FLAG " attribFlag ","
|
||||
.BI " TSS_FLAG " subFlag ", UINT32 " ulAttrib "); "
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_SetAttribUint32\fR sets a uint32 attribute
|
||||
associated with a given class or object. In order to use this
|
||||
command, you must first create an object and then find the attributes
|
||||
you wish to set.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hObject
|
||||
The \fIhObject\fR parameter is the handle of the object or class
|
||||
whose attributes are being set. Note that this is any object handler
|
||||
- context, policy, TPM, key, hash, etc.
|
||||
.SS attribFlag
|
||||
The \fIattribFlag\fR parameter indicates the specific attribute to be set.
|
||||
.SS subFlag
|
||||
The \fIsubFlag\fR parameter also indicates the specific attribute to be set.
|
||||
.SS ulAttrib
|
||||
The \fIulAttrib\fR parameter is the value that the specified attribute
|
||||
will be set to.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_SetAttribUint32\fR returns TSS_SUCCESS on success, otherwise
|
||||
one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhObject\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INVALID_ATTRIB_FLAG
|
||||
\fIattribFlag\fR is incorrect.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INVALID_ATTRIB_SUBFLAG
|
||||
\fIsubFlag\fR is incorrect.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INVALID_ATTRIB_DATA
|
||||
\fIulAttrib\fR is incorrect.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_SetAttribUint32\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_GetAttribUint32\fR(3), \fBTspi_SetAttribData\fR(3),
|
||||
\fBTspi_GetAttribData\fR(3).
|
||||
|
84
crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_AuthorizeMigrationTicket.3
vendored
Normal file
84
crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_AuthorizeMigrationTicket.3
vendored
Normal file
|
@ -0,0 +1,84 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_TPM_AuthorizeMigrationTicket" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_TPM_AuthorizeMigrationTicket\- create the migration ticket required for the migration process.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_TPM_AuthorizeMigrationTicket(TSS_HTPM " hTPM ", TSS_HKEY " hMigrationKey ","
|
||||
.BI " TSS_MIGRATE_SCHEME " migrationScheme ", UINT32* " pulMigTicketLength ","
|
||||
.BI " BYTE** " prgbMigTicket ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_TPM_AuthorizeMigrationTicket\fR is used by the owner to authorize a target public key for migration. This mean sthat when a system is set up, the owner can decide that all archives should be done on a particular server. Then as keys are created, the user can pick one of these servers for the target of the migration of their keys, if they wish. This provides one of the two authorizations necessary to migrate a key.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hTPM
|
||||
Handle of the TPM object
|
||||
.PP
|
||||
.SS hMigrationKey
|
||||
Handle of the object representing the migration key.
|
||||
.PP
|
||||
.SS migrationScheme
|
||||
Flag indiating the migration scheme to be used.
|
||||
.PP
|
||||
.SS pulMigTicketLength
|
||||
Recieves the length (in bytes) of the prgbMigTicket parameter.
|
||||
.PP
|
||||
.SS prgbMigTicket
|
||||
Recieves a pointer to thememory block containing the migration ticket blob.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_TPM_AuthorizeMigrationTicket\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
Either \fBhTPM\fR or \fBhMigrationKey\fR is not a valid handle.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_AuthorizeMigrationTicket\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fB(none)\fR.
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
.\" Copyright (C) 2007 International Business Machines Corporation
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_TPM_CMKSetRestrictions" 3 "2007-12-13" "TSS 1.2"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_TPM_CMKSetRestrictions \- set restrictions on use of delegated Certified Migratable Keys
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_TPM_CMKSetRestrictions(TSS_HTPM " hTPM ", TSS_CMK_DELEGATE " CmkDelegate ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_TPM_CMKSetRestrictions\fR is used to set restrictions on the delegated use of Certified Migratable Keys (CMKs). Use of this command cannot itself be delegated.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hTPM
|
||||
The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
|
||||
.SS CmkDelegate
|
||||
The \fICmkDelegate\fR parameter is a bitmask describing the kinds of CMKs that can be used in a delegated auth session. Each bit represents a type of key. If the bit of a key type is set, then the CMK can be used in a delegated authorization session, otherwise use of that key will result in a TPM_E_INVALID_KEYUSAGE return code from the TPM.
|
||||
|
||||
The possible values of \fICmkDelegate\fR are any combination of the following flags logically OR'd together:
|
||||
|
||||
.TP
|
||||
.SM "TSS_CMK_DELEGATE_SIGNING"
|
||||
Allow use of signing keys.
|
||||
|
||||
.TP
|
||||
.SM "TSS_CMK_DELEGATE_STORAGE"
|
||||
Allow use of storage keys.
|
||||
|
||||
.TP
|
||||
.SM "TSS_CMK_DELEGATE_BIND"
|
||||
Allow use of binding keys.
|
||||
|
||||
.TP
|
||||
.SM "TSS_CMK_DELEGATE_LEGACY"
|
||||
Allow use of legacy keys.
|
||||
|
||||
.TP
|
||||
.SM "TSS_CMK_DELEGATE_MIGRATE"
|
||||
Allow use of migratable keys.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_TPM_CMKSetRestrictions\fR returns TSS_SUCCESS on success, otherwise one of the
|
||||
following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhTPM\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_CMKSetRestrictions\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.2 Errata A
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_CMKApproveMA\fR(3), \fBTspi_TPM_CMKCreateTicket\fR(3), \fBTspi_Key_CMKCreateBlob\fR(3)
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_TPM_CertifySelfTest" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_TPM_CertifySelfTest\- have the TPM sign its self test data
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_TPM_CertifySelfTest(TSS_HTPM " hTPM ", TSS_HKEY " hKey ","
|
||||
.BI " TSS_VALIDATION* " pValidationData " );"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_TPM_CertifySelfTest\fR performs a self-test of each internal TPM function and returns an authenticated value (signature) if the test has passed.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hTPM
|
||||
Handle of the TPM object
|
||||
.PP
|
||||
.SS hKey
|
||||
Handle of the signature key object
|
||||
.PP
|
||||
.SS
|
||||
pValidationData
|
||||
Validation data structure.
|
||||
[IN] Provide externalData information required to compute the signature.
|
||||
[OUT] On successful completion of the ocmmand, the structure provides a buffer containing the validation data and a buffer containing the data the validation data was computed from.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_TPM_CertifySelfTest\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fBhTPM\fR is not a valid handle to a TPM object.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An error occurred internal to the TSS.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_CertifySelfTest\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_SelfTestFull\fR(3).
|
||||
|
||||
|
||||
|
100
crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_CheckMaintenancePubKey.3
vendored
Normal file
100
crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_CheckMaintenancePubKey.3
vendored
Normal file
|
@ -0,0 +1,100 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_TPM_CheckMaintenancePubKey" 3 "2004-05-26" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_TPM_CheckMaintenancePubKey\- check the public maintenance key
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_TPM_CheckMaintenancePubKey(TSS_HTPM " hTPM ", TSS_HKEY " hMaintenanceKey ","
|
||||
.BI " TSS_VALIDATION* " pValidationData ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_TPM_CheckMaintenancePubKey\fR
|
||||
checks the public maintenance key. If \fIhMaintenanceKey\fR
|
||||
is NULL, then \fIpValidationData\fR must not be NULL; the caller has to
|
||||
proof the digest on its own. If \fIhMaintenanceKey\fR is not NULL, then
|
||||
\fIpValidationData\fR must be NULL; the TSS service provider proofs the
|
||||
digest got internally from the TPM. The key information required for
|
||||
proofing the public maintenance key must be set in the key object by
|
||||
Tspi_SetAttribData before this method is called. \fBThis function is
|
||||
not yet implemented\fR.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hTPM
|
||||
Handle of the TPM object
|
||||
.PP
|
||||
.SS hMaintenanceKey
|
||||
Handle of the maintenance key object
|
||||
.PP
|
||||
.SS pValidationData
|
||||
Validation data structure.
|
||||
[IN] Provide externalData information required to compute the signature.
|
||||
[OUT] On successful completion of the ocmmand, the structure provides a
|
||||
buffer containing the validation data and a buffer containing the data
|
||||
the validation data was computed from.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_TPM_CheckMaintenancePubKey\fR returns TSS_SUCCESS on success,
|
||||
otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhTPM\fR is not a valid handle.
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more of the parameters is incorrect.
|
||||
.TP
|
||||
.SM TSS_E_NOTIMPL
|
||||
The command is not implemented.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_CheckMaintenancePubKey\fR conforms to the Trusted Computing
|
||||
Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_LoadMaintenancePubKey\fR(3),
|
||||
\fBTspi_TPM_CreateMaintenanceArchive\fR(3),
|
||||
\fBTspi_TPM_KillMaintenanceFeature\fR(3).
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_TPM_ClearOwner" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_TPM_ClearOwner \- clear TPM ownership
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_TPM_ClearOwner(TSS_HTPM " hTPM ", TSS_BOOL " fForcedClear ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_TPM_ClearOwner\fR
|
||||
wipes the TPM of everything but its endorsement key. It will wipe the SRK, so
|
||||
anything locked to the SRK will also disappear when this command is executed.
|
||||
This is the only way to be certain that keys are gone, as it is the only way
|
||||
to guarantee that nothing can keep a copy of the key. You must assert either
|
||||
physical presence or owner authorization in order to use this command.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hTPM
|
||||
The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
|
||||
.SS fForcedClear
|
||||
The \fIfForcedClear\fR parameter is used to tell whether this command is being
|
||||
executed with owner authorization or with physical presence. If FALSE, then
|
||||
TPM owner authorization is used. If TRUE, then physical presence is required
|
||||
to clear the TPM.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_TPM_ClearOwner\fR returns TSS_SUCCESS on success, otherwise one of the
|
||||
following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhTPM\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_ClearOwner\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_TakeOwnership\fR(3)
|
102
crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_CollateIdentityRequest.3
vendored
Normal file
102
crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_CollateIdentityRequest.3
vendored
Normal file
|
@ -0,0 +1,102 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Kathy Robertson based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_TPM_CollateIdentityRequest" 3 "2004-05-26" "TSS 1.1" "TCG Software Stack Developer's Reference"
|
||||
.SH NAME
|
||||
Tspi_TPM_CollateIdentityRequest \- Gets all the informatin necessary to send to a trusted third party (TTP), repartory to asking the TTP to create a certificate for identity.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_TPM_CollateIdentityRequest(TSS_HTPM " hTPM ", TSS_HKEY " hKeySRK ","
|
||||
.BI " TSS_HKEY " hCAPPubKey ","
|
||||
.BI " UINT32 " ulIdentityLabelData ", BYTE* " rgbIdentityLabelData ","
|
||||
.BI " TSS_HKEY " hIdentityKey ", TSS_ALGORITHM_ID " algid ","
|
||||
.BI " UINT32* " pulTCPAIdentityReqLength ", BYTE** " prgbTCPAIdentityReq ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTSS_TPM_CollateIdentityRequest\fR
|
||||
creates an identity key, binds it to the label and returns a certificate request package. The privacty CA requires this certificate request to attest the identity key.
|
||||
|
||||
Only the Owner of the TPM has the privledge of creating a TPM identity key.
|
||||
|
||||
The symmetric session key is required to provide confidentiality of the "TCPA_IDENTITY_REQ" data structure, which should be sent to the Privacy CA chosen by the owner.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hTPM
|
||||
Handle of the TPM object.
|
||||
.PP
|
||||
.SS hKeySRK
|
||||
Handle to the key object representing the Storage Root Key
|
||||
.PP
|
||||
.SS hCAPubKey
|
||||
Handle to the key object representing the public key of the CA which signs the certificate of the created identity key.
|
||||
.PP
|
||||
.SS ulIdentityLabelLength
|
||||
Supplies the length (in bytes) of the rgbIdentityLabelData parameter
|
||||
.PP
|
||||
.SS rgbLabelData
|
||||
Pointer to a memory block containing the identity label, which should be a UNICODE string
|
||||
.PP
|
||||
.SS hIdentityKey
|
||||
Handle to the identity key object
|
||||
.PP
|
||||
.SS algid
|
||||
The type of symmetric algorithm touse as requred by the Enhanced CA.
|
||||
.PP
|
||||
.SS pulTCPAIdentityReqLength
|
||||
Recieves the length (in bytes) of the prgbTCPAIdentityReq parameter
|
||||
.PP
|
||||
.SS prgbTCPAIdentyReq
|
||||
Pointer to the memory block containing the certicficate request structure.
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_TPM_CollateIdentityRequest\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
Either \fBhTPM\fR or \fBhKeySRK\fR or \fBhCAPubKey\fR is not a valid handle.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An error occurred internal to the TSS.
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_CollateIdentityRequest\fR conforms to the Trusted Computing Group Software Specification version 1.1 Golden
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_Context_LoadKeyByUUID\fR(3).
|
|
@ -0,0 +1,94 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_TPM_CreateEndorsementKey" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_TPM_CreateEndorsementKey \- create the endorsement key
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_TPM_CreateEndorsementKey(TSS_HTPM " hTPM ", TSS_HKEY " hKey ","
|
||||
.BI " TSS_VALIDATION* " pValidationData ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_TPM_CreateEndorsementKey\fR
|
||||
creates an endorsement key. \fBThis function is currently not implemented\fR.
|
||||
Before this method is called, the key information for creating the key
|
||||
must be set in the key object by \fITspi_SetAttribData\fR. On return,
|
||||
the public endorsement key can be retrieved by \fITspi_GetAttribData\fR from
|
||||
the key object.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hTPM
|
||||
The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
|
||||
.SS hKey
|
||||
The \fIhKey\fR parameter is the handle of the key specifying the
|
||||
attributes of the endorsement key to create.
|
||||
.SS pValidationData
|
||||
The \fIpValidationData\fR parameter is a validation data structure. It provides
|
||||
external information required to compute the signature. Once the command is
|
||||
completed, the structure provides a buffer containing the validation data and
|
||||
a buffer containing the data the validation data was computed from.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_TPM_CreateEndorsementKey\fR returns TSS_SUCCESS on success,
|
||||
otherwise one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhTPM\fR or \fIhKey\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_CreateEndorsementKey\fR conforms to the Trusted Computing
|
||||
Group Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_GetPubEndorsementKey\fR(3), \fBTspi_Key_GetPubKey\fR(3).
|
||||
|
107
crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_CreateMaintenanceArchive.3
vendored
Normal file
107
crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_CreateMaintenanceArchive.3
vendored
Normal file
|
@ -0,0 +1,107 @@
|
|||
.\" Copyright (C) 2004 International Business Machines Corporation
|
||||
.\" Written by Megan Schneider based on the Trusted Computing Group Software Stack Specification Version 1.1 Golden
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_TPM_CreateMaintenanceArchive" 3 "2004-05-25" "TSS 1.1"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_TPM_CreateMaintenanceArchive \- create the TPM manufacturer specific maintenance archive data.
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/platform.h>
|
||||
.B #include <tss/tcpa_defines.h>
|
||||
.B #include <tss/tcpa_typedef.h>
|
||||
.B #include <tss/tcpa_struct.h>
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_TPM_CreateMaintenanceArchive(TSS_HTPM " hTPM ", TSS_BOOL " fGenerateRndNumber ","
|
||||
.BI " UINT32* " pulRndNumberLength ", BYTE** " prgbRndNumber ","
|
||||
.BI " UINT32* " pulArchiveDataLength ", BYTE** " prgbArchiveData ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\fBTspi_TPM_CreateMaintenanceArchive\fR
|
||||
creates the TPM Manufacturer specific maintenance archive data.
|
||||
\fBThis command is not currently implemented by any manufacturer\fR.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hTPM
|
||||
The \fIhTPM\fR parameter is used to specify the handle of the TPM object.
|
||||
.SS fGenerateRndNumber
|
||||
The \fIfGenerateRndNumber\fR parameter determines how the random number
|
||||
is generated. If TRUE, a random number is generated by the TPM and
|
||||
returned. If FALSE, a random number is calculated based on the owner
|
||||
secret.
|
||||
.SS pulRndNumberLength
|
||||
The \fIpulRndNumberLength\fR parameter receives the length in bytes of
|
||||
the \fIprgbRndNumber\fR parameter. This is 0 if \fIfGenerateRndNumber\fR
|
||||
is FALSE.
|
||||
.SS prgbRndNumber
|
||||
The \fIprgbRndNumber\fR parameter receives a pointer to the random number
|
||||
data attributes. This is NULL if \fIfGenerateRndNumber\fR is FALSE.
|
||||
.SS pulArchiveDataLength
|
||||
The \fIpulArchiveDataLength\fR parameter receives the length in bytes of
|
||||
the \fIprgbArchiveData\fR parameter.
|
||||
.SS prgbArchiveData
|
||||
The \fIprgbArchiveData\fR parameter receives a pointer to the archive data.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_TPM_CreateMaintenanceArchive\fR returns TSS_SUCCESS on success,
|
||||
otherwise one of the following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
\fIhTPM\fR is not a valid handle.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
One or more parameters is bad.
|
||||
|
||||
.TP
|
||||
.SM TSS_E_NOTIMPL
|
||||
The function is not implemented.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_CreateMaintenanceArchive\fR conforms to the Trusted Computing
|
||||
Group Software Specification version 1.1 Golden
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_KillMaintenanceFeature\fR(3),
|
||||
\fBTspi_TPM_LoadMaintenancePubKey\fR(3),
|
||||
\fBTspi_TPM_CheckMaintenancePubKey\fR(3).
|
||||
|
112
crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_DAA_JoinCreateDaaPubKey.3
vendored
Normal file
112
crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_DAA_JoinCreateDaaPubKey.3
vendored
Normal file
|
@ -0,0 +1,112 @@
|
|||
.\" Copyright (C) 2006 International Business Machines Corporation
|
||||
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_TPM_DAA_JoinCreateDaaPubKey" 3 "2006-09-04" "TSS 1.2"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_TPM_DAA_JoinCreateDaaPubKey \- computes the credential request for the DAA Issuer
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_TPM_DAA_JoinCreateDaaPubKey("
|
||||
.BI " TSS_HDAA " hDAA ","
|
||||
.BI " TSS_HTPM " hTPM ","
|
||||
.BI " UINT32 " authenticationChallengeLength ","
|
||||
.BI " BYTE* " authenticationChallenge ","
|
||||
.BI " UINT32 " nonceIssuerLength ","
|
||||
.BI " BYTE* " nonceIssuer ","
|
||||
.BI " UINT32 " attributesPlatformLength ","
|
||||
.BI " BYTE** " attributesPlatform ","
|
||||
.BI " TSS_DAA_JOIN_SESSION* " joinSession ","
|
||||
.BI " TSS_DAA_CREDENTIAL_REQUEST* " credentialRequest
|
||||
.BI ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\Tspi_TPM_DAA_JoinCreateDaaPubKey\fR
|
||||
is the second (between \fBTspi_TPM_DAA_JoinInit()\fR and \fBTspi_TPM_DAA_JoinStoreCredential()\fR)
|
||||
out of 3 functions to execute in order to receive a DAA Credential.
|
||||
It computes the credential request for the DAA Issuer, which also includes the Platforms's
|
||||
DAA public key and the attributes that were chosen by the Platform, and which are not visible
|
||||
to the DAA Issuer. The Platform can commit to the attribute values it has chosen.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hDAA
|
||||
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
|
||||
.SS hTPM
|
||||
The \fIhTPM\fR parameter is the handle to the TPM object.
|
||||
.SS authenticationChallengeLength
|
||||
The \fIauthenticationChallengeLength\fR parameter is length of authenticationChallenge (256 bytes - DAA_SIZE_NE1).
|
||||
.SS authenticationChallenge
|
||||
The \fIauthenticationChallenge\fR parameter is the second nonce of the DAA Issuer that is encrypted by the endorsement public key.
|
||||
It is used as a challenge to authenticate the underlying TPM.
|
||||
.SS nonceIssuerLength
|
||||
The \fInonceIssuerLength\fR parameter is the length of nonceIssuer (20 bytes).
|
||||
.SS nonceIssuer
|
||||
The \fInonceIssuer\fR parameter is the nonce of the DAA Issuer.
|
||||
.SS attributesPlatformLength
|
||||
The \fIattributesPlatformLength\fR parameter is length of attributesPlatform array, which is determined
|
||||
by the DAA Issuer public key (). The length of a single attribute is ln/8. ln is defined as the size of
|
||||
the RSA modulus (2048).
|
||||
.SS attributesPlatform
|
||||
The \fIattributesPlatform\fR parameter is an array of attributes to be encoded into the DAA Credential
|
||||
not visible to the DAA Issuer.
|
||||
.SS joinSession
|
||||
The \fIjoinSession\fR parameter is a structure containing the DAA Join session information.
|
||||
.SS credentialRequest
|
||||
The \fIcredentialRequest\fR parameter is the credential request of the Platform, it contains the blinded
|
||||
DAA public key of the platform on which the DAA Issuer will issue the credential the blinded attributes
|
||||
chosen by the Platform.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_TPM_DAA_JoinCreateDaaPubKey\fR returns TSS_SUCCESS on success, otherwise one of the
|
||||
following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
Either the DAA is not valid.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
.PP
|
||||
\fBTspi_TPM_DAA_JoinCreateDaaPubKey\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.2
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_DAA_JoinInit\fR(3)
|
||||
\fBTspi_TPM_DAA_JoinStoreCredential\fR(3)
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
.\" Copyright (C) 2006 International Business Machines Corporation
|
||||
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_TPM_DAA_JoinInit" 3 "2006-09-04" "TSS 1.2"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_TPM_DAA_JoinInit \- start the DAA Join process
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSPICALL Tspi_TPM_DAA_JoinInit("
|
||||
.BI " TSS_HDAA " hDAA ","
|
||||
.BI " TSS_HTPM " hTPM ","
|
||||
.BI " TSS_HKEY " issuer_pk ","
|
||||
.BI " UINT32 " issuer_authentication_PKLength ","
|
||||
.BI " TSS_HKEY* " issuer_authentication_PK ","
|
||||
.BI " UINT32 " issuer_authentication_PK_signaturesLength ","
|
||||
.BI " BYTE** " issuer_authentication_PK_signatures ","
|
||||
.BI " UINT32* " capital_UprimeLength ","
|
||||
.BI " BYTE** " capital_Uprime ","
|
||||
.BI " TSS_DAA_IDENTITY_PROOF* " identity_proof ","
|
||||
.BI " TSS_DAA_JOIN_SESSION* " join_session
|
||||
.BI ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\Tspi_TPM_DAA_JoinInit\fR
|
||||
is the first out of 3 functions to execute in order to receive a DAA Credential. It
|
||||
verifies the keys of the DAA Issuer and computes the TPM DAA public key.
|
||||
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hDAA
|
||||
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
|
||||
.SS hTPM
|
||||
The \fIhTPM\fR parameter is the handle to the TPM object.
|
||||
.SS issuer_pk
|
||||
The \fIissuer_pk\fR parameter is the of the DAA Issuer public key.
|
||||
.SS issuer_authentication_PKLength
|
||||
The \fIissuer_authentication_PKLength\fR parameter is the length of the array of \fIissuerAuthPKs\fR.
|
||||
.SS issuer_authentication_PK
|
||||
The \fIissuer_authentication_PK\fR parameter is an array of RSA public keys (key chain) of
|
||||
the DAA Issuer used to authenticate the DAA Issuer public key. The size of the modulus must
|
||||
be TPM_DAA_SIZE_issuerModulus (256).
|
||||
.SS issuer_authentication_PK_signaturesLength
|
||||
The \fIissuer_authentication_PK_signaturesLength\fR parameter is the length of the array of
|
||||
issuerAuthPKSignatures. It is equal to issuerAuthPKsLength. The length of an element of the
|
||||
array is TPM_DAA_SIZE_issuerModulus (256).
|
||||
.SS issuer_authentication_PK_signatures
|
||||
The \fIissuer_authentication_PK_signatures\fR parameter is the array of byte arrays representing
|
||||
signatures on the modulus of the above key chain (issuerAuthPKs) in more details, the array has
|
||||
the following content (S(K[1],K[0]),S(K[2],N[1]),..S(K[ k ],K[n-1]), S(TPM_DAA_ISSUER,K[ k ])),
|
||||
where S(msg,privateKey) denotes the signature function with msg being signed by the privateKey.
|
||||
.SS capital_UprimeLength
|
||||
The \fIcapital_UprimeLength\fR parameter is the length of capitalUprime which is ln/8. ln is
|
||||
defined as the size of the RSA modulus (2048).
|
||||
.SS capital_Uprime
|
||||
The \fIcapital_Uprime\fR parameter is U'.
|
||||
.SS identityProof
|
||||
The \fIidentityProof\fR parameter is a structure containing the endorsement, platform and conformance
|
||||
credential.
|
||||
.SS joinSession
|
||||
The \fIjoinSession\fR parameter is a structure containing DAA Join session information.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_TPM_DAA_JoinInit\fR returns TSS_SUCCESS on success, otherwise one of the
|
||||
following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
Either the DAA or the TPM handler is not valid.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
.TP
|
||||
.SM TSS_E_DAA_ISSUER_KEY_ERROR
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_DAA_JoinInit\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.2
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_DAA_JoinCreateDaaPubKey\fR(3)
|
||||
\fBTspi_TPM_DAA_JoinStoreCredential\fR(3)
|
||||
|
89
crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_DAA_JoinStoreCredential.3
vendored
Normal file
89
crypto/external/cpl/trousers/dist/man/man3/Tspi_TPM_DAA_JoinStoreCredential.3
vendored
Normal file
|
@ -0,0 +1,89 @@
|
|||
.\" Copyright (C) 2006 International Business Machines Corporation
|
||||
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_TPM_DAA_JoinStoreCredential" 3 "2006-09-04" "TSS 1.2"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_TPM_DAA_JoinStoreCredential \- compute the final DAA Credential
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_TPM_DAA_JoinStoreCredential("
|
||||
.BI " TSS_HDAA " hDAA ","
|
||||
.BI " TSS_HTPM " hTPM ","
|
||||
.BI " TSS_DAA_CRED_ISSUER " credIssuer ","
|
||||
.BI " TSS_DAA_JOIN_SESSION " joinSession ","
|
||||
.BI " TSS_HKEY* " hDaaCredential
|
||||
.BI ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\Tspi_TPM_DAA_JoinStoreCredential\fR
|
||||
is the last out of 3 functions (after \fBTspi_TPM_DAA_JoinInit()\fR and \fBTspi_TPM_DAA_JoinCreateDaaPubKey()\fR)
|
||||
to execute in order to receive a DAA Credential. It verifies the issued credential from the DAA Issuer
|
||||
and computes the final DAA Credential.
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hDAA
|
||||
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
|
||||
.SS hTPM
|
||||
The \fIhTPM\fR parameter is the handle to the TPM object.
|
||||
.SS credIssuer
|
||||
The \fIcredIssuer\fR parameter is the DAA Credential issued by the DAA Issuer including proof of correctness.
|
||||
.SS joinSession
|
||||
The \fIjoinSession\fR parameter is the structure containing the DAA Join session information.
|
||||
.SS hDaaCredential
|
||||
The \fIhDaaCredential\fR parameter is the handle of the received DAA Credential.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_TPM_DAA_JoinStoreCredential\fR returns TSS_SUCCESS on success, otherwise one of the
|
||||
following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
Either the DAA or the TPM handler is not valid.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
.SM TSS_E_DAA_CREDENTIAL_PROOF_ERROR
|
||||
One of the verification of the issued credential failed
|
||||
.SH "CONFORMING TO"
|
||||
.PP
|
||||
\fBTspi_TPM_DAA_JoinStoreCredential\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.2
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
||||
\fBTspi_TPM_DAA_JoinInit\fR(3)
|
||||
\fBTspi_TPM_DAA_JoinCreateDaaPubKey\fR(3)
|
|
@ -0,0 +1,109 @@
|
|||
.\" Copyright (C) 2006 International Business Machines Corporation
|
||||
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
|
||||
.\"
|
||||
.de Sh \" Subsection
|
||||
.br
|
||||
.if t .Sp
|
||||
.ne 5
|
||||
.PP
|
||||
\fB\\$1\fR
|
||||
.PP
|
||||
..
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Ip \" List item
|
||||
.br
|
||||
.ie \\n(.$>=3 .ne \\$3
|
||||
.el .ne 3
|
||||
.IP "\\$1" \\$2
|
||||
..
|
||||
.TH "Tspi_TPM_DAA_Sign" 3 "2006-09-04" "TSS 1.2"
|
||||
.ce 1
|
||||
TCG Software Stack Developer's Reference
|
||||
.SH NAME
|
||||
Tspi_TPM_DAA_Sign \- creates a DAA Signature that proofs ownership of the DAA Credential
|
||||
.SH "SYNOPSIS"
|
||||
.ad l
|
||||
.hy 0
|
||||
.nf
|
||||
.B #include <tss/tss_typedef.h>
|
||||
.B #include <tss/tss_structs.h>
|
||||
.B #include <tss/tspi.h>
|
||||
.sp
|
||||
.BI "TSS_RESULT Tspi_TPM_DAA_Sign("
|
||||
.BI " TSS_HDAA " hDAA ","
|
||||
.BI " TSS_HTPM " hTPM ","
|
||||
.BI " TSS_HKEY " hDaaCredential ","
|
||||
.BI " TSS_DAA_SELECTED_ATTRIB " revealAttributes ","
|
||||
.BI " UINT32 " verifierBaseNameLength ","
|
||||
.BI " BYTE* " verifierBaseName ","
|
||||
.BI " UINT32 " verifierNonceLength ","
|
||||
.BI " BYTE* " verifierNonce ","
|
||||
.BI " TSS_DAA_SIGN_DATA " signData ","
|
||||
.BI " TSS_DAA_SIGNATURE* " daaSignature
|
||||
.BI ");"
|
||||
.fi
|
||||
.sp
|
||||
.ad
|
||||
.hy
|
||||
|
||||
.SH "DESCRIPTION"
|
||||
.PP
|
||||
\Tspi_TPM_DAA_Sign\fR
|
||||
creates a DAA Signature that proofs ownership of the DAA Credential and includes a
|
||||
signature on either a public AIK or a message. If anonymity revocation is enabled, the value Nv
|
||||
is not provided in the clear anymore but encrypted under the public key of anonymity revocation
|
||||
authority, a trusted third party (TTP). Thus the DAA Verifier cannot check for revocation or link
|
||||
a transaction/signature to prior ones. Depending on how is chosen, the protocol either allows
|
||||
implementing anonymity revocation (i.e., using the DAA Issuer's long-term base name as the DAA
|
||||
Verifier's base name ), or having the TTP doing the linking of different signatures for the same
|
||||
DAA Verifier (i.e., using the DAA Verifier's base name ).
|
||||
.SH "PARAMETERS"
|
||||
.PP
|
||||
.SS hDAA
|
||||
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
|
||||
.SS hTPM
|
||||
The \fIhTPM\fR parameter is the handle to the TPM object.
|
||||
.SS hDaaCredential
|
||||
The \fIhDaaCredential\fR parameter is the Handle of the DAA Credential.
|
||||
.SS revealAttributes
|
||||
The \fIrevealAttributes\fR parameter is the attributes which the credential owner wants to reveal
|
||||
to the DAA Verifier.
|
||||
.SS verifierBaseNameLength
|
||||
The \fIverifierBaseNameLength\fR parameter is the Length of verifierBaseName.
|
||||
.SS verifierBaseName
|
||||
The \fIverifierBaseName\fR parameter is the base name chosen by the DAA Verifier. If it equals to null,
|
||||
the platform chooses a random base name.
|
||||
.SS verifierNonceLength
|
||||
The \fIverifierNonceLength\fR parameter is the length of verifierNonceName (20 bytes).
|
||||
.SS verifierNonce
|
||||
The \fIverifierNonce\fR parameter is the nonce created by the DAA Verifier.
|
||||
.SS signData
|
||||
The \fIsignData\fR parameter is the handle of the received DAA Credential.
|
||||
.SS daaSignature
|
||||
The \fIdaaSignature\fR parameter is the DAA signature containing the proof of ownership of the DAA Credential,
|
||||
as well as a signature on either an AIK or a message.
|
||||
|
||||
.SH "RETURN CODES"
|
||||
.PP
|
||||
\fBTspi_TPM_DAA_Sign\fR returns TSS_SUCCESS on success, otherwise one of the
|
||||
following values is returned:
|
||||
.TP
|
||||
.SM TSS_E_INVALID_HANDLE
|
||||
Either the DAA or the TPM handler is not valid.
|
||||
.TP
|
||||
.SM TSS_E_BAD_PARAMETER
|
||||
.TP
|
||||
.SM TSS_E_INTERNAL_ERROR
|
||||
An internal SW error has been detected.
|
||||
|
||||
.SH "CONFORMING TO"
|
||||
.PP
|
||||
\fBTspi_TPM_DAA_Sign\fR conforms to the Trusted Computing Group
|
||||
Software Specification version 1.2
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
.PP
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue