Exposes high level PIV card edge in line with End-Point client application programming
interface defined in SP 800-73-4. ref:
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-73-4.pdf Method names
are conform with 800-73-4 as much as possible to indicate the exact PIV API middleware
function targeted with this implementation.
Namespace:
CardWerk.SmartCard.CardModule.PIV
Assembly: CardWerk.SmartCard.CardModule.PIV (in CardWerk.SmartCard.CardModule.PIV.dll)
Top
Top
Top
Assembly: CardWerk.SmartCard.CardModule.PIV (in CardWerk.SmartCard.CardModule.PIV.dll)
Public Class PivCard
Inherits CardModuleBase
This language is not supported or no code example is available.
public class PivCard : CardModuleBase
This language is not supported or no code example is available.
public ref class PivCard : public CardModuleBase^
This language is not supported or no code example is available.
Name | Description | |
---|---|---|
![]() |
PivCard(CardHandle) | Constructor for high-level PIV card access. |
Name | Description | |
---|---|---|
![]() |
ATR | (inherited from CardModuleBase). |
![]() |
CardName | (inherited from CardModuleBase). |
![]() |
ErrorCode | (inherited from CardModuleBase). |
![]() |
ErrorMessage | (inherited from CardModuleBase). |
![]() |
IsReady | (inherited from CardModuleBase). |
![]() |
LicenseInfo | (inherited from CardModuleBase). |
![]() |
ModuleCardHandle | (inherited from CardModuleBase). |
![]() |
Version | The card module version. |
![]() |
VersionInfo | (inherited from CardModuleBase). |
Name | Description | |
---|---|---|
![]() |
ChangeReferenceData(int, byte[], byte[]) | Allow use of CHANGE REFERENCE DATA command. |
![]() |
Connect() | (NOT IMPLEMENTED) pivConnect() entry point as defined in PIV End-Point Client-Application Programming Interface SP 800-73-3. Use SmartCard API instead. |
![]() |
Disconnect | (inherited from CardModuleBase). |
![]() |
Equals(Object) | Determines whether the specified object is equal to the current object. (inherited from Object). |
![]() |
GenerateKeyPair(byte, byte) | Entry point for credential initialization and administration as defined in PIV End-Point Client-Application Programming Interface SP 800-73-3. Generates a public/private key pair. |
![]() |
GetCardStandardIdentifier | (inherited from CardModuleBase). |
![]() |
GetData(byte[]) |
PIV GetData() entry point for data access as defined in PIV End-Point Client-Application
Programming Interface SP 800-73-4
Reads a data object from a PIV card (data) container according to Special Publication 800-
73: Data such as Card Holder Unique IDentifier (CHUID) or X509 certificates can be read
without prior authentication whereas containers with biometric data require user
confirmation (PIN)
GetData returns the complete raw container data including TLV headers and check bytes if
applicable. GetData returns NULL if the container is not accessible, is not yet
initialized or contains no payload.
Expiration check and CHUID signature check (optional)
RID 'A0 00 00 00 01 16', container ID = 0x3000
|
![]() |
GetHashCode | Serves as the default hash function. (inherited from Object). |
![]() |
GetType | Gets the Type of the current instance. (inherited from Object). |
![]() |
PutData(byte[], byte[]) | Entry point for credential initialization and administration as defined in PIV End-Point Client-Application Programming Interface of SP 800-73-3. This method adds header and trailer data necessary for PIV data containers. Make sure to have proper authentication in place to store new certificates. |
![]() |
SelectApplet(byte[]) | Selects application on a multi-application card. The AID can be an RID or RID + PIX. This method can be used to explore the card and find out what applets are loaded in case the host application wants to support multiple card configurations. This method can also be used as main entry point for data access as defined in PIV End-Point Client-Application Programming Interface SP 800-73-3 Note that cards might select a default applet at power- up. Selecting a different applet might change scope, exposing a different card edge. |
![]() |
ToString | Returns a string that represents the current object. (inherited from Object). |
![]() |
Verify(int, byte[]) | PIN verification method. If string is shorter than 8 digits, this method applies 0xFF padding on byte-level. This method is onl;y meant for user PIN. It does not support global PINs, PUKs SO PINs or transport PINs Note, that VERIFY command can use key references other than '00', '80', '96', '97', and '98', if they are used for card management operations. Internal PIN reference is always 0x80 Exammple: "1234" becomes 0x31323334FFFFFFFF. |
![]() |
VerifyPin(string, ref int) | PIN verification method. If string is shorter than 8 digits, this method applies 0xFF padding on byte-level. This method is only meant for user PIN. It does not support global PINs, PUKs SO PINs or transport PINs Internal PIN reference is always 0x80 Exammple: "1234" becomes 0x31323334FFFFFFFF. |