Skip to content

Instantly share code, notes, and snippets.

@stumped2
Created March 10, 2014 22:24
Show Gist options
  • Save stumped2/9475795 to your computer and use it in GitHub Desktop.
Save stumped2/9475795 to your computer and use it in GitHub Desktop.
KNOWN GOOD BACKED IA:
eyJhbGciOiJSUzI1NiJ9.
eyJwdWJsaWMta2V5Ijp7ImFsZ29yaXRobSI6IkRTIiwieSI6ImRiZjY3MWEwNjkwMDU1OGZlMmQ5MGEzMzg1NjVlYmQzZDdlYzk4ZWYyYmRlZjE3ZjBhMzFmN2EyMzBlODFjOTcyMzJiMGFmYjFlMzVhZmMyZWFkNzA4YTk2ZDc3OGU1MjI2ZjY1MTZkZTk0MDE3YTdmYWNhMzYyOTRhNzZlNmRhMGY2ZDVjYzU0NGY3MzEzMTE5NDRhYTY2M2RmNWE2OTdiNmY1MGJiNzRjYjY2YjM5OTUzNDFmNTBmMTQyODE1ZTBkNWMwYzJhN2Q2MmYxOWQyNTY2ZGRlMjVlYzA3YWRkN2JlNGUyZmZjMDBjOGQxY2ZhM2IwZTQxNjdmODg4MWIiLCJwIjoiZmY2MDA0ODNkYjZhYmZjNWI0NWVhYjc4NTk0YjM1MzNkNTUwZDlmMWJmMmE5OTJhN2E4ZGFhNmRjMzRmODA0NWFkNGU2ZTBjNDI5ZDMzNGVlZWFhZWZkN2UyM2Q0ODEwYmUwMGU0Y2MxNDkyY2JhMzI1YmE4MWZmMmQ1YTViMzA1YThkMTdlYjNiZjRhMDZhMzQ5ZDM5MmUwMGQzMjk3NDRhNTE3OTM4MDM0NGU4MmExOGM0NzkzMzQzOGY4OTFlMjJhZWVmODEyZDY5YzhmNzVlMzI2Y2I3MGVhMDAwYzNmNzc2ZGZkYmQ2MDQ2MzhjMmVmNzE3ZmMyNmQwMmUxNyIsInEiOiJlMjFlMDRmOTExZDFlZDc5OTEwMDhlY2FhYjNiZjc3NTk4NDMwOWMzIiwiZyI6ImM1MmE0YTBmZjNiN2U2MWZkZjE4NjdjZTg0MTM4MzY5YTYxNTRmNGFmYTkyOTY2ZTNjODI3ZTI1Y2ZhNmNmNTA4YjkwZTVkZTQxOWUxMzM3ZTA3YTJlOWUyYTNjZDVkZWE3MDRkMTc1ZjhlYmY2YWYzOTdkNjllMTEwYjk2YWZiMTdjN2EwMzI1OTMyOWU0ODI5YjBkMDNiYmM3ODk2YjE1YjRhZGU1M2UxMzA4NThjYzM0ZDk2MjY5YWE4OTA0MWY0MDkxMzZjNzI0MmEzODg5NWM5ZDViY2NhZDRmMzg5YWYxZDdhNGJkMTM5OGJkMDcyZGZmYTg5NjIzMzM5N2EifSwicHJpbmNpcGFsIjp7ImVtYWlsIjoidGVocmlkZGxlckBnbWFpbC5jb20ifSwiaWF0IjoxMzk0MjMxMDE5NzYwLCJleHAiOjEzOTQyMzQ2Mjk3NjAsImlzcyI6ImdtYWlsLmxvZ2luLnBlcnNvbmEub3JnIn0.
b0XmFCgqHvPBErz3S542nwm98oDfMNzKOD7UTk67WlYE1oh2WzHw_gEGp9YwBBxCaSwrLqVwFbb0W-cIM9znDX9AC1peBxG6_fBm3G1c1O4vzffsPEa4qWRwaggsjwRVfV7Wx30W5fSUVoKArsSZ-cSDgrF7tX5wdvQaqI5GXIqIoXv3D3aWtUHdO3QJAyjPT0YEn_OMTEHkkoWMGcxP7HancV24HJADtnnhbdh1d7xk083R8WhkmCG1ih25Mj4kWA-wcxk7xBI9b3G46es8wjalHYtdbP52ZsC4rhat5K3f-knAsONQ27Ks_TjMOcS0qvBAYl6CbDyyYLvq0Ok9xQ
~
24Ttt4Mms8X4dFZs1xjrTQ.
jFn21BWfYguoqF7uoOul8UFUCuB0vMXvhMx5cGswta8bK36Db1DHXrTbO0d82RxOt7mU8vG5gpQ1SAjD-2thxA.1394232380211.2419200000.
wpbDpjUqCR3DpsKGWcKBw7bCkTfCtTvDvz4twpxfwqsdw5rDnVpFwqnDvmxRwr_Dvg
MY BACKED IA:
eyJhbGciOiJSUzI1NiJ9.
eyJwdWJsaWMta2V5Ijp7ImFsZ29yaXRobSI6IkRTIiwieSI6ImQ3MjkxNjIwN2E3MmRlMTU1MDZkMGQ5Nzg4NmQ3OTUwNmEwYTVmYzMwZDBmYmZlOTQxZmI0MDhjMTE5ODU5ZjE5YzMyOTE5Y2RkZWJjM2VjOTQ0YTMxNDYwMGEwNDYzYzUxN2YzYmI0MWQ3ODZkMjE3MmUzMThjNGQ5NmM2ZGZhZWVjOTc1YmMyZjJmMDUyZTM2Mzc5ZWY5YjI1ZWUzMDdjMjhiY2RmNDMzZDRjYTZmNjFlYmQwNGI4NjkzZjlmZTJjMWE0MmViYjVjYjc0ZTNjYTU1ZmE2NmM0ZjlmMTA0MzEwODZlYTkzNmFiMjg1YjliZTAzMDk4ODIxMTM0YTMiLCJwIjoiZmY2MDA0ODNkYjZhYmZjNWI0NWVhYjc4NTk0YjM1MzNkNTUwZDlmMWJmMmE5OTJhN2E4ZGFhNmRjMzRmODA0NWFkNGU2ZTBjNDI5ZDMzNGVlZWFhZWZkN2UyM2Q0ODEwYmUwMGU0Y2MxNDkyY2JhMzI1YmE4MWZmMmQ1YTViMzA1YThkMTdlYjNiZjRhMDZhMzQ5ZDM5MmUwMGQzMjk3NDRhNTE3OTM4MDM0NGU4MmExOGM0NzkzMzQzOGY4OTFlMjJhZWVmODEyZDY5YzhmNzVlMzI2Y2I3MGVhMDAwYzNmNzc2ZGZkYmQ2MDQ2MzhjMmVmNzE3ZmMyNmQwMmUxNyIsInEiOiJlMjFlMDRmOTExZDFlZDc5OTEwMDhlY2FhYjNiZjc3NTk4NDMwOWMzIiwiZyI6ImM1MmE0YTBmZjNiN2U2MWZkZjE4NjdjZTg0MTM4MzY5YTYxNTRmNGFmYTkyOTY2ZTNjODI3ZTI1Y2ZhNmNmNTA4YjkwZTVkZTQxOWUxMzM3ZTA3YTJlOWUyYTNjZDVkZWE3MDRkMTc1ZjhlYmY2YWYzOTdkNjllMTEwYjk2YWZiMTdjN2EwMzI1OTMyOWU0ODI5YjBkMDNiYmM3ODk2YjE1YjRhZGU1M2UxMzA4NThjYzM0ZDk2MjY5YWE4OTA0MWY0MDkxMzZjNzI0MmEzODg5NWM5ZDViY2NhZDRmMzg5YWYxZDdhNGJkMTM5OGJkMDcyZGZmYTg5NjIzMzM5N2EifSwicHJpbmNpcGFsIjp7ImVtYWlsIjoiZ2VvZmZjb3JleTdAZ21haWwuY29tIn0sImlhdCI6MTM5NDQ4Nzg5NTI1NSwiZXhwIjoxMzk0NTA5NTA1MjU1LCJpc3MiOiJnbWFpbC5sb2dpbi5wZXJzb25hLm9yZyJ9.
nI6wr4Qct6oCev8_01RksPnf0Ka6yKzGaBgPW3-QoNGzWtYNQEnjzetloep5XuMAV-YW75MRlQSzrAIfepkY3Yvu4RfsvPH-GVQNOz2ZAWHHmzWzLZZqEDVVrUHA0vuS8hyGx2YPvFMG3ObaRNUCcez-8xJ5VAwDFsKnklDBemoCqdphDx_nKAi1pRAS769OqRLbZ5zkkHohlCvfNlZwZQF6is_PJ46R0d7vtJ31gw_QKf_4YPYzTEFtj0Y8zfaMolh9plTjVY2QdELR7lY4BlZ35CRc8jcByluOGvJpXG0hA7BTRbeYnGYbYmFnrAyxdMQ-Pslfoa_gNSUXCRQpaQ
~
EUMIcGJ9JQkmX_6grf97Nw.
HdfE8tuilpUkfhq9Dg2Sh5Pcosy2B5HhZusn4NC2COmW--7GTbU40cOWXOFowN4cDwjPXo1a_oZ5WBjxkeSYKJTWEWg99K609Lbz_JtQkAOU37eb952ha-uu6xXwXaOWrZCjLKcNcVt5165gKu6-T8SIaY9Dp_RAA9F3L8jIP4s.1394487905619.2419200000.
HHYAw61LYUjDvTDCq8OzPcKZfE4ww6wqcjfCiE44D8KLw5p5w7wxw5sAw4E
@callahad
Copy link

