jwt-eddsa 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.release-please-manifest.json +1 -1
- data/CHANGELOG.md +14 -0
- data/README.md +1 -1
- data/lib/jwt/eddsa/algo.rb +23 -21
- data/lib/jwt/eddsa/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cc916caa4e073e331d69c6283e4aea445e62bcf9e6b2987858585f7077b214b5
|
|
4
|
+
data.tar.gz: 1694c17a66ada64e581675fa824bca3db8d63ab5ce5ade178e5310a42f027e8c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1fc1cfd81aaf659a68f63668f583b991a5c80ef2bc6f97e71e578da388f2da950ecfa7e6ba4017a12d6d1f82f6f363f33abf11f4f16de19482b40dd9380c4351
|
|
7
|
+
data.tar.gz: 61265cb2bda5a758881aef68e5364b07ec0a7c6c3345a74596488e8ba844e345715b1555c8735f98944d933b428ee25877d99405e718c2a452d44ca68b5c2339
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.8.0](https://github.com/anakinj/jwt-eddsa/compare/v0.7.1...v0.8.0) (2024-09-15)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* Officially supported by ruby-jwt ([#19](https://github.com/anakinj/jwt-eddsa/issues/19)) ([cca6ecf](https://github.com/anakinj/jwt-eddsa/commit/cca6ecf3fb0054bee0c102af824584e80eccc1b6))
|
|
9
|
+
|
|
10
|
+
## [0.7.1](https://github.com/anakinj/jwt-eddsa/compare/v0.7.0...v0.7.1) (2024-08-24)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* Compatibility with ruby-jwt ([#17](https://github.com/anakinj/jwt-eddsa/issues/17)) ([4c674a2](https://github.com/anakinj/jwt-eddsa/commit/4c674a2d628781d6dcc873198f6334a506983cc0))
|
|
16
|
+
|
|
3
17
|
## [0.7.0](https://github.com/anakinj/jwt-eddsa/compare/v0.6.0...v0.7.0) (2024-08-04)
|
|
4
18
|
|
|
5
19
|
|
data/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# jwt-eddsa
|
|
2
2
|
|
|
3
3
|
[](https://badge.fury.io/rb/jwt-eddsa)
|
|
4
|
-
[](https://github.com/anakinj/jwt-eddsa/actions/workflows/test.yml)
|
|
5
5
|
|
|
6
6
|
A library extending the ruby-jwt gem with EdDSA algorithms. Based on [RFC 8037](https://datatracker.ietf.org/doc/html/rfc8037).
|
|
7
7
|
|
data/lib/jwt/eddsa/algo.rb
CHANGED
|
@@ -3,35 +3,37 @@
|
|
|
3
3
|
module JWT
|
|
4
4
|
module EdDSA
|
|
5
5
|
# EdDSA algorithm implementation
|
|
6
|
-
|
|
7
|
-
include JWT::JWA::
|
|
6
|
+
class Algo
|
|
7
|
+
include JWT::JWA::SigningAlgorithm
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class << self
|
|
13
|
-
def sign(_alg, msg, key)
|
|
14
|
-
unless key.is_a?(Ed25519::SigningKey)
|
|
15
|
-
raise_sign_error!("Key given is a #{key.class} but needs to be a Ed25519::SigningKey")
|
|
16
|
-
end
|
|
9
|
+
def initialize(alg)
|
|
10
|
+
@alg = alg
|
|
11
|
+
end
|
|
17
12
|
|
|
18
|
-
|
|
13
|
+
def sign(data:, signing_key:)
|
|
14
|
+
unless signing_key.is_a?(Ed25519::SigningKey)
|
|
15
|
+
raise_sign_error!("Key given is a #{signing_key.class} but needs to be a Ed25519::SigningKey")
|
|
19
16
|
end
|
|
20
17
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
raise_verify_error!("Key given is a #{public_key.class} but needs to be a Ed25519::VerifyKey")
|
|
24
|
-
end
|
|
18
|
+
signing_key.sign(data)
|
|
19
|
+
end
|
|
25
20
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
def verify(data:, signature:, verification_key:)
|
|
22
|
+
unless verification_key.is_a?(Ed25519::VerifyKey)
|
|
23
|
+
raise_verify_error!("Key given is a #{verification_key.class} but needs to be a Ed25519::VerifyKey")
|
|
29
24
|
end
|
|
30
25
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
verification_key.verify(signature, data)
|
|
27
|
+
rescue Ed25519::VerifyError
|
|
28
|
+
false
|
|
34
29
|
end
|
|
30
|
+
|
|
31
|
+
def header(*)
|
|
32
|
+
{ "alg" => "EdDSA" }
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
register_algorithm(new("EdDSA"))
|
|
36
|
+
register_algorithm(new("ED25519"))
|
|
35
37
|
end
|
|
36
38
|
end
|
|
37
39
|
end
|
data/lib/jwt/eddsa/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jwt-eddsa
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.8.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joakim Antman
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-
|
|
11
|
+
date: 2024-09-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: base64
|
|
@@ -42,16 +42,16 @@ dependencies:
|
|
|
42
42
|
name: jwt
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 2.
|
|
47
|
+
version: 2.9.0
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - "
|
|
52
|
+
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 2.
|
|
54
|
+
version: 2.9.0
|
|
55
55
|
description: Extends the ruby-jwt gem with EdDSA signing, verification and JWK importing/exporting
|
|
56
56
|
email:
|
|
57
57
|
- antmanj@gmail.com
|
|
@@ -79,7 +79,7 @@ licenses:
|
|
|
79
79
|
metadata:
|
|
80
80
|
homepage_uri: https://github.com/anakinj/jwt-eddsa
|
|
81
81
|
source_code_uri: https://github.com/anakinj/jwt-eddsa
|
|
82
|
-
changelog_uri: https://github.com/anakinj/jwt-eddsa/blob/v0.
|
|
82
|
+
changelog_uri: https://github.com/anakinj/jwt-eddsa/blob/v0.8.0/CHANGELOG.md
|
|
83
83
|
rubygems_mfa_required: 'true'
|
|
84
84
|
post_install_message:
|
|
85
85
|
rdoc_options: []
|
|
@@ -96,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
96
96
|
- !ruby/object:Gem::Version
|
|
97
97
|
version: '0'
|
|
98
98
|
requirements: []
|
|
99
|
-
rubygems_version: 3.5.
|
|
99
|
+
rubygems_version: 3.5.16
|
|
100
100
|
signing_key:
|
|
101
101
|
specification_version: 4
|
|
102
102
|
summary: EdDSA algorithm extension for ruby-jwt
|