2010-03-22 7 views
0

Je construis un générateur de signature openid en javascript, et je n'ai aucune expérience de travail avec des chaînes w/octet, mais l'étape 3 du signature gen procedure in the openid 2.0 spec indique "Convertir la liste des paires clé/valeur être signé sur une chaîne d'octets en codant avec le codage de forme de clé-valeur ".javascript chaîne-à-octet-chaîne de conversion

La chaîne que j'ai trouvée (avec Crypto.charenc.UTF8.stringToBytes à partir du crypto-js (code.google.com/p/crypto-js/) lib) ressemble à "111 112 95 101 ... ". Est-ce que c'est ce que la spécification signifie? Est-ce même une chaîne d'octets? La signature n'est toujours pas correcte, mais j'aimerais au moins savoir si ma chaîne est correcte. J'ai vu d'autres chaînes qui ressemblent à "123 \ 456 \ 789 ...." (séparées par des barres obliques) et "012 \ 034 \ 123 ..." (séparées par des barres obliques, avec des zéros). Toute aide est appréciée. Idéalement, je suis à la recherche d'une méthode javascript toOctetString pour une chaîne, ou même un javascript openid lib: O

Merci!

+0

Un octet est simplement un mot standard qui signifie "octet"; donc une chaîne d'octets est juste une séquence d'octets. – Will

+0

Thx, Will. Quel est le format standard pour une chaîne d'octets? Si je cours Crypto.charenc.UTF8.stringToBytes ('foo'). Join (''), j'obtiens '112 111 111'. L'espace est-il séparé d'un format acceptable? – erik

Répondre

0

Concentrez-vous sur cette expression "en codant avec Key-Value Form Encoding". Vous allez juste quelque chose qui ressemble à ceci:

color:green 
size:9w 
codename:Sneaky Alligator 

Et toujours ne hésitez pas à faire référence à un existing open-source implementation.

+0

également, lorsque vous obtenez une machine à remonter le temps, revenez à 2005 et dites à Brad d'utiliser JSON au lieu de kvform. – keturn

+0

bien que je suppose, pour être juste, la propriété kvform a que json n'est pas l'utilisation plus explicite des espaces. – keturn

Questions connexes