Re: [Iot-onboarding] RFC 8366: voucher artifact error in example?

Kent Watsen <kent@watsen.net> Tue, 11 February 2020 00:25 UTC

Return-Path: <0100017031a2d6ec-545e8e6a-1259-45da-a7da-1da0a461cce6-000000@amazonses.watsen.net>
X-Original-To: iot-onboarding@ietfa.amsl.com
Delivered-To: iot-onboarding@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8405A120071; Mon, 10 Feb 2020 16:25:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3-VJLjFlWWlU; Mon, 10 Feb 2020 16:25:22 -0800 (PST)
Received: from a48-94.smtp-out.amazonses.com (a48-94.smtp-out.amazonses.com [54.240.48.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C592012089D; Mon, 10 Feb 2020 16:25:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1581380720; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=sV+q+ECW72LvIwH7zCd3nUqni/qLhx5D2RQVsuGGYao=; b=mffRuhl73hE2h6gD384mS2YZ1QoVE3KLmBH+Xa0QppULA3kJvfUEjbYBLE0mI+42 2qpzucwjIf7hP4+c9oXxgXSQLLzxv88LEvJoXc7rTLGEVWVEoIbJyNPyaaFKFXHCCcy 7JbvsSKyJ3fyC5+Zn/ZAhGaRr7KN3+n2WqPNAxAg=
From: Kent Watsen <kent@watsen.net>
Message-ID: <0100017031a2d6ec-545e8e6a-1259-45da-a7da-1da0a461cce6-000000@email.amazonses.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_152D9D99-5507-481D-A67E-CECAB0D000F6"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Tue, 11 Feb 2020 00:25:20 +0000
In-Reply-To: <1556.1581357910@dooku>
Cc: "M. Ranganathan" <mranga@gmail.com>, Kent Watsen <kwatsen@juniper.net>, anima@ietf.org, iot-onboarding@ietf.org
To: Michael Richardson <mcr+ietf@sandelman.ca>
References: <CAHiu4JOMfY2oZb1TG5Lbbyb=Wd09+Ju9fOcBU5VcvmvmCQ7_ZQ@mail.gmail.com> <1556.1581357910@dooku>
X-Mailer: Apple Mail (2.3445.104.11)
X-SES-Outgoing: 2020.02.11-54.240.48.94
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/iot-onboarding/CBPBIGYGVKe98rEv3a8gqaFqluc>
Subject: Re: [Iot-onboarding] RFC 8366: voucher artifact error in example?
X-BeenThere: iot-onboarding@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion of IoT onboarding mechanisms <iot-onboarding.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/iot-onboarding>, <mailto:iot-onboarding-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/iot-onboarding/>
List-Post: <mailto:iot-onboarding@ietf.org>
List-Help: <mailto:iot-onboarding-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/iot-onboarding>, <mailto:iot-onboarding-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 11 Feb 2020 00:25:24 -0000

>> I am wondering if the format of the example should be
>> {
>> "ietf-voucher:voucher-artifact": {
>> "voucher": {
>> "created-on": "2016-10-07T19:31:42Z"
>> ......
>> instead of
> 
>> { "ietf-voucher:voucher":
>> { "created-on": "2016-10-07T19:31:42Z",
>> "assertion": "logged",
> 
>> Based on the yang hierarchy (tree diagram).
> 
> No, the tree diagam is wrong.
> I'm not sure what to do exactly.

The tree diagram and examples in RFC 8366 are all correct.  The examples were validated via this script: https://github.com/anima-wg/voucher/blob/master/refs/validate-all.sh <https://github.com/anima-wg/voucher/blob/master/refs/validate-all.sh>.


The confusion is likely because folks expect that the “yang-data” extension define a node, but it doesn’t.  It acts more like a YANG “grouping” than a YANG “container” in that regard. For instance, give the YANG:

	rc:yang-data foo {
	  leaf bar {
	    type string;
	  }
	}

A valid “foo” instance document (in JSON) would be:

	{
	    “bar”: “this is a string.”
	}


Kent



>> I am going by what ygot is producing. I had to change the yang-data to
>> a container for ygot to work - perhaps this is the reason why the
>> output is different?  Not sure if this is quite right but I thought
>> I'd just point it out.
> 
> It seems that there should be an errata.
> 
> Kent, is there a way we can change the YANG to match things correctly?
> It seems that we might change:
> 
>   // Top-level statement
>   rc:yang-data voucher-artifact {
>     uses voucher-artifact-grouping;
>   }
> 
> to:
>   rc:yang-data voucher {
> 
> ===
> Or, do you think that we should changing the BRSKI document to match?