paragonie/paseto-io

Table/Matrix of Implementations and Version Support

paragonie-scott opened this issue ยท 5 comments

Table/Matrix of Implementations and Version Support

https://github.com/paragonie/paseto
Language: PHP
Has vector tests: Yes
Passes Vector Tests: Yes
Working: Yes
Feature matrix:
V1 local
V1 public
V2 local
V2 public

https://github.com/rlittlefield/pypaseto
Language: Python
Has vector tests: Yes
Passes Vector Tests: Yes
Working: Yes
Feature matrix:
V2 local
V2 public

https://github.com/aidantwoods/swift-paseto
Language: Swift
Has vector tests: Yes
Passes Vector Tests: Yes
Working: Yes
Feature matrix:
V1 local
V2 local
V2 public

https://github.com/instructure/paseto
Language: Rust
Has vector tests: Partial?
https://github.com/instructure/paseto/blob/master/src/v2/local.rs
https://github.com/instructure/paseto/blob/master/src/v2/public.rs
Passes Vector Tests: Unknown
Working: Unknown
Feature matrix:
V1 local
V1 public
V2 local
V2 public

https://github.com/dustinsoftware/paseto.net
Language: .NET
Has vector tests: Partial?
https://github.com/dustinsoftware/Paseto.Net/blob/master/Paseto.Tests/PasetoTests.cs
Passes Vector Tests: Unknown
Working: Unknown
Feature matrix:
V2 local
V2 public

https://github.com/idaviddesmet/paseto-dotnet
Language: .NET
Has vector tests: Partial?
https://github.com/idaviddesmet/paseto-dotnet/blob/master/src/Paseto.Tests/PasetoTests.cs
Passes Vector Tests: Unknown
Working: Unknown
Feature matrix:
V1 public
V2 public
(Serious work is being done to add XChaCha20-Poly1305 so it can support local:
daviddesmet/paseto-dotnet@777c768)

https://github.com/sjudson/paseto.js
Language: Javascript (Node.js)
Has vector tests: Yes
Passes Vector Tests: Unknown
Working: Yes
Feature matrix:
V1 local
V2 local

https://github.com/nbaars/paseto4j
Language: Java
Has vector tests: Yes
Passes Vector Tests: Unknown
Working: Unknown
Feature matrix:
V2 public

https://github.com/o1egl/paseto
Language: Golang
Has vector tests: Yes
Passes Vector Tests: Yes
Working: Unknown
Feature matrix:
V1 local
V1 public
V2 local
V2 public

Did some quick research on each implementation listed on the main paseto project readme. If I could find a set of vector tests roughly matching the ones in the ref implementation, I indicated Yes for "Has vector tests". If there are some tests at least vaguely verifying creation or parsing of a token, I put "Partial?".

If I noticed a link to a passing build in which the vector tests ran, I marked it as passing. Corrections are easy to make if I'm accidentally misrepresenting anything.

How do I apply for "Working: Yes"? ;p

@aidantwoods That's about all it takes ๐Ÿ˜„

I think I'm just going to drop all of this into a beautified JSON blob and then build a table out of it at runtime (with caching).