linzer 0.6.1 → 0.6.2
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/CHANGELOG.md +14 -2
- data/README.md +3 -6
- data/lib/linzer/ed25519.rb +2 -7
- data/lib/linzer/key/helper.rb +3 -4
- data/lib/linzer/version.rb +1 -1
- data/lib/linzer.rb +1 -0
- metadata +22 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db6a27eef77de787dbb8e481a845c44b2df6c284d98adc01d872fc10bb9f6061
|
4
|
+
data.tar.gz: c500a2ee97f3b9b9ec7717fc9162c9f26d979301dfdcd8aad50298126e9943a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 828eabfdd8bb62382eb97b05b9ad7e75a8c8a71bdf082594d73abbf964735bf60fe8e31dcbfcd16e157bf14f369747e71631f54d7b896c7be3a8dfb336a1977f
|
7
|
+
data.tar.gz: 65d6be87fe00af2685a7bed82990d3ffa3fd92f4bd5375d00b34cb7d4756e9dca4beee0871c410b62918236cf4fdfd23f0304f5f51294cd855f9774fe104b1d0
|
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,24 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
+
## [0.6.2] - 2024-12-10
|
4
|
+
|
5
|
+
- Remove dependency on ed25519 gem. Pull request
|
6
|
+
[#5](https://github.com/nomadium/linzer/pull/5) by
|
7
|
+
[oneiros](https://github.com/oneiros).
|
8
|
+
|
9
|
+
- Run unit tests against Ruby 3.4.
|
10
|
+
|
3
11
|
## [0.6.1] - 2024-12-02
|
4
12
|
|
5
13
|
- Add more validation checks on HTTP field component identifiers and parameters.
|
6
14
|
|
7
|
-
- Relax rack version requirements.
|
15
|
+
- Relax rack version requirements. Pull request
|
16
|
+
[#4](https://github.com/nomadium/linzer/pull/4) by
|
17
|
+
[oneiros](https://github.com/oneiros).
|
8
18
|
|
9
|
-
- Update uri dependency to the latest version.
|
19
|
+
- Update uri dependency to the latest version. Pull request
|
20
|
+
[#3](https://github.com/nomadium/linzer/pull/3) by
|
21
|
+
[oneiros](https://github.com/oneiros).
|
10
22
|
|
11
23
|
## [0.6.0] - 2024-04-06
|
12
24
|
|
data/README.md
CHANGED
@@ -97,13 +97,10 @@ response = http.post("/some_uri", "data", headers.merge(signature.to_h))
|
|
97
97
|
### To verify a valid signature:
|
98
98
|
|
99
99
|
```ruby
|
100
|
-
test_ed25519_key_pub =
|
101
|
-
# => "
|
100
|
+
test_ed25519_key_pub = key.material.public_to_pem
|
101
|
+
# => "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAK1ZrC4JqC356pRsUiLVJdFZ3dAjo909VfWs1li33MCQ=\n-----END PUBLIC KEY-----\n"
|
102
102
|
|
103
|
-
|
104
|
-
# => "\xB1rM\xFFR\x1F\xDDw\x00\x89\..."
|
105
|
-
|
106
|
-
pubkey = Linzer.new_ed25519_public_key(raw_pubkey, "some-key-ed25519")
|
103
|
+
pubkey = Linzer.new_ed25519_public_key(test_ed25519_key_pub, "some-key-ed25519")
|
107
104
|
# => #<Linzer::Ed25519::Key:0x00000fe19b9384b0
|
108
105
|
|
109
106
|
# if you have to, there is a helper method to build a request object on the server side
|
data/lib/linzer/ed25519.rb
CHANGED
@@ -1,19 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "ed25519"
|
4
|
-
|
5
3
|
module Linzer
|
6
4
|
module Ed25519
|
7
5
|
class Key < Linzer::Key
|
8
6
|
def sign(data)
|
9
|
-
material.sign(data)
|
7
|
+
material.sign(nil, data)
|
10
8
|
end
|
11
9
|
|
12
10
|
def verify(signature, data)
|
13
|
-
|
14
|
-
verify_key.verify(signature, data)
|
15
|
-
rescue ::Ed25519::VerifyError
|
16
|
-
false
|
11
|
+
material.verify(nil, signature, data)
|
17
12
|
end
|
18
13
|
end
|
19
14
|
end
|
data/lib/linzer/key/helper.rb
CHANGED
@@ -33,18 +33,17 @@ module Linzer
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def generate_ed25519_key(key_id = nil)
|
36
|
-
material = ::
|
36
|
+
material = OpenSSL::PKey.generate_key("ed25519")
|
37
37
|
Linzer::Ed25519::Key.new(material, id: key_id)
|
38
38
|
end
|
39
39
|
|
40
40
|
def new_ed25519_key(material, key_id = nil)
|
41
|
-
key = ::
|
41
|
+
key = OpenSSL::PKey.read(material)
|
42
42
|
Linzer::Ed25519::Key.new(key, id: key_id)
|
43
43
|
end
|
44
44
|
|
45
45
|
def new_ed25519_public_key(material, key_id = nil)
|
46
|
-
|
47
|
-
Linzer::Ed25519::Key.new(key, id: key_id)
|
46
|
+
new_ed25519_key(material, key_id)
|
48
47
|
end
|
49
48
|
|
50
49
|
# https://www.rfc-editor.org/rfc/rfc4492.html#appendix-A
|
data/lib/linzer/version.rb
CHANGED
data/lib/linzer.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: linzer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Landaeta
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-12-
|
11
|
+
date: 2024-12-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: openssl
|
@@ -30,26 +30,6 @@ dependencies:
|
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 3.0.0
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: ed25519
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - "~>"
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '1.3'
|
40
|
-
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 1.3.0
|
43
|
-
type: :runtime
|
44
|
-
prerelease: false
|
45
|
-
version_requirements: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - "~>"
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: '1.3'
|
50
|
-
- - ">="
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: 1.3.0
|
53
33
|
- !ruby/object:Gem::Dependency
|
54
34
|
name: starry
|
55
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -104,6 +84,26 @@ dependencies:
|
|
104
84
|
- - ">="
|
105
85
|
- !ruby/object:Gem::Version
|
106
86
|
version: 1.0.2
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
name: stringio
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - "~>"
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '3.1'
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 3.1.2
|
97
|
+
type: :runtime
|
98
|
+
prerelease: false
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.1'
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 3.1.2
|
107
107
|
description:
|
108
108
|
email:
|
109
109
|
- miguel@miguel.cc
|