#include "srmutility.h"
#include "pmtypes.h"
#include "oxmverifycommon.h"
+#include "oxmrawpublickey.h"
#include "pkix_interface.h"
#include "hw_emul/hw_interface.h"
#include "mbedtls/x509_crt.h"
+#include "secureresourceprovider.h"
#ifdef __cplusplus
extern "C"
g_doneCB = true;
}
-static void resetDeviceCB(void* ctx, int nOfRes, OCProvisionResult_t* arr, bool hasError)
+static void resetDeviceCB(void* ctx)
{
OC_UNUSED(ctx);
OIC_LOG_V(INFO, TAG, "Reset Device SUCCEEDED");
}
}
+static char rpk[32] = {
+ 0xB2, 0xA2, 0x0D, 0xC0, 0xCB, 0x3C, 0xA0, 0x27,
+ 0x45, 0x00, 0x73, 0xBD, 0x02, 0xF5, 0x84, 0x4B,
+ 0x0C, 0x1C, 0xD6, 0x6A, 0xD3, 0x9E, 0x3F, 0x64,
+ 0x95, 0x6B, 0xB8, 0xCA, 0x58, 0xBC, 0xBE, 0xBE
+};
+
+static void InputRPKMasterKeyCB(char **rpkMasterKey, size_t *rpkMasterKeyLen)
+{
+ if(!rpkMasterKey || !rpkMasterKeyLen)
+ {
+ OIC_LOG(ERROR, TAG, "InputRPKMasterKeyCB invalid parameters");
+ return;
+ }
+
+ *rpkMasterKey = rpk;
+ *rpkMasterKeyLen = 32;
+}
+
// function(s) for provisioning client using C-level provisioning API
static int initProvisionClient(void)
{
}
SetInputPinCB(inputPinCB);
+ SetRPKMasterKeyCB(InputRPKMasterKeyCB);
return 0;
}
return OC_STACK_OK;
}
+OicSecOxm_t selectOTMcb(const OicSecOxm_t* otmList, const uint32_t len)
+{
+ return otmList[len-1];
+}
+
#ifdef MULTIPLE_OWNER
static int changeMultipleOwnershipTrnasferMode(void)
{
printf(" Resetting Selected Owned Device..\n");
OCStackResult rst = SRPResetDevice(dev, resetDeviceCB);
-
if (OC_STACK_OK != rst)
{
OIC_LOG_V(ERROR, TAG, "OCResetDevice API error: %d", rst);
SetDisplayNumCB(NULL, displayNumCB);
SetUserConfirmCB(NULL, confirmNumCB);
SetInputStateCB(NULL, notifyInputStateCB);
+ SetSelectOTMCB(selectOTMcb);
// set callback for checking peer certificate information
OCSetPeerCertCallback(NULL, peerCertCallback);