Deserialized headers and paylods of the certs (first part) look good:

KNOWN GOOD:

{"alg": "RS256"}
{
  "iss": "gmail.login.persona.org",
  "iat": 1394231019760,
  "public-key": {
    "y": "dbf671a06900558fe2d90a338565ebd3d7ec98ef2bdef17f0a31f7a230e81c97232b0afb1e35afc2ead708a96d778e5226f6516de94017a7faca36294a76e6da0f6d5cc544f731311944aa663df5a697b6f50bb74cb66b3995341f50f142815e0d5c0c2a7d62f19d2566dde25ec07add7be4e2ffc00c8d1cfa3b0e4167f8881b",
    "p": "ff600483db6abfc5b45eab78594b3533d550d9f1bf2a992a7a8daa6dc34f8045ad4e6e0c429d334eeeaaefd7e23d4810be00e4cc1492cba325ba81ff2d5a5b305a8d17eb3bf4a06a349d392e00d329744a5179380344e82a18c47933438f891e22aeef812d69c8f75e326cb70ea000c3f776dfdbd604638c2ef717fc26d02e17",
    "g": "c52a4a0ff3b7e61fdf1867ce84138369a6154f4afa92966e3c827e25cfa6cf508b90e5de419e1337e07a2e9e2a3cd5dea704d175f8ebf6af397d69e110b96afb17c7a03259329e4829b0d03bbc7896b15b4ade53e130858cc34d96269aa89041f409136c7242a38895c9d5bccad4f389af1d7a4bd1398bd072dffa896233397a",
    "q": "e21e04f911d1ed7991008ecaab3bf775984309c3",
    "algorithm": "DS"
  },
  "exp": 1394234629760,
  "principal": {
    "email": "<redacted>@gmail.com"
  }
}

