Skip to Content.
Sympa Menu

microid - Re: [Microid] Encode URLs?

microid AT lists.ibiblio.org

Subject: Microid mailing list

List archive

Chronological Thread  
  • From: Peter Saint-Andre <stpeter AT jabber.org>
  • To: james AT cridland.net
  • Cc: microid AT lists.ibiblio.org
  • Subject: Re: [Microid] Encode URLs?
  • Date: Mon, 16 Apr 2007 15:03:05 -0600

James Cridland wrote:
On 4/16/07, *Peter Saint-Andre* <stpeter@jabber .org <mailto:stpeter AT jabber.org>> wrote:

James Cridland wrote:
> Using this PHP code, I get a microid of
> mailto+http:sha1:1268bb6d577107e328ccc6341e75da96f31277db
>
> Using the JavaScript code at http://microid.org/
<http://microid.org/> and my email address, I get
> mailto+http:sha1:05d7b7fe2c3a67fab3982b50c9a727c04c9aab9c
>
> Do I need to encode URLs or something? (It's not clear from the spec)

AFAICS, URIs within MicroID need to conform to RFC 3986. Therefore
percent-encoding (%hexhex) would be required for certain characters. For
your web page address ...

http://www.mediauk.com/discussions/profile.muk?mode=viewprofile&u=1
<http://www.mediauk.com/discussions/profile.muk?mode=viewprofile&u=1>

... that would necessitate encoding the characters "&", "=", and "?" as
"%26", "%3D", and "%3F" ...


http://www.mediauk.com/discussions/profile.muk%3Fmode%3Dviewprofile%26u%3D1

Or so it seems to me.



Hmm. Still no dice.

I'm now running

sha1( sha1( 'mailto: james AT cridland.net <mailto:james AT cridland.net>' ) + sha1( 'http://www.mediauk.com/discussions/profile.muk%3Fmode%3Dviewprofile%26u%3D1 <http://www.mediauk.com/discussions/profile.muk%3Fmode%3Dviewprofile%26u%3D1>' ) );

...as you suggest, and it's returning:

mailto+http:sha1:ca62a2077ecb201a309102f3d60e9b059e8076f2

Using the JavaScript code at http://microid.org/ <http://microid.org/> using the standard URL (as one would expect) and my email address, I get
mailto+http:sha1:05d7b7fe2c3a67fab3982b50c9a727c04c9aab9c

So, either the JavaScript code is incorrect and doesn't convert the standard URL, or my code is incorrect, but either way... bah.

Any clues would be very much appreciated; it would be good to nail this one, but as it stands, I'm a little stuck as to what it should be doing.

The JavaScript code on microid.org does not perform any encoding:

function compute()
{
var f = document.forms['gen'];
var com_sha = hex_sha1(f.com.value);
var auth_sha = hex_sha1(f.auth.value);
f.microid.value = "mailto+http:sha1:" + hex_sha1(com_sha+auth_sha);
}

So I think the error is there.

Feel free to contribute corrected code. :)

Peter

--
Peter Saint-Andre
XMPP Standards Foundation
http://www.xmpp.org/xsf/people/stpeter.shtml

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature




Archive powered by MHonArc 2.6.24.

Top of Page