| Top |
| ykneomgr_rc | ykneomgr_global_init () |
| void | ykneomgr_global_done () |
| const char * | ykneomgr_strerror () |
| const char * | ykneomgr_strerror_name () |
| ykneomgr_rc | ykneomgr_init () |
| void | ykneomgr_done () |
| ykneomgr_rc | ykneomgr_list_devices () |
| ykneomgr_rc | ykneomgr_connect () |
| ykneomgr_rc | ykneomgr_discover () |
| ykneomgr_rc | ykneomgr_discover_match () |
| uint8_t | ykneomgr_get_version_major () |
| uint8_t | ykneomgr_get_version_minor () |
| uint8_t | ykneomgr_get_version_build () |
| uint8_t | ykneomgr_get_mode () |
| uint32_t | ykneomgr_get_serialno () |
| ykneomgr_rc | ykneomgr_modeswitch () |
| ykneomgr_rc | ykneomgr_authenticate () |
| ykneomgr_rc | ykneomgr_applet_list () |
| ykneomgr_rc | ykneomgr_applet_delete () |
| ykneomgr_rc | ykneomgr_applet_install () |
| ykneomgr_rc | ykneomgr_send_apdu () |
ykneomgr_rc
ykneomgr_global_init (ykneomgr_initflags flags);
Initialize the library. This function is not guaranteed to be thread safe and must be invoked on application startup.
void
ykneomgr_global_done (void);
Release all resources from the library. Call this function when no further use of the library is needed.
const char *
ykneomgr_strerror (int err);
Convert return code to human readable string explanation of the reason for the particular error code.
This string can be used to output a diagnostic message to the user.
This function is one of few in the library that can be used without
a successful call to ykneomgr_global_init().
const char *
ykneomgr_strerror_name (int err);
Convert return code to human readable string representing the error
code symbol itself. For example, ykneomgr_strerror_name(YKNEOMGR_OK)
returns the string "YKNEOMGR_OK".
This string can be used to output a diagnostic message to the user.
This function is one of few in the library that can be used without
a successful call to ykneomgr_global_init().
ykneomgr_rc
ykneomgr_init (ykneomgr_dev **dev);
Create a YubiKey NEO device handle. The handle must be deallocated
using ykneomgr_done() when you no longer need it.
void
ykneomgr_done (ykneomgr_dev *dev);
Release all resources allocated to a YubiKey NEO device handle.
ykneomgr_rc ykneomgr_list_devices (ykneomgr_dev *dev,char *devicestr,size_t *len);
List devices.
dev |
a ykneomgr_dev device handle. |
|
devicestr |
output buffer to hold string, or |
|
len |
on input length of |
ykneomgr_rc ykneomgr_connect (ykneomgr_dev *dev,const char *name);
Establish connection to a named PCSC device and verify that it has
the YubiKey OTP applet. The name
string should be a PCSC device
name; you can use ykneomgr_list_devices() to list connected
devices.
On success, YKNEOMGR_OK (integer 0) is returned, when no
device could be found YKNEOMGR_NO_DEVICE is returned, or another
ykneomgr_rc error code.
ykneomgr_rc
ykneomgr_discover (ykneomgr_dev *dev);
Discover and establish connection to the first found YubiKey NEO. A YubiKey NEO is identified by having the YubiKey OTP applet installed, i.e., a connect followed by attempting to select the YubiKey OTP applet.
On success, YKNEOMGR_OK (integer 0) is returned, when no
device could be found YKNEOMGR_NO_DEVICE is returned, otherwise
another ykneomgr_rc error code is returned.
ykneomgr_rc ykneomgr_discover_match (ykneomgr_dev *dev,const char *match);
Discover and establish connection to the first found YubiKey NEO
that has a card reader name matching match
. A YubiKey NEO is
identified by having the YubiKey OTP applet installed, i.e., a
connect followed by attempting to select the YubiKey OTP applet.
If match
is NULL, then the first YubiKey NEO device detected will
be used.
On success, YKNEOMGR_OK (integer 0) is returned, when no
device could be found YKNEOMGR_NO_DEVICE is returned, or another
ykneomgr_rc error code.
Since 0.1.4
uint8_t
ykneomgr_get_version_major (ykneomgr_dev *dev);
Get major version of a YubiKey NEO. Versions are in the form of MAJOR.MINOR.BUILD, for example 3.0.4, in which case this function would return 3.
uint8_t
ykneomgr_get_version_minor (ykneomgr_dev *dev);
Get minor version of a YubiKey NEO. Versions are in the form of MINOR.MINOR.BUILD, for example 3.0.4, in which case this function would return 0.
uint8_t
ykneomgr_get_version_build (ykneomgr_dev *dev);
Get build version of a YubiKey NEO. Versions are in the form of BUILD.MINOR.BUILD, for example 3.0.4, in which case this function would return 4.
uint32_t
ykneomgr_get_serialno (ykneomgr_dev *dev);
Get serial number of a YubiKey NEO, if visible.
ykneomgr_rc ykneomgr_modeswitch (ykneomgr_dev *dev,uint8_t mode);
Mode switch a YubiKey NEO.
ykneomgr_rc ykneomgr_authenticate (ykneomgr_dev *dev,const uint8_t *key);
Authenticate to the device, to prepare for privileged function access.
ykneomgr_rc ykneomgr_applet_list (ykneomgr_dev *dev,char *appletstr,size_t *len);
List installed applets.
dev |
a ykneomgr_dev device handle. |
|
appletstr |
output buffer to hold string, or |
|
len |
on input length of |
ykneomgr_rc ykneomgr_applet_delete (ykneomgr_dev *dev,const uint8_t *aid,size_t aidlen);
Delete specified applet.
ykneomgr_rc ykneomgr_applet_install (ykneomgr_dev *dev,const char *capfile);
Install specified applet.
ykneomgr_rc ykneomgr_send_apdu (ykneomgr_dev *dev,const uint8_t *send,size_t sendlen,uint8_t *recv,size_t *recvlen);
Send an arbitrary apdu to the device.
dev |
a ykneomgr_dev device handle. |
|
send |
apdu to send |
|
sendlen |
length of send buffer |
|
recv |
response apdu |
|
recvlen |
length of recv buffer |
On success, YKNEOMGR_OK (integer 0) is returned, or
another ykneomgr_rc error code.
recvlen
will be set to the length of the data in recv
.