YOURS:

{"alg": "RS256"}
{
  "iss": "gmail.login.persona.org",
  "iat": 1394487895255,
  "public-key": {
    "y": "d72916207a72de15506d0d97886d79506a0a5fc30d0fbfe941fb408c119859f19c32919cddebc3ec944a314600a0463c517f3bb41d786d2172e318c4d96c6dfaeec975bc2f2f052e36379ef9b25ee307c28bcdf433d4ca6f61ebd04b8693f9fe2c1a42ebb5cb74e3ca55fa66c4f9f10431086ea936ab285b9be03098821134a3",
    "p": "ff600483db6abfc5b45eab78594b3533d550d9f1bf2a992a7a8daa6dc34f8045ad4e6e0c429d334eeeaaefd7e23d4810be00e4cc1492cba325ba81ff2d5a5b305a8d17eb3bf4a06a349d392e00d329744a5179380344e82a18c47933438f891e22aeef812d69c8f75e326cb70ea000c3f776dfdbd604638c2ef717fc26d02e17",
    "g": "c52a4a0ff3b7e61fdf1867ce84138369a6154f4afa92966e3c827e25cfa6cf508b90e5de419e1337e07a2e9e2a3cd5dea704d175f8ebf6af397d69e110b96afb17c7a03259329e4829b0d03bbc7896b15b4ade53e130858cc34d96269aa89041f409136c7242a38895c9d5bccad4f389af1d7a4bd1398bd072dffa896233397a",
    "q": "e21e04f911d1ed7991008ecaab3bf775984309c3",
    "algorithm": "DS"
  },
  "exp": 1394509505255,
  "principal": {
    "email": "<REDACTED>@gmail.com"
  }
}

