Return-Path: Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: (qmail 10163 invoked from network); 10 Apr 2009 23:47:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 10 Apr 2009 23:47:47 -0000 Received: (qmail 35028 invoked by uid 500); 10 Apr 2009 23:47:46 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 34930 invoked by uid 500); 10 Apr 2009 23:47:46 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 34919 invoked by uid 99); 10 Apr 2009 23:47:46 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Apr 2009 23:47:46 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jchris@gmail.com designates 209.85.219.166 as permitted sender) Received: from [209.85.219.166] (HELO mail-ew0-f166.google.com) (209.85.219.166) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 10 Apr 2009 23:47:36 +0000 Received: by ewy10 with SMTP id 10so1451515ewy.11 for ; Fri, 10 Apr 2009 16:47:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to :content-type:content-transfer-encoding; bh=qBl1YB/ETU4F6ePjUc7EX0KF4PolKDkmPC81KDJo7yY=; b=v+TsjoEnB2jmrAmj05g7x5alTi5SgeixnKIQ7rY5pTKf1IoUAlXl369BdV+vs9pcE5 FNID9IIlxw5vpVyR9oIKmPJUth8IEgKPDThLmD6gPcH/ONpVMCAGKhPFAhiY+9x9rmzJ 1pJjHlDI9mTBJRVArwmdQBK7sh84HK4Y/24VY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=YlWFRsuOZYUs49bhlgzgubVB/GGNcn3pZoOkmFUGXDNpBOo2NvlzDWwr354PHmdw16 l0yoDDCPdsKNDnRP/N1dartogwvUlPbylQbgJTcs3z2AM8rrzSbG7b3G8FEF124HGxgq DV3ANnhOyJ+TAWdQYS7Pe0csedHRFo9q8nsYA= MIME-Version: 1.0 Sender: jchris@gmail.com Received: by 10.210.87.19 with SMTP id k19mr62493ebb.39.1239407236428; Fri, 10 Apr 2009 16:47:16 -0700 (PDT) In-Reply-To: References: <20090310160113.GA20683@uk.tiscali.com> Date: Fri, 10 Apr 2009 16:47:16 -0700 X-Google-Sender-Auth: 54477526409cfd88 Message-ID: Subject: Re: Proposal for digital signatures of documents From: Chris Anderson To: user@couchdb.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org On Tue, Mar 10, 2009 at 3:27 PM, Chris Anderson wrote: > On Tue, Mar 10, 2009 at 9:01 AM, Brian Candler wrote: >> Inventing new cryptosystems is dangerous. Why not an OpenPGP armored >> detached signature? Does this hand-waving version of a signed document look like it could work? { "_id" : "89a7stdg235", "_rev" : "1-26476513", "signed-content" : { "message" : "I said this and I meant it.", "date" : "2009/04/09 15:54:08", "author" : { "name" : "J. Chris Anderson", "url" : "http://jchrisa.net", "photo" : "http://jchrisa.net/profile.jpg" } }, "signature" : { "content-hash" : "s7d23fiu7g34awb47e32rso7d54fn3sdf==", "content-serializer" : { "code" : "http://jchrisa.net/repeatable-json-0.2.2.js", "decimal-precision" : 4 }, "public-key" : "5s2457d357f47io46u135h35as5df135oi235ugs4a35df57ou7y5g1s5d5f58ou1s3d4f==", "signed-hash" : "h235h345h3147j23j35g1235344j3246h46jg3245j==", }, "foo" : ["this content is not signed", "it's just here"] } I'll try to implement this in the next few weeks. The pseudo base64 above is just more hand-waving. Ideally I'd be compatible with other implementations of GPG. Anyone see any obvious flaws in the above? As far as editing and history go, I think they are valuable, but I'd rather leave them out of scope for the first round of what I write. I think they can be added later without too much changes. Chris -- Chris Anderson http://jchrisa.net http://couch.io