Overview

Include Files Required

The necessary include files are located in the PIV/C/Headers folder of the distribution package.

How to Deploy

PIV API applications must be linked with the appropriate PIV import library. The import library for x86 applications is located in the PIV/C/Libraries/x86 directory. The import library for x64 applications is in the PIV/C/Libraries/x64 directory.

Return Codes

The HID Global implementation translates the Microsoft PC/SC error codes or PIV card application error code into PIV API error codes. When applicable, the description of each function in Entry Points indicates the mapping from the PC/SC and/or PIV card application error code to the corresponding PIV error code. For more information about return codes, see Return Codes.

Discovery Mode

[SP800-85A] Section F.3, Footnote 2 specifies that discovery mode, which enables 'calling applications that do not have an a priori knowledge of the size of the data returned to obtain the size by making the discovery call and then make a second call with the right buffer size allocated for the output parameter to retrieve the data', is optional in PIV implementations.

The use of discovery mode is supported for any PIV API call that returns output data. These calls are:

  • pivSelectCardApplication()

  • pivGetData()

  • pivGenerateKeyPair()

  • pivCrypt() when called for signatures.

The discovery mode is not applicable for pivCrypt() in case of external or mutual authentication because output data is not expected in those cases.