- Jun 20, 2019
-
-
developer4 authored
-BugFix: fixed JCAppPinEnable() and JCAppPinDisable() functions which are used with JCDLStorage cards.
-
- Jun 06, 2019
-
-
developer4 authored
-
developer4 authored
-BugFix: opening uFR device using ReaderOpenEX() not working for Virtual COM port on Linux since library version 4.4.2. ReaderOpenEX() was also unstable in library 4.4.1. Last good known library version, regarding ReaderOpenEX() using Virtual COM port on Linux, is 4.3.16. Library version 4.3.16 was issued right before 4.4.1. Problem is fixed now in version 5.0.9. -BugFix: frequently returned UFR_COMMUNICATION_BREAK and UFR_COMMUNICATION_ERROR on Raspbian and macOS, from various uFR communication functions, has been fixed.
-
- May 16, 2019
-
-
developer4 authored
Implemented support for JC DL Storage cards. New functions: UFR_STATUS DL_API SetISO14443_4_DLStorage(void); UFR_STATUS DL_API JCStorageGetFilesListSize(VAR uint32_t *list_size); UFR_STATUS DL_API JCStorageListFiles(OUT uint8_t *list, uint32_t list_bytes_allocated); UFR_STATUS DL_API JCStorageGetFileSize(uint8_t card_file_index, VAR uint32_t *file_size); UFR_STATUS DL_API JCStorageReadFile(uint8_t card_file_index, OUT uint8_t *data, uint32_t data_bytes_allocated); UFR_STATUS DL_API JCStorageReadFileToFileSystem(uint8_t card_file_index, IN const char *file_system_path_name); UFR_STATUS DL_API JCStorageWriteFile(uint8_t card_file_index, IN const uint8_t *data, uint32_t data_size); UFR_STATUS DL_API JCStorageWriteFileFromFileSystem(uint8_t card_file_index, IN const char *file_system_path_name); UFR_STATUS DL_API JCStorageDeleteFile(uint8_t file_index); UFR_STATUS DL_API SetISO14443_4_DLStorageM(UFR_HANDLE hndUFR); UFR_STATUS DL_API JCStorageGetFilesListSizeM(UFR_HANDLE hndUFR, VAR uint32_t *list_size); UFR_STATUS DL_API JCStorageListFilesM(UFR_HANDLE hndUFR, OUT uint8_t *list, uint32_t list_bytes_allocated); UFR_STATUS DL_API JCStorageGetFileSizeM(UFR_HANDLE hndUFR, uint8_t card_file_index, VAR uint32_t *file_size); UFR_STATUS DL_API JCStorageReadFileM(UFR_HANDLE hndUFR, uint8_t card_file_index, OUT uint8_t *data, uint32_t data_bytes_allocated); UFR_STATUS DL_API JCStorageReadFileToFileSystemM(UFR_HANDLE hndUFR, uint8_t card_file_index, IN const char *file_system_path_name); UFR_STATUS DL_API JCStorageWriteFileM(UFR_HANDLE hndUFR, uint8_t card_file_index, IN const uint8_t *data, uint32_t data_size); UFR_STATUS DL_API JCStorageWriteFileFromFileSystemM(UFR_HANDLE hndUFR, uint8_t card_file_index, IN const char *file_system_path_name); UFR_STATUS DL_API JCStorageDeleteFileM(UFR_HANDLE hndUFR, uint8_t file_index); New helper function: c_string DL_API UFR_DLCardType2String(uint8_t dl_type_code); New error codes: UFR_FILE_SYSTEM_ERROR = 0x1003, UFR_FILE_SYSTEM_PATH_NOT_EXISTS = 0x1004, UFR_FILE_NOT_EXISTS = 0x1005, UFR_APDU_SW_WRONG_LENGTH = 0x000A6700, UFR_APDU_SW_AUTHENTICATION_METHOD_BLOCKED = 0x000A6983, UFR_APDU_SW_FILE_NOT_FOUND = 0x000A6A82 Implemented fast reading mechanism for a JC DL Storage cards using extended APDU format for case 2E and water-level algorithm for PCD FIFO data retrieving using maximum reported FSD. For a fast reading mechanism functions SetISO14443_4_DLStorage() and JCStorageReadFile() / JCStorageReadFileToFileSystem() or SetISO14443_4_DLStorageM() and JCStorageReadFileM() / JCStorageReadFileToFileSystemM() have to be used.
-
developer4 authored
Implemented support for JC DL Storage cards. New functions: UFR_STATUS DL_API SetISO14443_4_DLStorage(void); UFR_STATUS DL_API JCStorageGetFilesListSize(VAR uint32_t *list_size); UFR_STATUS DL_API JCStorageListFiles(OUT uint8_t *list, uint32_t list_bytes_allocated); UFR_STATUS DL_API JCStorageGetFileSize(uint8_t card_file_index, VAR uint32_t *file_size); UFR_STATUS DL_API JCStorageReadFile(uint8_t card_file_index, OUT uint8_t *data, uint32_t data_bytes_allocated); UFR_STATUS DL_API JCStorageReadFileToFileSystem(uint8_t card_file_index, IN const char *file_system_path_name); UFR_STATUS DL_API JCStorageWriteFile(uint8_t card_file_index, IN const uint8_t *data, uint32_t data_size); UFR_STATUS DL_API JCStorageWriteFileFromFileSystem(uint8_t card_file_index, IN const char *file_system_path_name); UFR_STATUS DL_API JCStorageDeleteFile(uint8_t file_index); UFR_STATUS DL_API SetISO14443_4_DLStorageM(UFR_HANDLE hndUFR); UFR_STATUS DL_API JCStorageGetFilesListSizeM(UFR_HANDLE hndUFR, VAR uint32_t *list_size); UFR_STATUS DL_API JCStorageListFilesM(UFR_HANDLE hndUFR, OUT uint8_t *list, uint32_t list_bytes_allocated); UFR_STATUS DL_API JCStorageGetFileSizeM(UFR_HANDLE hndUFR, uint8_t card_file_index, VAR uint32_t *file_size); UFR_STATUS DL_API JCStorageReadFileM(UFR_HANDLE hndUFR, uint8_t card_file_index, OUT uint8_t *data, uint32_t data_bytes_allocated); UFR_STATUS DL_API JCStorageReadFileToFileSystemM(UFR_HANDLE hndUFR, uint8_t card_file_index, IN const char *file_system_path_name); UFR_STATUS DL_API JCStorageWriteFileM(UFR_HANDLE hndUFR, uint8_t card_file_index, IN const uint8_t *data, uint32_t data_size); UFR_STATUS DL_API JCStorageWriteFileFromFileSystemM(UFR_HANDLE hndUFR, uint8_t card_file_index, IN const char *file_system_path_name); UFR_STATUS DL_API JCStorageDeleteFileM(UFR_HANDLE hndUFR, uint8_t file_index); New helper function: c_string DL_API UFR_DLCardType2String(uint8_t dl_type_code); New error codes: UFR_FILE_SYSTEM_ERROR = 0x1003, UFR_FILE_SYSTEM_PATH_NOT_EXISTS = 0x1004, UFR_FILE_NOT_EXISTS = 0x1005, UFR_APDU_SW_WRONG_LENGTH = 0x000A6700, UFR_APDU_SW_AUTHENTICATION_METHOD_BLOCKED = 0x000A6983, UFR_APDU_SW_FILE_NOT_FOUND = 0x000A6A82 Implemented fast reading mechanism for a JC DL Storage cards using extended APDU format for case 2E and water-level algorithm for PCD FIFO data retrieving using maximum reported FSD. For a fast reading mechanism functions SetISO14443_4_DLStorage() and JCStorageReadFile() / JCStorageReadFileToFileSystem() or SetISO14443_4_DLStorageM() and JCStorageReadFileM() / JCStorageReadFileToFileSystemM() have to be used.
-
developer2 authored
- May 14, 2019
-
-
developer34 authored
-
- Apr 04, 2019
-
-
developer2 authored
-
- Mar 27, 2019
-
-
developer4 authored
-Improved Linux and macOS time-out measurement. -Updated error descriptors in function: c_string UFR_Status2String(const UFR_STATUS status); -Windows dll: added details in file properties. -Windows dll: from now, SHA2-256 digest is in use for file signature.
-
- Mar 20, 2019
-
-
developer28 authored
-
- Mar 09, 2019
-
-
developer28 authored
-
- Mar 07, 2019
-
-
developer28 authored
-
- Mar 05, 2019
-
-
developer28 authored
-
developer28 authored
-
developer29 authored
-
developer29 authored
-
developer29 authored
-
- Feb 05, 2019
-
-
developer4 authored
-
developer4 authored
Added following error descriptors for JCAppGetErrorDescription(): 1. UFR_APDU_SW_ENTITY_ALREADY_EXISTS ("entity already exists") 2. UFR_APDU_SW_NO_PRECISE_DIAGNOSTIC ("no precise diagnostic in Java card (probably index out of range)")
-
- Jan 30, 2019
-
-
developer3 authored
-
developer2 authored
-
- Jan 25, 2019
-
-
developer4 authored
Implemented new DLSigner card instructions: INS_DEL_RSA_KEY_PAIR and INS_DEL_EC_KEY_PAIR using functions: UFR_STATUS DL_API JCAppDeleteRsaKeyPair(uint8_t key_index); UFR_STATUS DL_API JCAppDeleteEcKeyPair(uint8_t key_index); and UFR_STATUS DL_API JCAppDeleteRsaKeyPairM(UFR_HANDLE hndUFR, uint8_t key_index); UFR_STATUS DL_API JCAppDeleteEcKeyPairM(UFR_HANDLE hndUFR, uint8_t key_index); Added DLSigner card types: #define DLSigner81 0xA0 #define DLSigner22 0xA1 #define DLSigner30 0xA2 #define DLSigner10 0xA3 #define DLSigner145 0xAA Added static builds: linux/static-aarch64/libuFCoder-aarch64.a linux/static-armel/libuFCoder-armel.a linux/static-armhf/libuFCoder-armhf.a macos/static-x86_64/libuFCoder-x86_64.a
-
- Dec 14, 2018
-
-
developer2 authored
-
- Nov 28, 2018
-
-
developer4 authored
For RSA key type fixed 1280 bits key size constraint. Added support for DL_J3H145 JCDL card type. Added JCAppGetEcKeySizeBits() and JCAppGetEcKeySizeBitsM() functions.
-
- Nov 23, 2018
-
-
developer3 authored
* Merge fragmented sending
-
- Nov 21, 2018
-
-
developer3 authored
-
- Nov 20, 2018
-
-
developer3 authored
-
- Nov 15, 2018
-
-
developer3 authored
Need to link additional library ws2_32
-
- Nov 13, 2018
-
-
developer3 authored
Look at ReaderOpenEx() description
-
- Nov 08, 2018
-
-
developer4 authored
Added functions for PIN and PUK codes manipulation in a JCApp cards: UFR_STATUS JCAppLogin(uint8_t SO, uint8_t *pin, uint8_t pinSize); UFR_STATUS JCAppGetPinTriesRemaining(dl_sec_code_t secureCodeType, uint16_t *triesRemaining); UFR_STATUS JCAppPinChange(dl_sec_code_t secureCodeType, uint8_t *newPin, uint8_t newPinSize); UFR_STATUS JCAppPinUnblock(uint8_t SO, uint8_t *puk, uint8_t pukSize); Added functions for asymmetric cryptography key pairs generation and manipulation in a JCApp cards: UFR_STATUS JCAppGenerateKeyPair(uint8_t key_type, uint8_t key_index, uint8_t key_designator, uint16_t key_bit_len, const uint8_t *params, uint16_t params_size); UFR_STATUS JCAppGetRsaPublicKey(uint8_t key_index, uint8_t *modulus, uint16_t *modulus_size, uint8_t *exponent, uint16_t *exponent_size); UFR_STATUS JCAppGetEcPublicKey(uint8_t key_index, uint8_t *keyW, uint16_t *kexWSize, uint8_t *field, uint16_t *field_size, uint8_t *ab , uint16_t *ab_size, uint8_t *g, uint16_t *g_size, uint8_t *r, uint16_t *r_s...
-
- Nov 05, 2018
-
-
developer3 authored
-
- Sep 20, 2018
-
-
developer4 authored
1.Implemented "keep-alive" mechanism in to the "APDU transceive" algorithm.
-
- Sep 03, 2018
-
-
developer2 authored
new functions for uFR PLUS devices only //MIFARE PLUS UFR_STATUS DL_API MFP_WritePerso(uint16_t address, uint8_t *data); UFR_STATUS DL_API MFP_CommitPerso(void); UFR_STATUS DL_API MFP_PersonalizationMinimal(uint8_t *card_master_key, uint8_t *card_config_key, uint8_t *level_2_switch_key, uint8_t *level_3_switch_key, uint8_t *level_1_auth_key, uint8_t *select_vc_key, uint8_t *prox_chk_key, uint8_t *vc_poll_enc_key, uint8_t *vc_poll_mac_key); UFR_STATUS DL_API MFP_SwitchToSecurityLevel3(uint8_t key_index); UFR_STATUS DL_API MFP_SwitchToSecurityLevel3_PK(uint8_t *aes_key); UFR_STATUS DL_API MFP_AesAuthSecurityLevel1(uint8_t key_index); UFR_STATUS DL_API MFP_AesAuthSecurityLevel1_PK(uint8_t *aes_key); UFR_STATUS DL_API MFP_ChangeMasterKey(uint8_t key_index, uint8_t *new_key); UFR_STATUS DL_API MFP_ChangeMasterKey_PK(uint8_t *old_key, uint8_t *new_key); UFR_STATUS DL_API MFP_ChangeConfigurationKey(uint8_t key_index, uint8_t *new_key); UFR_STATUS DL_API MFP_ChangeConfigurationKey_PK(uint8_t *old_key, uint8_t *new_key); UFR_STATUS DL_API MFP_FieldConfigurationSet(uint8_t configuration_key_index, uint8_t rid_use, uint8_t prox_check_use); UFR_STATUS DL_API MFP_FieldConfigurationSet_PK(uint8_t *configuration_key, uint8_t rid_use, uint8_t prox_check_use); UFR_STATUS DL_API MFP_ChangeSectorKey(uint8_t sector_nr, uint8_t auth_mode, uint8_t key_index, uint8_t *new_key); UFR_STATUS DL_API MFP_ChangeSectorKey_PK(uint8_t sector_nr, uint8_t auth_mode, uint8_t *old_key, uint8_t *new_key); UFR_STATUS DL_API MFP_GetUid(uint8_t key_index_vc_poll_enc_key, uint8_t key_index_vc_poll_mac_key, uint8_t *uid, uint8_t *uid_len); UFR_STATUS DL_API MFP_GetUid_PK(uint8_t *vc_poll_enc_key, uint8_t *vc_poll_mac_key, uint8_t *uid, uint8_t *uid_len); UFR_STATUS DL_API MFP_ChangeVcPollingEncKey(uint8_t configuration_key_index, uint8_t *new_key); UFR_STATUS DL_API MFP_ChangeVcPollingEncKey_PK(uint8_t *configuration_key, uint8_t *new_key); UFR_STATUS DL_API MFP_ChangeVcPollingMacKey(uint8_t configuration_key_index, uint8_t *new_key); UFR_STATUS DL_API MFP_ChangeVcPollingMacKey_PK(uint8_t *configuration_key, uint8_t *new_key); //ULTRALIGHT C UFR_STATUS DL_API ULC_ExternalAuth_PK(uint8_t *key); UFR_STATUS DL_API ULC_write_3des_key_no_auth(uint8_t *new_3des_key); UFR_STATUS DL_API ULC_write_3des_key_factory_key(uint8_t *new_3des_key); UFR_STATUS DL_API ULC_write_3des_key(uint8_t *new_3des_key, uint8_t *old_3des_key); Functions for ISO7816 protokol support (SAM option only) UFR_STATUS DL_API APDU_switch_to_ISO7816_interface(void); UFR_STATUS DL_API close_ISO7816_interface_no_APDU(void); UFR_STATUS DL_API close_ISO7816_interface_APDU_ISO14443_4(void); UFR_STATUS DL_API APDU_switch_to_ISO14443_4_interface(void); UFR_STATUS DL_API APDU_switch_off_from_ISO7816_interface(void);
-
- Aug 29, 2018
-
-
developer3 authored
Rename output folder for macOS from "osx" to "macos" Add platform (-x86_64) postfix to macOS library name output: macos/x86_64/libuFCoder-x86_64.dylib
-
developer3 authored
output: linux/arm-el/libuFCoder-armel.so
-
- Aug 15, 2018
-
-
developer3 authored
Use for QR card type and group
-
developer3 authored
Revert "4.3.11: Add QR code types in CardEncryption_GetNext() [FWv3.9.60]" This reverts commit 7e3049dbd706dbcd5c8f9db9f0d09a2d9b7f0152.
-
developer3 authored
This reverts commit 2cc9ff057dd984b98630895220aa57df67a02093.
-
- Aug 09, 2018
-
-
developer3 authored
-