Skip to content
  1. Aug 15, 2018
  2. Aug 09, 2018
  3. Aug 07, 2018
  4. Jun 20, 2018
  5. Jun 08, 2018
  6. May 31, 2018
  7. May 30, 2018
  8. May 07, 2018
  9. May 04, 2018
  10. Apr 13, 2018
    • developer2's avatar
      Version 4.3.9 transceive mode support (uFR PLUS devices only) uFCoder.h update · c6d897df
      developer2 authored
      new functions added
      UFR_STATUS DL_API card_transceive_mode_start(uint8_t tx_crc, uint8_t rx_crc, uint32_t rf_timeout, uint32_t uart_timeout);
      UFR_STATUS DL_API card_transceive_mode_stop(void);
      UFR_STATUS DL_API uart_transceive(uint8_t *send_data, uint8_t send_len, uint8_t *rcv_data, uint32_t bytes_to_receive, uint32_t *rcv_len);
      c6d897df
    • developer2's avatar
      Merge branch 'master' of https://git.d-logic.net/nfc-rfid-reader-sdk/ufr-lib · f79e8d53
      developer2 authored
      # Conflicts:
      #	include/uFCoder.h
      #	linux/aarch64/libuFCoder-aarch64.so
      #	linux/arm-hf/libuFCoder-armhf.so
      #	linux/arm/libuFCoder-arm.so
      #	linux/x86/libuFCoder-x86.so
      #	linux/x86_64/libuFCoder-x86_64.so
      #	osx/x86_64/libuFCoder.dylib
      #	windows/static-x86/libuFCoder-x86.a
      #	windows/static-x86_64/libuFCoder-x86_64.a
      #	windows/x86/uFCoder-x86.def
      #	windows/x86/uFCoder-x86.dll
      #	windows/x86_64/uFCoder-x86_64.def
      #	windows/x86_64/uFCoder-x86_64.dll
      f79e8d53
    • developer2's avatar
      Version 4.3.9 transceive mode support (uFR PLUS devices only) · 5b12e545
      developer2 authored
      new functions added
      UFR_STATUS DL_API card_transceive_mode_start(uint8_t tx_crc, uint8_t rx_crc, uint32_t rf_timeout, uint32_t uart_timeout);
      UFR_STATUS DL_API card_transceive_mode_stop(void);
      UFR_STATUS DL_API uart_transceive(uint8_t *send_data, uint8_t send_len, uint8_t *rcv_data, uint32_t bytes_to_receive, uint32_t *rcv_len);
      5b12e545
  11. Mar 06, 2018
    • developer4's avatar
      version 4.3.8 · 0a6e041e
      developer4 authored
      enabled off-card hash algorithm (when sig_cipher == SIG_CIPHER_RSA && sig_digest == ALG_NULL && sig_padding == PAD_PKCS1)
      0a6e041e
  12. Feb 26, 2018
    • developer4's avatar
      Version 4.3.7 · 1a084f8b
      developer4 authored
      Finished and tested functions for qualified and CA certificates manipulation:
      UFR_STATUS JCAppPutObj(uint8_t obj_type, uint8_t obj_index, uint8_t *obj, int16_t obj_size, uint8_t *id, uint8_t id_size);
      UFR_STATUS JCAppPutObjSubject(uint8_t obj_type, uint8_t obj_index, uint8_t *subject, uint8_t size);
      UFR_STATUS JCAppInvalidateCert(uint8_t obj_type, uint8_t obj_index);
      UFR_STATUS JCAppGetObjId(uint8_t obj_type, uint8_t obj_index, uint8_t *id, uint16_t *id_size); // when id == NULL returns size
      UFR_STATUS JCAppGetObjSubject(uint8_t obj_type, uint8_t obj_index, uint8_t *subject, uint16_t *size); // when subject == NULL returns size
      UFR_STATUS JCAppGetObj(uint8_t obj_type, uint8_t obj_index, uint8_t *obj, int16_t size); // when obj == NULL returns size
      
      and multi reader support functions:
      UFR_STATUS JCAppPutObjM(UFR_HANDLE hndUFR, uint8_t obj_type, uint8_t obj_index, uint8_t *obj, int16_t obj_size, uint8_t *id, uint8_t id_size);
      UFR_STATUS JCAppPutObjSubjectM(UFR_HANDLE hndUFR, uint8_t obj_type, uint8_t obj_index, uint8_t *subject, uint8_t size);
      UFR_STATUS JCAppInvalidateCertM(UFR_HANDLE hndUFR, uint8_t obj_type, uint8_t obj_index);
      UFR_STATUS JCAppGetObjIdHnd(UFR_HANDLE hndUFR, uint8_t obj_type, uint8_t obj_index, uint8_t *id, uint16_t *id_size); // when id == NULL returns size
      UFR_STATUS JCAppGetObjSubjectM(UFR_HANDLE hndUFR, uint8_t obj_type, uint8_t obj_index, uint8_t *subject, uint16_t *size); // when subject == NULL returns size
      UFR_STATUS JCAppGetObjM(UFR_HANDLE hndUFR, uint8_t obj_type, uint8_t obj_index, uint8_t *obj, int16_t size); // when obj == NULL returns size
      4.3.7
      1a084f8b
  13. Feb 13, 2018
  14. Jan 11, 2018
  15. Jan 10, 2018
  16. Dec 20, 2017
  17. Dec 06, 2017
  18. Nov 30, 2017
  19. Nov 16, 2017
    • developer4's avatar
      uFCoder.h additions (again) · d3f3f793
      developer4 authored
      (There is no functional changes)
      
      Added:
      #define DL_GENERIC_ISO14443_4			0x40
      #define DL_GENERIC_ISO14443_TYPE_B		0x41
      d3f3f793
  20. Nov 06, 2017
    • developer2's avatar
      Version 4.3.2 ISO7816 interface support and green LED on off · 1777c159
      developer2 authored
      Functions added
      UFR_STATUS DL_API open_ISO7816_interface(uint8_t *atr_data, uint8_t *atr_len);
      UFR_STATUS DL_API close_ISO7816_interface(void);
      UFR_STATUS DL_API GreenLedBlinkingTurnOn(void);
      UFR_STATUS DL_API GreenLedBlinkingTurnOff(void);
      1777c159
  21. Nov 01, 2017
  22. Oct 20, 2017
    • developer4's avatar
      uFCoder.h additions · 7ecb5964
      developer4 authored
      (There is no functional changes)
      
      Added:
      #define DL_GENERIC_ISO14443_4			0x40
      #define DL_GENERIC_ISO14443_TYPE_B		0x41
      7ecb5964
  23. Oct 05, 2017
    • developer4's avatar
      version 4.3.0 · ac6a2f02
      developer4 authored
      Added DL Java Card support.
      Digital signing mechanisms using RSA and ECDSA included.
      New functions:
      JCAppSelectByAid()
      JCAppPutPrivateKey()
      JCAppGenerateSignature()
      JCAppSignatureBegin()
      JCAppSignatureUpdate()
      JCAppSignatureEnd()
      4.3.0
      ac6a2f02
  24. Aug 15, 2017
  25. Aug 14, 2017
    • developer4's avatar
      uFR library version 4.0.29 · c7c9f942
      developer4 authored
      The following functions have been improved (extended buffer support):
      UFR_STATUS DL_API APDUHexStrTransceive(const char *c_apdu, char **r_apdu);
      UFR_STATUS DL_API APDUPlainTransceive(const uint8_t *c_apdu, uint32_t c_apdu_len, uint8_t *r_apdu, uint32_t *r_apdu_len);
      UFR_STATUS DL_API APDUTransceive(uint8_t cls, uint8_t ins, uint8_t p1, uint8_t p2, const uint8_t *data_out, uint32_t Nc, uint8_t *data_in, uint32_t *Ne, uint8_t send_le, uint8_t *apdu_status);
      UFR_STATUS DL_API APDUHexStrTransceiveM(UFR_HANDLE hndUFR, const char *c_apdu, char **r_apdu);
      UFR_STATUS DL_API APDUPlainTransceiveM(UFR_HANDLE hndUFR, const uint8_t *c_apdu, uint32_t c_apdu_len, uint8_t *r_apdu, uint32_t *r_apdu_len);
      UFR_STATUS DL_API APDUTransceiveM(UFR_HANDLE hndUFR, uint8_t cls, uint8_t ins, uint8_t p0, uint8_t p1, const uint8_t *data_out, uint32_t Nc, uint8_t *data_in, uint32_t *Ne, uint8_t send_le, uint8_t *apdu_status);
      
      Improvement is valid from the firmware version 3.9.44
      4.0.29
      c7c9f942
  26. Jul 31, 2017
  27. Jul 18, 2017
  28. Jun 28, 2017
    • developer4's avatar
      version 4.0.26 · 487e898e
      developer4 authored
      Finished implementation of the "APDU Transceive" in the firmware (using APDU_TRANSCEIVE command).
      4.0.26
      487e898e