Hi Joseph,

I have done as you described and it indeed changed the situation. The error
which before had the UNAUTHORIZED_REQ flag now has the ERROR flag. I don't
really know what this flag means but I'm searching it.

Regards,
A. Lapprand

Em seg, 25 de dez de 2017 às 14:38, Morrow, Joseph L <
joseph.l.mor...@intel.com> escreveu:

> Hi Arthur,
>
> My coworker Michael and I just found the following solution. We placed
> this in our Client’s Discovery Callback for the timebeing. As you may
> notice, you can call setHost() at any time after discovery has occurred.
>
> The reason you need to perform the setHost() function, is because the C++
> SDK doesn’t automatically assume you want to use the "coaps://“ (ie. Secure
> communications) version of the Resource’s URI. It assumes you want to use
> the “coap://“ version and the Server will reject this if your resource(s)
> were created with the OC_SECURE flag. (Note: I’ve just recently heard you
> no longer need to specify the “OC_SECURE” flag as all resources are created
> as Secure Resources now by default.)
>
> foo( std::shared_ptr<OC::OCResource> resource )
>
> {
>
>   //
>
>   // Find the first secure coaps endpoint in the list of hosts. If it's
> there
>
>   // then use it; otherwise use the unsecure coap endpoint.
>
>   //
>
>   auto resourceHostList = resource->getAllHosts();
>
>
>
>   for (auto &host : resourceHostList)
>
>   {
>
>     if (std::string::npos != host.find("coaps://"))
>
>     {
>
>       resource->setHost(host);
>
>
>
>       break;
>
>     }
>
>   }
>
>
> // If you keep a single copy of your discovered resource, take the copy of
> it here for you to use later in your application.
>
> MyDiscoveredResources.push_back(resource); // For a quick test, just call
> "resource.get()" and see if the server side is honoring your request now.
>
>
> }
>
> Thanks,
>
> Joey Morrow
>
> From: <iotivity-dev-boun...@lists.iotivity.org> on behalf of Arthur
> Barros Lapprand <a...@cin.ufpe.br>
> Date: Sunday, December 24, 2017 at 6:51 PM
> To: Tonny Tzeng <tonny.tz...@gmail.com>
> Cc: iotivity <iotivity-dev@lists.iotivity.org>, Rami Alshafi <
> ralsh...@vtmgroup.com>
> Subject: Re: [dev] FW: Android SECURED mode
>
> I am using both OC_NONSECURE and OC_SECURE flags when registering the
> resources and attempting a GET request with the OcResource I get from the
> OnResourceFound callback. Odd, isn't it?
>
> Thank you,
> A. Lapprand
>
> Em dom, 24 de dez de 2017 às 23:46, Tonny Tzeng <tonny.tz...@gmail.com>
> escreveu:
>
>> What flags did you pass to the registerResource() function? note that if
>> you want to communicate over non-secure endpoint, you need to pass
>> OC_NONSECURE flag explicitly while registering the resource. The
>> simpleserver server doesn't work in non-secure mode for the same reason, no
>> passing OC_SECURE flag doesn't imply the use of non-secured endpoint. Hope
>> this helps.
>>
>> Regards,
>> Tonny
>>
>> On 25 December 2017 at 10:09, Arthur Barros Lapprand <a...@cin.ufpe.br>
>> wrote:
>>
>>> Hi all,
>>>
>>> I got to test the ACLs Rami provided while changing the server json by
>>> adding these ACEs:
>>>
>>> {
>>>     "aceid": 6,
>>>     "subject": {"conntype": "anon-clear"},
>>>     "resources":[
>>>         { "href":"*"}
>>>     ],
>>>     "permission": 14
>>> },
>>> {
>>>     "aceid": 7,
>>>     "subject": {"conntype": "auth-crypt"},
>>>     "resources":[
>>>         { "href":"*"}
>>>     ],
>>>     "permission": 14
>>> }
>>>
>>> So in theory I guess my server should respond to any request. Sadly that 
>>> didn't
>>> work so now I'm somewhat confused. I noticed the UNAUTHORIZED_REQ message
>>>  is sent to the client by a COAP host (not COAPS). Maybe I'm compiling 
>>> IoTivity
>>>  with the wrong scons settings? Also, how do I know my client is using 
>>> COAPS? I've
>>> seen someone asking this recently but I don't remember where. Is it also 
>>> obligatory
>>> for me to do the pairing/onboarding/credentials stuff aside setting them 
>>> through the json?
>>>
>>> Thank you,
>>>
>>> A. Lapprand
>>>
>>>
>>> Em qui, 21 de dez de 2017 às 15:11, Rami Alshafi <ralsh...@vtmgroup.com>
>>> escreveu:
>>>
>>>> That’s a mistake! Thanks for pointing that out! I will fix it. The “1”
>>>> at the beginning should not be there J
>>>>
>>>> Thanks,
>>>>
>>>> -Rami
>>>>
>>>>
>>>>
>>>> *From:* Arthur Barros Lapprand [mailto:a...@cin.ufpe.br]
>>>> *Sent:* Thursday, December 21, 2017 8:02 AM
>>>> *To:* Rami Alshafi <ralsh...@vtmgroup.com>
>>>> *Subject:* Re: FW: [dev] Android SECURED mode
>>>>
>>>>
>>>>
>>>> Hi,
>>>>
>>>> I just noticed the sample you linked has "rowneruuid":
>>>> "132323232-3232-3232-3232-323232323232" in the pstat section. Is there an
>>>> explanation to that "1" at the beginning of the id? shouldn't it be the
>>>> same as the client's id?
>>>>
>>>> Thanks again,
>>>>
>>>> A. Lapprand
>>>>
>>>>
>>>>
>>>> Em qui, 21 de dez de 2017 às 10:18, Arthur Barros Lapprand <
>>>> a...@cin.ufpe.br> escreveu:
>>>>
>>>> Hi Rami,
>>>>
>>>> Sorry for the delayed answer. I'm pretty overcrumbed these days so I
>>>> can't test it right now, but the email was very useful! Like I said to the
>>>> others I'll give feedback once I manage to test those suggestions.
>>>>
>>>> Thank you,
>>>>
>>>> A. Lapprand
>>>>
>>>>
>>>>
>>>> Em ter, 19 de dez de 2017 às 15:42, Rami Alshafi <ralsh...@vtmgroup.com>
>>>> escreveu:
>>>>
>>>> Arthur,
>>>>
>>>> I meant to send this e-mail to you but I just learned it did not make
>>>> to you. Hopefully, this one will.
>>>>
>>>> Thanks,
>>>>
>>>> -Rami
>>>>
>>>>
>>>>
>>>> *From:* Wouter van der Beek (wovander) [mailto:wovan...@cisco.com]
>>>> *Sent:* Tuesday, December 19, 2017 5:22 AM
>>>> *To:* Rami Alshafi <ralsh...@vtmgroup.com>
>>>> *Subject:* RE: [dev] Android SECURED mode
>>>>
>>>>
>>>>
>>>> This is email is now on the dmtools reflector and not on the iotivity
>>>> reflector..
>>>>
>>>> Hence Arthur can’t see this email
>>>>
>>>>
>>>>
>>>> *From:* Rami Alshafi [mailto:ralsh...@vtmgroup.com
>>>> <ralsh...@vtmgroup.com>]
>>>> *Sent:* 18 December 2017 18:43
>>>> *To:* Wouter van der Beek (wovander) <wovan...@cisco.com>;
>>>> dmtools...@members.openconnectivity.org
>>>> *Subject:* RE: [dev] Android SECURED mode
>>>>
>>>>
>>>>
>>>> Arthur,
>>>>
>>>> Please reference my sample applications at
>>>> https://gerrit.iotivity.org/gerrit/#/c/22513/
>>>> <https://urlf.duocircle.io/?url=https%3A%2F%2Fgerrit.iotivity.org%2Fgerrit%2F%23%2Fc%2F22513%2F&id=31d5&rcpt=ralsh...@vtmgroup.com&tss=1513689724&msgid=99c3285a-e4bf-11e7-8fcd-5f906d21262c&html=1&h=b068c5c2>
>>>>
>>>> For convenience, I will explain the server’s SVR database.
>>>>
>>>> There are 4 main sections which are ACL, Pstat, Doxm and Cred.
>>>>
>>>> Assuming your client cannot onboard devices, the server\device needs to
>>>> be in RFNOP state which is reflected in the following settings.
>>>>
>>>> The ACL must have an ACE giving the client the right permissions
>>>>
>>>>                 Aceid: whatever number
>>>>
>>>>                 Subject: set it to {“uuid”: The uuid of the client}
>>>>
>>>>                 Resources: information of the resource like its href
>>>> and interface and resource type.
>>>>
>>>>                 Permission: this is bitmask
>>>>
>>>> Set the rowneruuid of the ACL to the uuid of the client
>>>>
>>>> In the pstat section, set the dos.s to 3 and isop to true and cm to 0
>>>> and the rowneruuid to the uuid of the client
>>>>
>>>> In the doxm section, set the owned flag to true and the devowneruuid
>>>> and rowneruuid to the uuid of the client.
>>>>
>>>> Assuming you want to use the “justworks” security model, set the cred
>>>> section like in the sample applications.
>>>>
>>>> Thanks,
>>>>
>>>> -Rami
>>>>
>>>>
>>>>
>>>> *From:*dmtools...@members.openconnectivity.org [
>>>> mailto:dmtools...@members.openconnectivity.org
>>>> <dmtools...@members.openconnectivity.org>] *On Behalf Of *Wouter van
>>>> der Beek (wovander)
>>>> *Sent:* Monday, December 18, 2017 2:38 AM
>>>> *To:* dmtools...@members.openconnectivity.org
>>>> *Subject:* [OCF dmtools_tg] FW: [dev] Android SECURED mode
>>>>
>>>>
>>>>
>>>> FYI
>>>>
>>>>
>>>>
>>>> *From:*iotivity-dev-boun...@lists.iotivity.org [
>>>> mailto:iotivity-dev-boun...@lists.iotivity.org
>>>> <iotivity-dev-boun...@lists.iotivity.org>] *On Behalf Of *Tonny Tzeng
>>>> *Sent:* 17 December 2017 08:16
>>>> *To:* Max Kholmyansky <max...@gmail.com>
>>>> *Cc:* iotivity <iotivity-dev@lists.iotivity.org>
>>>>
>>>>
>>>> *Subject:* Re: [dev] Android SECURED mode
>>>>
>>>>
>>>>
>>>> Hi,
>>>>
>>>>
>>>>
>>>> We just posted an article at 01.org
>>>> <https://urlf.duocircle.io/?url=https%3A%2F%2F01.org%2Fblogs%2Fttzeng%2F2017%2Fsecurely-accessing-iot-devices-based-javascript&id=31d5&rcpt=ralsh...@vtmgroup.com&tss=1513593475&msgid=8131ebd8-e3df-11e7-8fcd-5f906d21262c&html=1&h=7e525f59>
>>>>  talking
>>>> few security concept in IoTivity. Though we were using iotivity-node as an
>>>> example, I think the following steps would get your Client accesses to the
>>>> Server securely:
>>>>
>>>> (1) your Server need to register the resource with
>>>> ResourceProperty.SECURE flag in order to use the secured endpoint;
>>>>
>>>> (2) allow the "auth-crypt" connection requests in the SVD dB;
>>>>
>>>> (3) use an Onboarding Tool to establish ownership with both the Client
>>>> and the Server;
>>>>
>>>> (4) mutual install the credentials of each other by pairing the devices
>>>> with the OBT
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Tonny
>>>>
>>>>
>>>>
>>>> On 17 December 2017 at 14:38, Max Kholmyansky <max...@gmail.com> wrote:
>>>>
>>>> Hi Arthur,
>>>>
>>>>
>>>>
>>>> You should be able to communicate between the client and the server on
>>>> Android, using SECURED=1 library.
>>>>
>>>>
>>>>
>>>> First, to set your "di" (client or server) - you need to specify the
>>>> "di" value inside the DAT file (containing security information) - you can
>>>> look at the samples. I never succeeded with setting the "di" using API, and
>>>> I don't know if it's supported.
>>>>
>>>>
>>>>
>>>> Second, even using SECURED=1, in the server, you can allow any client
>>>> (even not authenticated) to access any resource.
>>>>
>>>> The relevant ACL entry looks like: (you may need to change the "aceid"):
>>>>
>>>> {
>>>>
>>>>     *"aceid"*: 5,
>>>>     *"subject"*: { *"conntype"*: *"anon-clear" *},
>>>>     *"resources"*: [
>>>>         { *"href"*: *"*" *}
>>>>     ],
>>>>     *"permission"*: 14
>>>> }
>>>>
>>>> This is definitely not the way to configure it in production, but it 
>>>> should allow you to keep developing, without caring about access 
>>>> permissions for a while.
>>>>
>>>>
>>>>
>>>> Max
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Dec 14, 2017 at 8:54 PM, Arthur Barros Lapprand <
>>>> a...@cin.ufpe.br> wrote:
>>>>
>>>> Hi all,
>>>>
>>>> I have a few beginner-leveled questions about secure mode in Android.
>>>> Let me explain the situation:
>>>>
>>>> I have created two apps (one for Server/Controlee and the other for the
>>>> Client/Controller) and I'm able to FIND and GET/POST/OBSERVE them without
>>>> problems. As this is a simple example, I now want to do the same things but
>>>> with SECURED=1. I should note that I am usually running both apps in the
>>>> same device (not the emulator, but my cellphone).
>>>>
>>>> So I started looking everywhere and discovered I could do this with a
>>>> local ACL and supposedly everything would be ok. Turns out it didn't, which
>>>> is why I am here. So my questions are:
>>>>
>>>> - Do I need anything else to use the SECURED flag in Android apart from
>>>> registering resource as secure and passing the ACL to the PlatformConfig
>>>> and configure it?
>>>>
>>>> - I read that when configuring the Platform with an ACL the DeviceID
>>>> should be set with the ID inside it. So as it failed I tried debugging the
>>>> ID, which led me to confusion about PlatformID and DeviceID. When loading
>>>> the ACL the DeviceID comes as a random byte[]. However, I can set the
>>>> DeviceID in the code and retrieve it just fine. The thing is, the ID
>>>> recieved by the Client (ServerID) isn't the same I set in the code. I'm not
>>>> sure if it's something about the encoding tricking me or if it's something
>>>> else. Can someone please shed me some light?
>>>>
>>>>
>>>>
>>>> In short, the Client can find the resources (they are registered with
>>>> SECURE type) but can't make a correct GET/POST/OBSERVE request, returning
>>>> UNAUTHORIZED_REQ. Any tips about this flag and Android are welcome.
>>>>
>>>> Sorry for the long post, thank you in advance!
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> iotivity-dev mailing list
>>>> iotivity-dev@lists.iotivity.org
>>>> https://lists.iotivity.org/mailman/listinfo/iotivity-dev
>>>> <https://urlf.duocircle.io/?url=https%3A%2F%2Flists.iotivity.org%2Fmailman%2Flistinfo%2Fiotivity-dev&id=31d5&rcpt=ralsh...@vtmgroup.com&tss=1513593475&msgid=8131ebd8-e3df-11e7-8fcd-5f906d21262c&html=1&h=0ab5454f>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> iotivity-dev mailing list
>>>> iotivity-dev@lists.iotivity.org
>>>> https://lists.iotivity.org/mailman/listinfo/iotivity-dev
>>>> <https://urlf.duocircle.io/?url=https%3A%2F%2Flists.iotivity.org%2Fmailman%2Flistinfo%2Fiotivity-dev&id=31d5&rcpt=ralsh...@vtmgroup.com&tss=1513593475&msgid=8131ebd8-e3df-11e7-8fcd-5f906d21262c&html=1&h=0ab5454f>
>>>>
>>>>
>>>>
>>>>
>>
_______________________________________________
iotivity-dev mailing list
iotivity-dev@lists.iotivity.org
https://lists.iotivity.org/mailman/listinfo/iotivity-dev

Reply via email to