- 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
-
- Aug 07, 2018
-
-
developer3 authored
Wrapper library for x86 Readme
-
- Jun 20, 2018
-
-
developer3 authored
Minor BUGFIX
-
developer3 authored
-