9 years, 9 months ago.

bootstrapping

I'm trying to connect a mbed client device to mbed bootstrap sever. I'm getting [ERROR:] M2MInterface::BootstrapFailed. Can someone point me to an example please.

Below are snippets of my code:

bool create_bootstrap_object() { bool success = false; if(_security) { delete _security; } _security = M2MInterfaceFactory::create_security(M2MSecurity::Bootstrap); if(_security) { if(_security->set_resource_value(M2MSecurity::M2MServerUri, simple_paramtable.mbed_bootstrap_server_addr.str) && _security->set_resource_value(M2MSecurity::SecurityMode, M2MSecurity::NoSecurity)) { success = true; /* Not used now because there is no TLS or DTLS implementation available for stack. security->set_resource_value(M2MSecurity::ServerPublicKey,certificates->certificate_ptr[0],certificates->certificate_len[0]); security->set_resource_value(M2MSecurity::PublicKey,certificates->certificate_ptr[1],certificates->certificate_len[1]); security->set_resource_value(M2MSecurity::Secretkey,certificates->own_private_key_ptr,certificates->own_private_key_len);

  • / } } printf("Bootstrap Server Address %s\n", simple_paramtable.mbed_bootstrap_server_addr.str); return success; }

void test_bootstrap() { _interface->bootstrap(_security); }

void main() { /* Create LWM2M Client API interface to manage register and unregister */ mbed_client.create_interface();

/* Create LWM2M server object specifying mbed device server */ mbed_client.create_bootstrap_object();

mbed_client.test_bootstrap(); }

Please use the format codes to allow for easier viewing of your posts. Hope this is easier to read and correct as you have posted :)

bool create_bootstrap_object() 
{ bool success = false; 

if(_security) { delete _security; } 

_security = M2MInterfaceFactory::create_security(M2MSecurity::Bootstrap); 

if(_security) { if(_security->set_resource_value(M2MSecurity::M2MServerUri, simple_paramtable.mbed_bootstrap_server_addr.str) && _security->set_resource_value(M2MSecurity::SecurityMode, M2MSecurity::NoSecurity)) { success = true; 

/* Not used now because there is no TLS or DTLS implementation available for stack. security->set_resource_value(M2MSecurity::ServerPublicKey,certificates->certificate_ptr[0],certificates->certificate_len[0]); security->set_resource_value(M2MSecurity::PublicKey,certificates->certificate_ptr[1],certificates->certificate_len[1]); security->set_resource_value(M2MSecurity::Secretkey,certificates->own_private_key_ptr,certificates->own_private_key_len);

    / } } printf("Bootstrap Server Address %s\n", simple_paramtable.mbed_bootstrap_server_addr.str); return success; } 

void test_bootstrap() { _interface->bootstrap(_security); }

void main() 
{ 
 /* Create LWM2M Client API interface to manage register and unregister */ 
 mbed_client.create_interface();

 /* Create LWM2M server object specifying mbed device server */
 mbed_client.create_bootstrap_object();

 mbed_client.test_bootstrap();
 }
posted by Sanjiv Bhatia 27 Jan 2016
Be the first to answer this question.