[jose] JOSE in Python

Richard Barnes <rlb@ipv.sx> Thu, 15 August 2013 23:47 UTC

Return-Path: <rlb@ipv.sx>
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 8F3A511E8176 for <jose@ietfa.amsl.com>; Thu, 15 Aug 2013 16:47:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.826
X-Spam-Level:
X-Spam-Status: No, score=-2.826 tagged_above=-999 required=5 tests=[AWL=0.150, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, 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 CGFiEansuGl7 for <jose@ietfa.amsl.com>; Thu, 15 Aug 2013 16:47:25 -0700 (PDT)
Received: from mail-vb0-f52.google.com (mail-vb0-f52.google.com [209.85.212.52]) by ietfa.amsl.com (Postfix) with ESMTP id 242AE11E81BF for <jose@ietf.org>; Thu, 15 Aug 2013 16:47:25 -0700 (PDT)
Received: by mail-vb0-f52.google.com with SMTP id f12so1122510vbg.25 for <jose@ietf.org>; Thu, 15 Aug 2013 16:47:24 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=0V31tbgpYDRBantORUN6HAy2Ty6uc1omvQnvWqIi6nY=; b=HiYLuEE2IPbhefHmUWPRES4bBeVt8Zn4feyTZQhYqdq9eM1ZR6NCQLbmIXmmCIawgv E9SLt10iFS/tHfHMjwN1BkdmT45U87Em377l08EF/Qaghx30EehJfoMVnL0H6zwFloO4 KMWvgm0wq8MtgdYAhmcWAhpsZmonycfDqe4VM21AHi+uOFBnbO+alRxchanXplKPhbC2 pVCtkvDqztbaXVbdyHVSif7X4iiKHvsb6tphbPNgSmdrz4l0Q2d5cd09wr0rq57vkIG0 xQQj76hyp/pt9lsqsISBb9QCmMf9xbgzIzG813Hg2UJDTUiEylICM2tnO3veojIfKk92 6U7Q==
X-Gm-Message-State: ALoCoQmqWM8CmS2iF494fTS8BEv8OXTa3AjUCaFP9bV7UUoiPAAa9fPIvB+0udfT30WbNqRVR9p7
MIME-Version: 1.0
X-Received: by 10.58.235.69 with SMTP id uk5mr16644289vec.17.1376610444424; Thu, 15 Aug 2013 16:47:24 -0700 (PDT)
Received: by 10.58.179.52 with HTTP; Thu, 15 Aug 2013 16:47:24 -0700 (PDT)
X-Originating-IP: [192.1.51.54]
Date: Thu, 15 Aug 2013 19:47:24 -0400
Message-ID: <CAL02cgTPyqUkr5Awj4iW=QNkC5hBtR=RnaTcm5hUtdEzjh1nOQ@mail.gmail.com>
From: Richard Barnes <rlb@ipv.sx>
To: "jose@ietf.org" <jose@ietf.org>
Content-Type: multipart/alternative; boundary="047d7bd6c2c488cbcb04e40518c2"
Subject: [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: Thu, 15 Aug 2013 23:47:29 -0000

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