Re: [jose] Canonical JSON form

Bret Jordan <> Thu, 11 October 2018 00:02 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 1494F12D7F8 for <>; Wed, 10 Oct 2018 17:02:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id vwCbf4HHFrgc for <>; Wed, 10 Oct 2018 17:02:45 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4864:20::c36]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 181C1129C6B for <>; Wed, 10 Oct 2018 17:02:45 -0700 (PDT)
Received: by with SMTP id y14-v6so2906390ywa.4 for <>; Wed, 10 Oct 2018 17:02:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=rNmwiqzH+YC+hYLbZATj1RAn/EHmaKpwnLMv1G3gUWU=; b=nn3rKCGUHOX0WZxZisDyj1tWe8bJui2qp+ly1m5yzeryAbsl9mStc5760e9KgoFMMf ty5aIxF+JK3y/98fS5DpaiIyfM2qFzh31uD2HCdvkXIPYYXwDYAmau4bm6vWTuxV67h6 XVs4Rq2hR8/QM/Aesioco0vrDfYERnzFWa8TlbCWx/jgTe4gcOWOewJd4vcpx+m7eUhO JDCfOS1xdMwYtqWvRaxPi5VkHAFD6ee85sTREioPDJ0G8gFMq9/8AtVPuCLDknxEu6lt OV0WJHoza8d76d5rw3UKGnozdwewCoBtVdeVgDkXVznCrlPlIwLuRYYlfLAThZd7cYfe MPuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=rNmwiqzH+YC+hYLbZATj1RAn/EHmaKpwnLMv1G3gUWU=; b=JJH9Qw5hc5tNnZQrOd1LuQyw9mw+ZGUVJKrhBhQQ+he/+xJddNNZseqNizsXEZu6q1 kYyMItyN5d8pIf4NfUifqTKStozbguO3ooRTasWYuqPcOKxJ8/OYJSdm6adAca1Ml5ew Tp7i9rJ8xTAH8HCiBUlqjUFRQqeG5YOoKvGYHpB0wazT96UwLLaVnkQVfgMYr2QHsoVV nbrH8KXWd/+LogbxRwb5ZTUIm/1TcB0nrLk1ZFgZnm6X/VVAfVlcetW4UR5WIyerZOqD LFDdGZ2IqP4XJa0jr/tTEPBgXJ/rFopI7iYubUpqan6gqPnP2+JG9dKjoWkPUGOKKeeF FMMQ==
X-Gm-Message-State: ABuFfognHu4I6nw+4bj1gRSoQWYZ/RhoNXE0pdzONlZh/Cuacq1+0r+8 eYENMascjcqx3Th0vUb1q/w=
X-Google-Smtp-Source: ACcGV62jbZKQ0cuJIFqlWeZHsnAE8Rh77J4xFEZm5PerTLLMlVQUhyeARbjOeK8hrnjMa0yvom4Wgg==
X-Received: by 2002:a81:2156:: with SMTP id h83-v6mr19432579ywh.435.1539216164445; Wed, 10 Oct 2018 17:02:44 -0700 (PDT)
Received: from ?IPv6:2605:a601:3260:266:7534:8ac9:bb4c:ce9d? ([2605:a601:3260:266:7534:8ac9:bb4c:ce9d]) by with ESMTPSA id u143-v6sm14919422ywc.28.2018. (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Oct 2018 17:02:43 -0700 (PDT)
From: Bret Jordan <>
Message-Id: <>
Content-Type: multipart/alternative; boundary="Apple-Mail=_50151581-DD98-4CF1-BEAA-62B5096FCFBE"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Wed, 10 Oct 2018 18:02:05 -0600
In-Reply-To: <00ad01d460f4$69ae8a00$3d0b9e00$>
Cc: Nathaniel McCallum <>,
To: Jim Schaad <>
References: <> <> <> <> <00ad01d460f4$69ae8a00$3d0b9e00$>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <>
Subject: Re: [jose] Canonical JSON form
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Javascript Object Signing and Encryption <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 11 Oct 2018 00:02:47 -0000

> Other implementations say that you should preserver the order of the fields you read when serialized which is part of JSON for the browser implementations but not necessarily elsewhere.

Preserving order is hard.  Depending on your programming language you might be deserializing the content in to a struct or you may be using a map. 

What I need is a way for individuals and organizations to be able to pass around and share JSON data and collaboratively work on that JSON data and sign the parts that they have done. 

PGP Fingerprint: 63B4 FC53 680A 6B7D 1447  F2C0 74F8 ACAE 7415 0050
"Without cryptography vihv vivc ce xhrnrw, however, the only thing that can not be unscrambled is an egg."