Re: [jose] JOSE in Python

Mike Jones <Michael.Jones@microsoft.com> Fri, 16 August 2013 00:39 UTC

Return-Path: <Michael.Jones@microsoft.com>
X-Original-To: jose@ietfa.amsl.com
Delivered-To: jose@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7962511E822B for <jose@ietfa.amsl.com>; Thu, 15 Aug 2013 17:39:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.498
X-Spam-Level:
X-Spam-Status: No, score=-3.498 tagged_above=-999 required=5 tests=[AWL=0.100, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TK-CG86eS9Zw for <jose@ietfa.amsl.com>; Thu, 15 Aug 2013 17:39:25 -0700 (PDT)
Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2lp0207.outbound.protection.outlook.com [207.46.163.207]) by ietfa.amsl.com (Postfix) with ESMTP id 5FCF211E8229 for <jose@ietf.org>; Thu, 15 Aug 2013 17:39:25 -0700 (PDT)
Received: from BLUPR03CA029.namprd03.prod.outlook.com (10.141.30.22) by BLUPR03MB036.namprd03.prod.outlook.com (10.255.209.148) with Microsoft SMTP Server (TLS) id 15.0.745.25; Fri, 16 Aug 2013 00:39:15 +0000
Received: from BN1BFFO11FD016.protection.gbl (2a01:111:f400:7c10::25) by BLUPR03CA029.outlook.office365.com (2a01:111:e400:879::22) with Microsoft SMTP Server (TLS) id 15.0.745.25 via Frontend Transport; Fri, 16 Aug 2013 00:39:15 +0000
Received: from mail.microsoft.com (131.107.125.37) by BN1BFFO11FD016.mail.protection.outlook.com (10.58.53.76) with Microsoft SMTP Server (TLS) id 15.0.745.15 via Frontend Transport; Fri, 16 Aug 2013 00:39:15 +0000
Received: from TK5EX14MBXC283.redmond.corp.microsoft.com ([169.254.2.178]) by TK5EX14MLTC104.redmond.corp.microsoft.com ([157.54.79.159]) with mapi id 14.03.0136.001; Fri, 16 Aug 2013 00:38:22 +0000
From: Mike Jones <Michael.Jones@microsoft.com>
To: Richard Barnes <rlb@ipv.sx>, "jose@ietf.org" <jose@ietf.org>
Thread-Topic: [jose] JOSE in Python
Thread-Index: AQHOmhHBwajySn4oD0+wFv2sgaFFO5mW+8Ow
Date: Fri, 16 Aug 2013 00:38:21 +0000
Message-ID: <4E1F6AAD24975D4BA5B16804296739436B782E64@TK5EX14MBXC283.redmond.corp.microsoft.com>
References: <CAL02cgTPyqUkr5Awj4iW=QNkC5hBtR=RnaTcm5hUtdEzjh1nOQ@mail.gmail.com>
In-Reply-To: <CAL02cgTPyqUkr5Awj4iW=QNkC5hBtR=RnaTcm5hUtdEzjh1nOQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [157.54.51.71]
Content-Type: multipart/alternative; boundary="_000_4E1F6AAD24975D4BA5B16804296739436B782E64TK5EX14MBXC283r_"
MIME-Version: 1.0
X-Forefront-Antispam-Report: CIP:131.107.125.37; CTRY:US; IPV:CAL; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(189002)(199002)(53754006)(377454003)(164054003)(512954002)(51856001)(19300405004)(74366001)(46102001)(6806004)(80022001)(65816001)(55846006)(59766001)(77982001)(19580405001)(19580385001)(16236675002)(83072001)(76796001)(83322001)(81816001)(81686001)(44976005)(33656001)(76786001)(19580395003)(63696002)(50986001)(47976001)(66066001)(47736001)(49866001)(20776003)(16297215004)(4396001)(15202345003)(81542001)(79102001)(16406001)(74876001)(69226001)(54356001)(53806001)(74706001)(56816003)(77096001)(71186001)(47446002)(74662001)(81342001)(80976001)(76482001)(56776001)(74502001)(54316002)(31966008); DIR:OUT; SFP:; SCL:1; SRVR:BLUPR03MB036; H:mail.microsoft.com; CLIP:131.107.125.37; RD:InfoDomainNonexistent; MX:1; A:1; LANG:en;
X-O365ENT-EOP-Header: Message processed by - O365_ENT: Allow from ranges (Engineering ONLY)
X-Forefront-PRVS: 0940A19703
X-OriginatorOrg: DuplicateDomain-a84fc36a-4ed7-4e57-ab1c-3e967bcbad48.microsoft.com
X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 131.107.125.37
X-MS-Exchange-CrossPremises-AuthSource: BN1BFFO11FD016.protection.gbl
X-MS-Exchange-CrossPremises-AuthAs: Anonymous
X-MS-Exchange-CrossPremises-AVStamp-Service: 1.0
X-MS-Exchange-CrossPremises-SCL: 1
X-MS-Exchange-CrossPremises-Antispam-ScanContext: DIR:Originating; SFV:NSPM; SKIP:0;
X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent
X-OrganizationHeadersPreserved: BLUPR03MB036.namprd03.prod.outlook.com
Subject: Re: [jose] JOSE in Python
X-BeenThere: jose@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Javascript Object Signing and Encryption <jose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jose>, <mailto:jose-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/jose>
List-Post: <mailto:jose@ietf.org>
List-Help: <mailto:jose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jose>, <mailto:jose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Aug 2013 00:39:30 -0000

How is the ES512 example broken and what needs to be done to fix it?

Did you also verify that you can reproduce the key agreement result at http://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-14#appendix-D?  I ask that because since it was published, three other implementations have produced the key value usEpwFIC_qrmBExntFwxMA rather than jSNmj9QK9ZGQJ2xg5_TJpA as published.

                                                                -- Mike

From: jose-bounces@ietf.org [mailto:jose-bounces@ietf.org] On Behalf Of Richard Barnes
Sent: Thursday, August 15, 2013 4:47 PM
To: jose@ietf.org
Subject: [jose] JOSE in Python

Hey all,

I've just pushed to GitHub a pretty complete JOSE library I've worked up in Python.
<https://github.com/bifurcation/pyjose>

It supports pretty much all of the current specs, including:

-- JSON and compact serializations
-- Custom levels of header protection (all/none/some)
-- Multi-signer JWS and multi-recipient JWE
-- All JWA algorithms besides "none" (which should not be used anyway)

It successfully processes the examples in the current specs (except the "ES512" one, which is broken), and successfully interoperates with itself in all 288 different configurations ("alg" + "enc" + "protected").  I have not yet tested it against any other JOSE implementations.

I also took this opportunity to start up a list of implementations on the JOSE wiki.  Right now it's pretty short because I don't know of that many off the top of my head.
<http://trac.tools.ietf.org/wg/jose/trac/wiki/WikiStart>

Comments / bugs welcome!

Thanks,
--Richard