@callahad
Copy link

The assertions look a little funny. Here's an example of a good backed assertion (with linebreaks added):

eyJhbGciOiJEUzEyOCJ9
.
eyJwdWJsaWMta2V5Ijp7ImFsZ29yaXRobSI6IkRTIiwieSI6ImQ2YzFlMzAwOWJiYzJlZWExNDZjYzc3MzFkZjA0ODNkZTZjMDFhMjIwZjI4YjBmYmFlMWExMGY1MDYyNDBjM2Q4M2ZjZWZmNTUzNjk5Yjk4NWY1YTIwN2NhYzBjMjg0M2U0ZTJlNDU3NDRmMmJmZTY2MmMzYjgwZjZhNTEwMzUzNGYyMTE4MmMwMjc4NTRhN2VjNDcwODAzNDExNzVhZGVjYjlkNDFiNjRmNDhlNDJmODhiMDFkZjk1ZDdkMWQ5OTM4MGU5MjBmYjA1YzU0M2UzOGVmZmVhZjBlOGZkOTNhMjg2MTM5NDVjOThlNGU3MDkyZGMyYmM4N2U0MmIwZGYiLCJwIjoiZmY2MDA0ODNkYjZhYmZjNWI0NWVhYjc4NTk0YjM1MzNkNTUwZDlmMWJmMmE5OTJhN2E4ZGFhNmRjMzRmODA0NWFkNGU2ZTBjNDI5ZDMzNGVlZWFhZWZkN2UyM2Q0ODEwYmUwMGU0Y2MxNDkyY2JhMzI1YmE4MWZmMmQ1YTViMzA1YThkMTdlYjNiZjRhMDZhMzQ5ZDM5MmUwMGQzMjk3NDRhNTE3OTM4MDM0NGU4MmExOGM0NzkzMzQzOGY4OTFlMjJhZWVmODEyZDY5YzhmNzVlMzI2Y2I3MGVhMDAwYzNmNzc2ZGZkYmQ2MDQ2MzhjMmVmNzE3ZmMyNmQwMmUxNyIsInEiOiJlMjFlMDRmOTExZDFlZDc5OTEwMDhlY2FhYjNiZjc3NTk4NDMwOWMzIiwiZyI6ImM1MmE0YTBmZjNiN2U2MWZkZjE4NjdjZTg0MTM4MzY5YTYxNTRmNGFmYTkyOTY2ZTNjODI3ZTI1Y2ZhNmNmNTA4YjkwZTVkZTQxOWUxMzM3ZTA3YTJlOWUyYTNjZDVkZWE3MDRkMTc1ZjhlYmY2YWYzOTdkNjllMTEwYjk2YWZiMTdjN2EwMzI1OTMyOWU0ODI5YjBkMDNiYmM3ODk2YjE1YjRhZGU1M2UxMzA4NThjYzM0ZDk2MjY5YWE4OTA0MWY0MDkxMzZjNzI0MmEzODg5NWM5ZDViY2NhZDRmMzg5YWYxZDdhNGJkMTM5OGJkMDcyZGZmYTg5NjIzMzM5N2EifSwicHJpbmNpcGFsIjp7ImVtYWlsIjoiZXhhbXBsZUBtb2NrbXlpZC5jb20ifSwiaWF0IjoxMzk0NDkxMDQ2MjcyLCJleHAiOjEzOTQ0OTQ2NDYyNzIsImlzcyI6Im1vY2tteWlkLmNvbSJ9
.
QvZZ5EVEhqRwtGmGDx8fCMQgutQPg84s69p1FJIKV9y6pbo3a02jdA
~
eyJhbGciOiJEUzEyOCJ9
.
eyJleHAiOjEzOTQ0OTEyODgzOTgsImF1ZCI6Imh0dHA6Ly9maWRkbGUuanNoZWxsLm5ldCJ9
.
qv8_RwZrKbSBV3d3Kk1jgv9Tn_doOEzQy2p1DD5Wffswx_Qypz43_A

