Part Number: LAUNCHXL-CC26X2R1
Hey,
I have a question regarding pairing :
While user on client side (mobile platform iPhone/Android) enters wrong password i get event "pairing failed"
but the link stays on..
Is it normal behavior or should the link be terminated ?
Who is responsible to terminate the link, client or CC26x2?
If it is CC26x2 ,where should this code be ( SDK or App code)?
What are the best practices to go around it,given we want to get the most out of our security model which is defined as follows:
uint8_t pairMode = GAPBOND_PAIRING_MODE_INITIATE;
uint8_t mitm = TRUE;
uint8_t ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;
uint8_t bonding = FALSE;
uint8_t scMode = GAPBOND_SECURE_CONNECTION_ONLY;
#ifdef SC_HOST_DEBUG
//Enable using pre-defined ECC Debug Keys
uint8_t useDebugEccKeys = TRUE;
GAPBondMgr_SetParameter(GAPBOND_SC_HOST_DEBUG, sizeof(uint8_t), &useDebugEccKeys);
#endif
GAPBondMgr_SetParameter(GAPBOND_SECURE_CONNECTION, sizeof(uint8_t), &scMode);
GAPBondMgr_SetParameter(GAPBOND_PAIRING_MODE, sizeof(uint8_t), &pairMode);
GAPBondMgr_SetParameter(GAPBOND_MITM_PROTECTION, sizeof(uint8_t), &mitm);
GAPBondMgr_SetParameter(GAPBOND_IO_CAPABILITIES, sizeof(uint8_t), &ioCap);
GAPBondMgr_SetParameter(GAPBOND_BONDING_ENABLED, sizeof(uint8_t), &bonding);
We have only one service and it's properties defined :
//Service Declaration
....
GATT_PERMIT_AUTHEN_READ|GATT_PERMIT_ENCRYPT_READ
//Characteristic Declaration
....
GATT_PERMIT_AUTHEN_READ |GATT_PERMIT_ENCRYPT_READ
//Characteristic Value
...
GATT_PERMIT_ENCRYPT_READ| GATT_PERMIT_ENCRYPT_WRITE| GATT_PERMIT_AUTHEN_WRITE|GATT_PERMIT_AUTHEN_READ
//CCCD
....
GATT_PERMIT_ENCRYPT_READ| GATT_PERMIT_ENCRYPT_WRITE| GATT_PERMIT_AUTHEN_WRITE|GATT_PERMIT_AUTHEN_READ
I am using SDK 3.0.00.68 and my project was originally based on Project Zero
Thanks in advance
BR
Alik