{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":525538360,"defaultBranch":"main","name":"webauthn-php","ownerLogin":"Firehed","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-08-16T20:49:15.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/354842?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1711471692.0","currentOid":""},"activityList":{"items":[{"before":"e2a6302a79fa200384efa391e67d432cf44068ad","after":null,"ref":"refs/heads/b64u-cred","pushedAt":"2024-03-26T19:21:59.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"}},{"before":"dae5e0aab5873743d19afbd070ab4823c6de1177","after":"23be5ad5cfad5241e3dbf16136840e7646ed2d4d","ref":"refs/heads/main","pushedAt":"2024-03-26T19:21:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"Adjust credential storage to use base64url instead of plain base64 (#81)\n\nThis promotes internal consistency of data formats, and due to how the\r\ndecoding process works is fully backward-compatible. There are a couple\r\nof remaining touch points, about half of which are related to\r\ncertificate formatting which must remain as such.","shortMessageHtmlLink":"Adjust credential storage to use base64url instead of plain base64 (#81)"}},{"before":null,"after":"e2a6302a79fa200384efa391e67d432cf44068ad","ref":"refs/heads/b64u-cred","pushedAt":"2024-03-26T16:48:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"Adjust spec notes","shortMessageHtmlLink":"Adjust spec notes"}},{"before":"32919b81b9e805622df9d9e756b3fc0022335eb6","after":null,"ref":"refs/heads/dependabot/composer/phpunit/phpunit-tw-9.3or-tw-10.0","pushedAt":"2024-03-11T14:13:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":null,"after":"3c438a9908f87a3679cf18bba1deb922fb90ebcc","ref":"refs/heads/dependabot/composer/phpunit/phpunit-tw-9.6or-tw-10.0","pushedAt":"2024-03-11T14:13:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Update phpunit/phpunit requirement from ^9.6 to ^9.6 || ^10.0\n\nUpdates the requirements on [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) to permit the latest version.\n- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)\n- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/10.5.12/ChangeLog-10.5.md)\n- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.0...10.5.12)\n\n---\nupdated-dependencies:\n- dependency-name: phpunit/phpunit\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Update phpunit/phpunit requirement from ^9.6 to ^9.6 || ^10.0"}},{"before":"69fdcd3c5d0cdb244ab6c7951186833727bac663","after":"dae5e0aab5873743d19afbd070ab4823c6de1177","ref":"refs/heads/main","pushedAt":"2024-03-10T04:42:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"Add limited support for RS256 (#79)\n\nAdds support for RSA COSE key parsing and subsequent reformatting to\r\nPEM. For the most part, everything downstream Just Works since it\r\nimplements the same `PublicKeyInterface` as `EllipticCurve`\r\n\r\nIn theory, this should work in all (legal) assertion paths. I'm less\r\nsure about attestation, so I'm indicating only partial support in the\r\nREADME. As the remaining attestation formats get supported, this should\r\nbecome extremely clear. Most formats don't really look at the public key\r\nin favor of the bundled certificate chain.","shortMessageHtmlLink":"Add limited support for RS256 (#79)"}},{"before":"f33d4bf7e08ab4f39cf584a324d546475b9361d2","after":null,"ref":"refs/heads/rs256-partial","pushedAt":"2024-03-10T04:42:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"}},{"before":"8851d8a9b1af699e89dd356c32532a9340c4ab69","after":"f33d4bf7e08ab4f39cf584a324d546475b9361d2","ref":"refs/heads/rs256-partial","pushedAt":"2024-03-10T04:35:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"format","shortMessageHtmlLink":"format"}},{"before":"ca14d67a6b73c3050e89ee7fc74d6a3f37a5783b","after":"8851d8a9b1af699e89dd356c32532a9340c4ab69","ref":"refs/heads/rs256-partial","pushedAt":"2024-03-10T04:26:01.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"link spec","shortMessageHtmlLink":"link spec"}},{"before":"e001d7fad1896d550d430a3a8d4c42e22f003b81","after":"ca14d67a6b73c3050e89ee7fc74d6a3f37a5783b","ref":"refs/heads/rs256-partial","pushedAt":"2024-03-10T04:16:09.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"README info","shortMessageHtmlLink":"README info"}},{"before":null,"after":"e001d7fad1896d550d430a3a8d4c42e22f003b81","ref":"refs/heads/rs256-partial","pushedAt":"2024-03-10T04:04:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"tidy up","shortMessageHtmlLink":"tidy up"}},{"before":"ef12eb8991f6fdd963e6a76c93517e1ec069baf1","after":"69fdcd3c5d0cdb244ab6c7951186833727bac663","ref":"refs/heads/main","pushedAt":"2024-03-10T01:48:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"Replace manual concatenation with actual ASN.1 encoder (#78)\n\nWhile on its own the current implementation is perfectly stable due to\r\nfixed lengths, adding support for other formats will become highly\r\nproblematic. Instead, replace the ASN.1 handling with a suitable\r\nlibrary.","shortMessageHtmlLink":"Replace manual concatenation with actual ASN.1 encoder (#78)"}},{"before":"49006e6e915b616dbc73f5170bbca04eb376f99f","after":null,"ref":"refs/heads/real-asn1","pushedAt":"2024-03-10T01:48:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"}},{"before":null,"after":"49006e6e915b616dbc73f5170bbca04eb376f99f","ref":"refs/heads/real-asn1","pushedAt":"2024-03-10T01:45:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"Replace cryptic manual encoding with an actual tool","shortMessageHtmlLink":"Replace cryptic manual encoding with an actual tool"}},{"before":"c12b44eb5367da465d7287af31079748c198740c","after":null,"ref":"refs/heads/oncurve","pushedAt":"2024-03-10T01:06:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"}},{"before":"7584b957639f1f20da7d57a0edaa741f71336a9f","after":"ef12eb8991f6fdd963e6a76c93517e1ec069baf1","ref":"refs/heads/main","pushedAt":"2024-03-10T01:06:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"Verify P-256 keys are on the curve (#77)\n\nI got some AI-assisted guidance on the implementation, but\r\ncross-referenced several documents that specify and confirm the curve\r\nparameters. The actual verification procedure is pretty straightforward\r\n- do the systems-of-equations with basic algebra, and the apply the\r\nmodulus since that's how finite fields work.\r\n\r\nFixes #67","shortMessageHtmlLink":"Verify P-256 keys are on the curve (#77)"}},{"before":"ebd2c494b73e68fca5dcd7b95ab3b1bf4f7ec747","after":"c12b44eb5367da465d7287af31079748c198740c","ref":"refs/heads/oncurve","pushedAt":"2024-03-10T01:03:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"let EC test cover curve params","shortMessageHtmlLink":"let EC test cover curve params"}},{"before":"204fe0b60aeaf62ad92812cce655c7bd371cefd6","after":"ebd2c494b73e68fca5dcd7b95ab3b1bf4f7ec747","ref":"refs/heads/oncurve","pushedAt":"2024-03-10T01:01:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"add token","shortMessageHtmlLink":"add token"}},{"before":"d45199a5ed379360c961f9fdb095fa05494f6802","after":"204fe0b60aeaf62ad92812cce655c7bd371cefd6","ref":"refs/heads/oncurve","pushedAt":"2024-03-10T00:32:19.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"import","shortMessageHtmlLink":"import"}},{"before":null,"after":"d45199a5ed379360c961f9fdb095fa05494f6802","ref":"refs/heads/oncurve","pushedAt":"2024-03-10T00:22:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"Explicit error","shortMessageHtmlLink":"Explicit error"}},{"before":"8a4092dce6580f8521ed6c8352db2cc7af707569","after":"4da48acfa6605352b96119a71cbbd113855ca950","ref":"refs/heads/tv","pushedAt":"2024-03-09T23:18:38.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"fix vectors","shortMessageHtmlLink":"fix vectors"}},{"before":"ae6f6a442c0192529864c64b5e47149998be7690","after":"8a4092dce6580f8521ed6c8352db2cc7af707569","ref":"refs/heads/tv","pushedAt":"2024-03-09T22:55:22.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"implement pem format","shortMessageHtmlLink":"implement pem format"}},{"before":"00c7bf4ac4ffb9334c2127d30b4896c33ecbe83b","after":"ae6f6a442c0192529864c64b5e47149998be7690","ref":"refs/heads/tv","pushedAt":"2024-03-09T20:37:05.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"dedupe","shortMessageHtmlLink":"dedupe"}},{"before":"bd017364ce5d0f21ac64719739e849980fcb85e5","after":null,"ref":"refs/heads/update-cose-standards","pushedAt":"2024-03-09T19:29:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"}},{"before":"d77e73e151b80cd4725042c7882888e89b15dd57","after":"7584b957639f1f20da7d57a0edaa741f71336a9f","ref":"refs/heads/main","pushedAt":"2024-03-09T19:29:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"Separate EC key parsing, update related documentation references (#76)\n\nThe aim of this is to lay the groundwork for keys other than\r\nES256/P-256. This will make it easier to expand support into other key\r\ntypes (notably RS256)","shortMessageHtmlLink":"Separate EC key parsing, update related documentation references (#76)"}},{"before":"e63da9368a65ff80510bce7ee2754cdb25f35448","after":"bd017364ce5d0f21ac64719739e849980fcb85e5","ref":"refs/heads/update-cose-standards","pushedAt":"2024-03-09T19:28:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"Update PHPUnit min version or prefer-lowest chokes","shortMessageHtmlLink":"Update PHPUnit min version or prefer-lowest chokes"}},{"before":"85bdf1e4486ae77928013ecf8acda7356c359f45","after":"e63da9368a65ff80510bce7ee2754cdb25f35448","ref":"refs/heads/update-cose-standards","pushedAt":"2024-03-09T19:21:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"Move OID info to curve for comparison","shortMessageHtmlLink":"Move OID info to curve for comparison"}},{"before":null,"after":"85bdf1e4486ae77928013ecf8acda7356c359f45","ref":"refs/heads/update-cose-standards","pushedAt":"2024-03-09T19:14:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"link webauthn spec","shortMessageHtmlLink":"link webauthn spec"}},{"before":"6bcd2bd766a05489401520704bd61bea74d63818","after":null,"ref":"refs/heads/adjust-cm-ergo","pushedAt":"2024-03-02T02:19:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"}},{"before":"dcef5441cfba10c820a1d8b84a0114ebb3e435be","after":"d77e73e151b80cd4725042c7882888e89b15dd57","ref":"refs/heads/main","pushedAt":"2024-03-02T02:19:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Firehed","name":"Eric Stern","path":"/Firehed","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/354842?s=80&v=4"},"commit":{"message":"Improve support for more complex challenge management (#75)\n\nSplits the retrieval and management of challenges. \r\n\r\nFrom a good vibes perspective, this a) aligns the main interface name\r\nwith the functionality it's intended to provide, and b) improves the\r\ninterface segregation (hi, SOLID).\r\n\r\nIn terms of practical needs, this helps solve the (fairly rare) need of\r\nchallenges that are managed as part of a broader external system. This\r\ncould be a data model, microservice, or whatever. By splitting the\r\ninterfaces and only requiring that the newer `ChallengeLoaderInterface`\r\nmake it to the verification processes, this becomes both easier and more\r\ntestable.","shortMessageHtmlLink":"Improve support for more complex challenge management (#75)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEIABH3AA","startCursor":null,"endCursor":null}},"title":"Activity ยท Firehed/webauthn-php"}