The certificate (first part) decodes to:

{"alg": "DS128"}
{
  "iss": "mockmyid.com",
  "iat": 1394491046272,
  "public-key": {
    "y": "d6c1e3009bbc2eea146cc7731df0483de6c01a220f28b0fbae1a10f506240c3d83fceff553699b985f5a207cac0c2843e4e2e45744f2bfe662c3b80f6a5103534f21182c027854a7ec47080341175adecb9d41b64f48e42f88b01df95d7d1d99380e920fb05c543e38effeaf0e8fd93a28613945c98e4e7092dc2bc87e42b0df",
    "p": "ff600483db6abfc5b45eab78594b3533d550d9f1bf2a992a7a8daa6dc34f8045ad4e6e0c429d334eeeaaefd7e23d4810be00e4cc1492cba325ba81ff2d5a5b305a8d17eb3bf4a06a349d392e00d329744a5179380344e82a18c47933438f891e22aeef812d69c8f75e326cb70ea000c3f776dfdbd604638c2ef717fc26d02e17",
    "g": "c52a4a0ff3b7e61fdf1867ce84138369a6154f4afa92966e3c827e25cfa6cf508b90e5de419e1337e07a2e9e2a3cd5dea704d175f8ebf6af397d69e110b96afb17c7a03259329e4829b0d03bbc7896b15b4ade53e130858cc34d96269aa89041f409136c7242a38895c9d5bccad4f389af1d7a4bd1398bd072dffa896233397a",
    "q": "e21e04f911d1ed7991008ecaab3bf775984309c3",
    "algorithm": "DS"
  },
  "exp": 1394494646272,
  "principal": {
    "email": "[email protected]"
  }
}

The assertion (second part) decodes to:

{"alg": "DS128"}
{
  "aud": "http://fiddle.jshell.net",
  "exp": 1394491288398
}

This was made using MockMyID, whose private key is... public, if you want to try to replicate it directly.

@callahad
Copy link

The important thing to note is that the format is A.B.C~X.Y.Z, where A, B, X, and Y are base64url-encoded JSON (with padding = characters stripped), and C and Z are signatures of the above.

Thus, you should only see four . characters and a single ~ character. In both of your assertions, the header and the payload (X and Y) don't seem to be valid base64 strings :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment