Fix build for non-pico boards.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
@@ -15,6 +15,7 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#ifndef ESP_PLATFORM
|
#ifndef ESP_PLATFORM
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#else
|
#else
|
||||||
@@ -35,7 +36,6 @@
|
|||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "crypto_utils.h"
|
#include "crypto_utils.h"
|
||||||
#include "pico_keys.h"
|
|
||||||
#include "apdu.h"
|
#include "apdu.h"
|
||||||
#include "kek.h"
|
#include "kek.h"
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#include "ctap2_cbor.h"
|
#include "ctap2_cbor.h"
|
||||||
#include "fido.h"
|
#include "fido.h"
|
||||||
#include "ctap.h"
|
#include "ctap.h"
|
||||||
@@ -22,7 +23,6 @@
|
|||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "apdu.h"
|
#include "apdu.h"
|
||||||
#include "credential.h"
|
#include "credential.h"
|
||||||
#include "pico_keys.h"
|
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "mbedtls/ecdh.h"
|
#include "mbedtls/ecdh.h"
|
||||||
#include "mbedtls/chachapoly.h"
|
#include "mbedtls/chachapoly.h"
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#include "fido.h"
|
#include "fido.h"
|
||||||
#include "ctap.h"
|
#include "ctap.h"
|
||||||
#include "hid/ctap_hid.h"
|
#include "hid/ctap_hid.h"
|
||||||
@@ -22,7 +23,6 @@
|
|||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "apdu.h"
|
#include "apdu.h"
|
||||||
#include "credential.h"
|
#include "credential.h"
|
||||||
#include "pico_keys.h"
|
|
||||||
|
|
||||||
uint8_t rp_counter = 1;
|
uint8_t rp_counter = 1;
|
||||||
uint8_t rp_total = 0;
|
uint8_t rp_total = 0;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#include "cbor.h"
|
#include "cbor.h"
|
||||||
#include "ctap.h"
|
#include "ctap.h"
|
||||||
#if !defined(ENABLE_EMULATION) && !defined(ESP_PLATFORM)
|
#if !defined(ENABLE_EMULATION) && !defined(ESP_PLATFORM)
|
||||||
@@ -24,7 +25,6 @@
|
|||||||
#include "fido.h"
|
#include "fido.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "crypto_utils.h"
|
#include "crypto_utils.h"
|
||||||
#include "pico_keys.h"
|
|
||||||
#include "apdu.h"
|
#include "apdu.h"
|
||||||
#include "cbor_make_credential.h"
|
#include "cbor_make_credential.h"
|
||||||
#include "credential.h"
|
#include "credential.h"
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#include "ctap2_cbor.h"
|
#include "ctap2_cbor.h"
|
||||||
#include "hid/ctap_hid.h"
|
#include "hid/ctap_hid.h"
|
||||||
#include "fido.h"
|
#include "fido.h"
|
||||||
|
|||||||
@@ -15,13 +15,13 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#include "ctap2_cbor.h"
|
#include "ctap2_cbor.h"
|
||||||
#include "fido.h"
|
#include "fido.h"
|
||||||
#include "ctap.h"
|
#include "ctap.h"
|
||||||
#include "hid/ctap_hid.h"
|
#include "hid/ctap_hid.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "apdu.h"
|
#include "apdu.h"
|
||||||
#include "pico_keys.h"
|
|
||||||
#include "mbedtls/sha256.h"
|
#include "mbedtls/sha256.h"
|
||||||
|
|
||||||
static uint64_t expectedLength = 0, expectedNextOffset = 0;
|
static uint64_t expectedLength = 0, expectedNextOffset = 0;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#include "cbor_make_credential.h"
|
#include "cbor_make_credential.h"
|
||||||
#include "ctap2_cbor.h"
|
#include "ctap2_cbor.h"
|
||||||
#include "hid/ctap_hid.h"
|
#include "hid/ctap_hid.h"
|
||||||
@@ -25,7 +26,6 @@
|
|||||||
#include "credential.h"
|
#include "credential.h"
|
||||||
#include "mbedtls/sha256.h"
|
#include "mbedtls/sha256.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "pico_keys.h"
|
|
||||||
#include "crypto_utils.h"
|
#include "crypto_utils.h"
|
||||||
|
|
||||||
int cbor_make_credential(const uint8_t *data, size_t len) {
|
int cbor_make_credential(const uint8_t *data, size_t len) {
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#include "file.h"
|
#include "file.h"
|
||||||
#include "fido.h"
|
#include "fido.h"
|
||||||
#include "ctap.h"
|
#include "ctap.h"
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#include "fido.h"
|
#include "fido.h"
|
||||||
#include "ctap.h"
|
#include "ctap.h"
|
||||||
|
|
||||||
|
|||||||
@@ -15,13 +15,13 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#include "ctap2_cbor.h"
|
#include "ctap2_cbor.h"
|
||||||
#include "fido.h"
|
#include "fido.h"
|
||||||
#include "ctap.h"
|
#include "ctap.h"
|
||||||
#include "hid/ctap_hid.h"
|
#include "hid/ctap_hid.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "apdu.h"
|
#include "apdu.h"
|
||||||
#include "pico_keys.h"
|
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "mbedtls/ecdh.h"
|
#include "mbedtls/ecdh.h"
|
||||||
#include "mbedtls/chachapoly.h"
|
#include "mbedtls/chachapoly.h"
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "fido.h"
|
|
||||||
#include "pico_keys.h"
|
#include "pico_keys.h"
|
||||||
|
#include "fido.h"
|
||||||
#include "apdu.h"
|
#include "apdu.h"
|
||||||
#include "ctap.h"
|
#include "ctap.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "fido.h"
|
|
||||||
#include "pico_keys.h"
|
#include "pico_keys.h"
|
||||||
|
#include "fido.h"
|
||||||
#include "apdu.h"
|
#include "apdu.h"
|
||||||
#include "ctap.h"
|
#include "ctap.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
@@ -69,11 +69,7 @@ int cmd_register() {
|
|||||||
}
|
}
|
||||||
if (memcmp(req->appId, bogus_firefox,
|
if (memcmp(req->appId, bogus_firefox,
|
||||||
CTAP_APPID_SIZE) == 0 || memcmp(req->appId, bogus_chrome, CTAP_APPID_SIZE) == 0)
|
CTAP_APPID_SIZE) == 0 || memcmp(req->appId, bogus_chrome, CTAP_APPID_SIZE) == 0)
|
||||||
#ifndef ENABLE_EMULATION
|
|
||||||
{ return ctap_error(CTAP1_ERR_CHANNEL_BUSY); }
|
{ return ctap_error(CTAP1_ERR_CHANNEL_BUSY); }
|
||||||
#else
|
|
||||||
{ return SW_DATA_INVALID(); }
|
|
||||||
#endif
|
|
||||||
mbedtls_ecdsa_context key;
|
mbedtls_ecdsa_context key;
|
||||||
mbedtls_ecdsa_init(&key);
|
mbedtls_ecdsa_init(&key);
|
||||||
int ret = derive_key(req->appId, true, resp->keyHandleCertSig, MBEDTLS_ECP_DP_SECP256R1, &key);
|
int ret = derive_key(req->appId, true, resp->keyHandleCertSig, MBEDTLS_ECP_DP_SECP256R1, &key);
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#include "mbedtls/chachapoly.h"
|
#include "mbedtls/chachapoly.h"
|
||||||
#include "mbedtls/sha256.h"
|
#include "mbedtls/sha256.h"
|
||||||
#include "credential.h"
|
#include "credential.h"
|
||||||
@@ -26,7 +27,6 @@
|
|||||||
#include "ctap.h"
|
#include "ctap.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "pico_keys.h"
|
|
||||||
#include "otp.h"
|
#include "otp.h"
|
||||||
|
|
||||||
int credential_derive_chacha_key(uint8_t *outk, const uint8_t *);
|
int credential_derive_chacha_key(uint8_t *outk, const uint8_t *);
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "fido.h"
|
#include "pico_keys.h"
|
||||||
|
#include "fido.h"
|
||||||
|
|
||||||
uint8_t PICO_PRODUCT = 2; // Pico FIDO
|
uint8_t PICO_PRODUCT = 2; // Pico FIDO
|
||||||
|
|||||||
@@ -15,9 +15,9 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#include "fido.h"
|
#include "fido.h"
|
||||||
#include "kek.h"
|
#include "kek.h"
|
||||||
#include "pico_keys.h"
|
|
||||||
#include "apdu.h"
|
#include "apdu.h"
|
||||||
#include "ctap.h"
|
#include "ctap.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "mbedtls/x509_crt.h"
|
#include "mbedtls/x509_crt.h"
|
||||||
#include "mbedtls/hkdf.h"
|
#include "mbedtls/hkdf.h"
|
||||||
#if defined(USB_ITF_CCID) || defined(ENABLE_EMULATION)
|
#if defined(USB_ITF_CCID)
|
||||||
#include "ccid/ccid.h"
|
#include "ccid/ccid.h"
|
||||||
#endif
|
#endif
|
||||||
#if !defined(ENABLE_EMULATION) && !defined(ESP_PLATFORM)
|
#if !defined(ENABLE_EMULATION) && !defined(ESP_PLATFORM)
|
||||||
|
|||||||
@@ -31,11 +31,7 @@
|
|||||||
#ifdef MBEDTLS_EDDSA_C
|
#ifdef MBEDTLS_EDDSA_C
|
||||||
#include "mbedtls/eddsa.h"
|
#include "mbedtls/eddsa.h"
|
||||||
#endif
|
#endif
|
||||||
#ifndef ENABLE_EMULATION
|
|
||||||
#include "hid/ctap_hid.h"
|
#include "hid/ctap_hid.h"
|
||||||
#else
|
|
||||||
#include <stdbool.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define CTAP_PUBKEY_LEN (65)
|
#define CTAP_PUBKEY_LEN (65)
|
||||||
#define KEY_PATH_LEN (32)
|
#define KEY_PATH_LEN (32)
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "fido.h"
|
|
||||||
#include "pico_keys.h"
|
#include "pico_keys.h"
|
||||||
|
#include "fido.h"
|
||||||
#include "stdlib.h"
|
#include "stdlib.h"
|
||||||
#if !defined(ENABLE_EMULATION) && !defined(ESP_PLATFORM)
|
#if !defined(ENABLE_EMULATION) && !defined(ESP_PLATFORM)
|
||||||
#include "pico/stdlib.h"
|
#include "pico/stdlib.h"
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "pico_keys.h"
|
||||||
#include "fido.h"
|
#include "fido.h"
|
||||||
#include "ctap2_cbor.h"
|
#include "ctap2_cbor.h"
|
||||||
|
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "fido.h"
|
|
||||||
#include "pico_keys.h"
|
#include "pico_keys.h"
|
||||||
|
#include "fido.h"
|
||||||
#include "apdu.h"
|
#include "apdu.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "fido.h"
|
|
||||||
#include "pico_keys.h"
|
#include "pico_keys.h"
|
||||||
|
#include "fido.h"
|
||||||
#include "apdu.h"
|
#include "apdu.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
|
|||||||
@@ -15,8 +15,8 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "fido.h"
|
|
||||||
#include "pico_keys.h"
|
#include "pico_keys.h"
|
||||||
|
#include "fido.h"
|
||||||
#include "apdu.h"
|
#include "apdu.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "random.h"
|
#include "random.h"
|
||||||
@@ -24,14 +24,17 @@
|
|||||||
#include "asn1.h"
|
#include "asn1.h"
|
||||||
#include "hid/ctap_hid.h"
|
#include "hid/ctap_hid.h"
|
||||||
#include "usb.h"
|
#include "usb.h"
|
||||||
#if !defined(ENABLE_EMULATION) && !defined(ESP_PLATFORM)
|
#if defined(PICO_PLATFORM)
|
||||||
#include "bsp/board.h"
|
#include "bsp/board.h"
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef ENABLE_EMULATION
|
||||||
|
void add_keyboard_buffer(const uint8_t *buf, size_t len, bool press_enter) {}
|
||||||
|
void append_keyboard_buffer(const uint8_t *buf, size_t len) {}
|
||||||
|
#else
|
||||||
|
#include "tusb.h"
|
||||||
|
#endif
|
||||||
#include "mbedtls/aes.h"
|
#include "mbedtls/aes.h"
|
||||||
#include "management.h"
|
#include "management.h"
|
||||||
#ifndef ENABLE_EMULATION
|
|
||||||
#include "tusb.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define FIXED_SIZE 16
|
#define FIXED_SIZE 16
|
||||||
#define KEY_SIZE 16
|
#define KEY_SIZE 16
|
||||||
@@ -116,12 +119,10 @@ uint16_t otp_status(bool is_otp);
|
|||||||
int otp_process_apdu();
|
int otp_process_apdu();
|
||||||
int otp_unload();
|
int otp_unload();
|
||||||
|
|
||||||
#ifndef ENABLE_EMULATION
|
|
||||||
extern int (*hid_set_report_cb)(uint8_t, uint8_t, hid_report_type_t, uint8_t const *, uint16_t);
|
extern int (*hid_set_report_cb)(uint8_t, uint8_t, hid_report_type_t, uint8_t const *, uint16_t);
|
||||||
extern uint16_t (*hid_get_report_cb)(uint8_t, uint8_t, hid_report_type_t, uint8_t *, uint16_t);
|
extern uint16_t (*hid_get_report_cb)(uint8_t, uint8_t, hid_report_type_t, uint8_t *, uint16_t);
|
||||||
int otp_hid_set_report_cb(uint8_t, uint8_t, hid_report_type_t, uint8_t const *, uint16_t);
|
int otp_hid_set_report_cb(uint8_t, uint8_t, hid_report_type_t, uint8_t const *, uint16_t);
|
||||||
uint16_t otp_hid_get_report_cb(uint8_t, uint8_t, hid_report_type_t, uint8_t *, uint16_t);
|
uint16_t otp_hid_get_report_cb(uint8_t, uint8_t, hid_report_type_t, uint8_t *, uint16_t);
|
||||||
#endif
|
|
||||||
|
|
||||||
const uint8_t otp_aid[] = {
|
const uint8_t otp_aid[] = {
|
||||||
7,
|
7,
|
||||||
@@ -200,15 +201,12 @@ uint16_t calculate_crc(const uint8_t *data, size_t data_len) {
|
|||||||
return crc & 0xFFFF;
|
return crc & 0xFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef ENABLE_EMULATION
|
|
||||||
static uint8_t session_counter[2] = { 0 };
|
static uint8_t session_counter[2] = { 0 };
|
||||||
#endif
|
|
||||||
int otp_button_pressed(uint8_t slot) {
|
int otp_button_pressed(uint8_t slot) {
|
||||||
init_otp();
|
init_otp();
|
||||||
if (!cap_supported(CAP_OTP)) {
|
if (!cap_supported(CAP_OTP)) {
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
#ifndef ENABLE_EMULATION
|
|
||||||
file_t *ef = search_dynamic_file(slot == 1 ? EF_OTP_SLOT1 : EF_OTP_SLOT2);
|
file_t *ef = search_dynamic_file(slot == 1 ? EF_OTP_SLOT1 : EF_OTP_SLOT2);
|
||||||
const uint8_t *data = file_get_data(ef);
|
const uint8_t *data = file_get_data(ef);
|
||||||
otp_config_t *otp_config = (otp_config_t *) data;
|
otp_config_t *otp_config = (otp_config_t *) data;
|
||||||
@@ -317,19 +315,15 @@ int otp_button_pressed(uint8_t slot) {
|
|||||||
low_flash_available();
|
low_flash_available();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
(void) slot;
|
|
||||||
#endif
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
INITIALIZER( otp_ctor ) {
|
INITIALIZER( otp_ctor ) {
|
||||||
register_app(otp_select, otp_aid);
|
register_app(otp_select, otp_aid);
|
||||||
button_pressed_cb = otp_button_pressed;
|
button_pressed_cb = otp_button_pressed;
|
||||||
#ifndef ENABLE_EMULATION
|
|
||||||
hid_set_report_cb = otp_hid_set_report_cb;
|
hid_set_report_cb = otp_hid_set_report_cb;
|
||||||
hid_get_report_cb = otp_hid_get_report_cb;
|
hid_get_report_cb = otp_hid_get_report_cb;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int otp_unload() {
|
int otp_unload() {
|
||||||
@@ -490,20 +484,20 @@ int cmd_otp() {
|
|||||||
return SW_WRONG_DATA();
|
return SW_WRONG_DATA();
|
||||||
}
|
}
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
#ifndef ENABLE_EMULATION
|
|
||||||
uint8_t *rdata_bk = apdu.rdata;
|
uint8_t *rdata_bk = apdu.rdata;
|
||||||
if (otp_config->cfg_flags & CHAL_BTN_TRIG) {
|
if (otp_config->cfg_flags & CHAL_BTN_TRIG) {
|
||||||
status_byte = 0x20;
|
status_byte = 0x20;
|
||||||
otp_status(_is_otp);
|
otp_status(_is_otp);
|
||||||
|
#ifndef ENABLE_EMULATION
|
||||||
if (wait_button() == true) {
|
if (wait_button() == true) {
|
||||||
status_byte = 0x00;
|
status_byte = 0x00;
|
||||||
otp_status(_is_otp);
|
otp_status(_is_otp);
|
||||||
return SW_CONDITIONS_NOT_SATISFIED();
|
return SW_CONDITIONS_NOT_SATISFIED();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
status_byte = 0x10;
|
status_byte = 0x10;
|
||||||
apdu.rdata = rdata_bk;
|
apdu.rdata = rdata_bk;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
if (p1 == 0x30 || p1 == 0x38) {
|
if (p1 == 0x30 || p1 == 0x38) {
|
||||||
if (!(otp_config->cfg_flags & CHAL_HMAC)) {
|
if (!(otp_config->cfg_flags & CHAL_HMAC)) {
|
||||||
return SW_WRONG_DATA();
|
return SW_WRONG_DATA();
|
||||||
@@ -568,8 +562,6 @@ int otp_process_apdu() {
|
|||||||
return SW_INS_NOT_SUPPORTED();
|
return SW_INS_NOT_SUPPORTED();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef ENABLE_EMULATION
|
|
||||||
|
|
||||||
uint8_t otp_frame_rx[70] = {0};
|
uint8_t otp_frame_rx[70] = {0};
|
||||||
uint8_t otp_frame_tx[70] = {0};
|
uint8_t otp_frame_tx[70] = {0};
|
||||||
uint8_t otp_exp_seq = 0, otp_curr_seq = 0;
|
uint8_t otp_exp_seq = 0, otp_curr_seq = 0;
|
||||||
@@ -671,5 +663,3 @@ uint16_t otp_hid_get_report_cb(uint8_t itf,
|
|||||||
|
|
||||||
return reqlen;
|
return reqlen;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|||||||
Reference in New Issue
Block a user