Re: [jose] JWK Generator Service

Antonio Sanso <asanso@adobe.com> Tue, 04 November 2014 14:53 UTC

Return-Path: <asanso@adobe.com>
X-Original-To: jose@ietfa.amsl.com
Delivered-To: jose@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A075D1A8956 for <jose@ietfa.amsl.com>; Tue, 4 Nov 2014 06:53:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 k90dVCAsp7o9 for <jose@ietfa.amsl.com>; Tue, 4 Nov 2014 06:53:14 -0800 (PST)
Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0602.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc10::602]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 16C421A020B for <jose@ietf.org>; Tue, 4 Nov 2014 06:53:14 -0800 (PST)
Received: from CO1PR02MB206.namprd02.prod.outlook.com (10.242.165.144) by CO1PR02MB205.namprd02.prod.outlook.com (10.242.165.139) with Microsoft SMTP Server (TLS) id 15.1.6.9; Tue, 4 Nov 2014 14:52:50 +0000
Received: from CO1PR02MB206.namprd02.prod.outlook.com ([169.254.8.152]) by CO1PR02MB206.namprd02.prod.outlook.com ([169.254.8.152]) with mapi id 15.01.0006.000; Tue, 4 Nov 2014 14:52:50 +0000
From: Antonio Sanso <asanso@adobe.com>
To: Justin Richer <jricher@MIT.EDU>
Thread-Topic: [jose] JWK Generator Service
Thread-Index: AQHP+D3c62ouHEyPJk6kjl6Jw8/M3JxQjk4A
Date: Tue, 04 Nov 2014 14:52:49 +0000
Message-ID: <30EEE5CC-79E5-41CC-AEFB-AB3BE61D460E@adobe.com>
References: <5458E645.9020904@mit.edu>
In-Reply-To: <5458E645.9020904@mit.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [192.147.117.11]
x-microsoft-antispam: BCL:0;PCL:0;RULEID:;SRVR:CO1PR02MB205;
x-exchange-antispam-report-test: UriScan:;
x-forefront-prvs: 03853D523D
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(377454003)(189002)(24454002)(199003)(51704005)(21056001)(54356999)(15975445006)(2171001)(66066001)(2656002)(36756003)(20776003)(92566001)(50986999)(31966008)(99396003)(87936001)(92726001)(76176999)(105586002)(95666004)(83716003)(97736003)(4396001)(33656002)(19580395003)(101416001)(106116001)(19580405001)(120916001)(122556002)(46102003)(82746002)(64706001)(40100003)(86362001)(106356001)(107046002)(77096003)(99286002)(62966003)(77156002)(104396001); DIR:OUT; SFP:1101; SCL:1; SRVR:CO1PR02MB205; H:CO1PR02MB206.namprd02.prod.outlook.com; FPR:; MLV:sfv; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <010E61087084E64D95844D6B8E414773@namprd02.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: adobe.com
Archived-At: http://mailarchive.ietf.org/arch/msg/jose/ZtWvx15s0py99AF9ahzNqJPFCIo
Cc: "jose@ietf.org" <jose@ietf.org>
Subject: Re: [jose] JWK Generator Service
X-BeenThere: jose@ietf.org
X-Mailman-Version: 2.1.15
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: Tue, 04 Nov 2014 14:53:16 -0000

nice stuff Justin!! really :)

regards

antonio

On Nov 4, 2014, at 3:44 PM, Justin Richer <jricher@MIT.EDU> wrote:

> A while ago, I was fed up with creating self-signed X.509 certificates just to manage the bare keys used in JOSE processing. There's a lot of extraneous effort that goes into making fake certificate chains that are then dutifully ignored by the application, especially when the JWK format can hold both public and private keys natively already. So we switched our apps over to reading the JWK format instead of X.509, but we still needed something to securely generate the keys themselves. So I created a commandline Java application to generate keys in JWK format (based on the NimbusDS JOSE library):
> 
>  https://github.com/mitreid-connect/json-web-key-generator
> 
> It's slightly unwieldy to compile and run but it gets the job done. Last night, I wrapped that commandline application with a webapp and made it publicly available:
> 
>  https://mkjwk.org/
> 
> This simple service will generate a JWK in RSA, EC, or Oct (shared secret) format for you, using Java's cryptographic engine. You can add in the use, kid, and alg parameters, and the results are formatted into easily-copyable JSON. It will even wrap the key in a keyset and pull out the public key separately for you, in case you need those.
> 
> We don't log any of the keys being generated by the service, but to be extra safe I would still recommend using a local generation mechanism (like the commandline app above) for production systems.
> 
> Finally, I put the code to the site online in the name of transparency:
> 
>  https://github.com/mitreid-connect/mkjwk.org
> 
> I hope that people can find this useful, and we can start moving off of X.509 for bare key storage in applications. Much thanks to MIT KIT for providing hosting and support.
> 
> -- Justin
> 
> _______________________________________________
> jose mailing list
> jose@ietf.org
> https://www.ietf.org/mailman/listinfo/jose