Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
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(); }