aws-sigv4 1.10.0 → 1.12.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0618892feafb12a38e21c6c50b932072a0760be0338f45672c29b8b541564774'
4
- data.tar.gz: 780fb4cb4956691909e2c830b1938902774d085f9335f7101347b3974917f61b
3
+ metadata.gz: 58318b8045877e5842f7c0793c856e30b6bba8425988a4929bca3aaaf64fcc06
4
+ data.tar.gz: c9de352d0dee1c35637e86d1d4a3a8817d3ee6a4c3595f8e86436cf216d0a35d
5
5
  SHA512:
6
- metadata.gz: 7c24541da4eea76873ffca584ee6b7fbbe8e57ff018f2e512e780bf4bc2ba5113bfce0312eec85ed61e246419a76000b6b54de629fc96ef252fe944b98175319
7
- data.tar.gz: bc84f7601827ffd7015a6f52bec0a141bc16445c47de5dec271eb35e183ff377ee0527e5692ae21c8573c18e81505cf30f00f1cec736bc2fbf89a288c59cc42a
6
+ metadata.gz: b22918d3e6a784f4198b9b3583b6ce34e492819ec401862333d29f7c456402fe10718f7e9f30479d5097b89b19d8030400647572ee7204b8729093b16290f3f2
7
+ data.tar.gz: c15f22f66888fa2bbe1822bd833c2bc87c216b3c082ba1961682e0dcd2f5c0f427c2126ffb04354a3ba2b47c5a3fb375ad2381be543021b089687f589a4565fd
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.12.1 (2025-06-10)
5
+ ------------------
6
+
7
+ * Issue - Only load required `cgi` modules for Ruby 3.5.
8
+
9
+ 1.12.0 (2025-06-02)
10
+ ------------------
11
+
12
+ * Feature - AWS SDK for Ruby no longer supports Ruby runtime versions 2.5 and 2.6.
13
+
14
+ 1.11.0 (2025-01-10)
15
+ ------------------
16
+
17
+ * Feature - Add RBS signature files to support static type checking
18
+
19
+ 1.10.1 (2024-10-21)
20
+ ------------------
21
+
22
+ * Issue - Fix sigv4a signing issue with derive_asymmetric_key for certain credentials.
23
+
4
24
  1.10.0 (2024-09-17)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.10.0
1
+ 1.12.1
@@ -11,8 +11,6 @@ module Aws
11
11
 
12
12
  N_MINUS_2 = 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551 - 2
13
13
 
14
- # @param [String] :access_key_id
15
- # @param [String] :secret_access_key
16
14
  # @return [OpenSSL::PKey::EC, Hash]
17
15
  def self.derive_asymmetric_key(access_key_id, secret_access_key)
18
16
  check_openssl_support!
@@ -60,6 +58,16 @@ module Aws
60
58
  x
61
59
  end
62
60
 
61
+ # @return [Array] value of the BigNumber as a big-endian unsigned byte array.
62
+ def self.bn_to_be_bytes(bn)
63
+ bytes = []
64
+ while bn > 0
65
+ bytes << (bn & 0xff)
66
+ bn = bn >> 8
67
+ end
68
+ bytes.reverse
69
+ end
70
+
63
71
  # Prior to openssl3 we could directly set public and private key on EC
64
72
  # However, openssl3 deprecated those methods and we must now construct
65
73
  # a der with the keys and load the EC from it.
@@ -67,7 +75,7 @@ module Aws
67
75
  # format reversed from: OpenSSL::ASN1.decode_all(OpenSSL::PKey::EC.new.to_der)
68
76
  asn1 = OpenSSL::ASN1::Sequence([
69
77
  OpenSSL::ASN1::Integer(OpenSSL::BN.new(1)),
70
- OpenSSL::ASN1::OctetString([d.to_s(16)].pack('H*')),
78
+ OpenSSL::ASN1::OctetString(bn_to_be_bytes(d).pack('C*')),
71
79
  OpenSSL::ASN1::ASN1Data.new([OpenSSL::ASN1::ObjectId("prime256v1")], 0, :CONTEXT_SPECIFIC),
72
80
  OpenSSL::ASN1::ASN1Data.new(
73
81
  [OpenSSL::ASN1::BitString(public_key.to_octet_string(:uncompressed))],
@@ -7,7 +7,7 @@ module Aws
7
7
  class Request
8
8
 
9
9
  # @option options [required, String] :http_method
10
- # @option options [required, HTTP::URI, HTTPS::URI, String] :endpoint
10
+ # @option options [required, String, URI::HTTP, URI::HTTPS] :endpoint
11
11
  # @option options [Hash<String,String>] :headers ({})
12
12
  # @option options [String, IO] :body ('')
13
13
  def initialize(options = {})
@@ -30,12 +30,12 @@ module Aws
30
30
  @http_method
31
31
  end
32
32
 
33
- # @param [String, HTTP::URI, HTTPS::URI] endpoint
33
+ # @param [String, URI::HTTP, URI::HTTPS] endpoint
34
34
  def endpoint=(endpoint)
35
35
  @endpoint = URI.parse(endpoint.to_s)
36
36
  end
37
37
 
38
- # @return [HTTP::URI, HTTPS::URI]
38
+ # @return [URI::HTTP, URI::HTTPS]
39
39
  def endpoint
40
40
  @endpoint
41
41
  end
@@ -5,7 +5,8 @@ require 'tempfile'
5
5
  require 'time'
6
6
  require 'uri'
7
7
  require 'set'
8
- require 'cgi'
8
+ require "cgi/escape"
9
+ require "cgi/util" if RUBY_VERSION < "3.5"
9
10
  require 'pathname'
10
11
  require 'aws-eventstream'
11
12
 
@@ -205,7 +206,7 @@ module Aws
205
206
  # @option request [required, String] :http_method One of
206
207
  # 'GET', 'HEAD', 'PUT', 'POST', 'PATCH', or 'DELETE'
207
208
  #
208
- # @option request [required, String, URI::HTTPS, URI::HTTP] :url
209
+ # @option request [required, String, URI::HTTP, URI::HTTPS] :url
209
210
  # The request URI. Must be a valid HTTP or HTTPS URI.
210
211
  #
211
212
  # @option request [optional, Hash] :headers ({}) A hash of headers
@@ -383,7 +384,7 @@ module Aws
383
384
  # @option options [required, String] :http_method The HTTP request method,
384
385
  # e.g. 'GET', 'HEAD', 'PUT', 'POST', 'PATCH', or 'DELETE'.
385
386
  #
386
- # @option options [required, String, HTTPS::URI, HTTP::URI] :url
387
+ # @option options [required, String, URI::HTTP, URI::HTTPS] :url
387
388
  # The URI to sign.
388
389
  #
389
390
  # @option options [Hash] :headers ({}) Headers that should
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sigv4
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.0
4
+ version: 1.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-09-17 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: aws-eventstream
@@ -32,7 +31,6 @@ dependencies:
32
31
  version: 1.0.2
33
32
  description: Amazon Web Services Signature Version 4 signing library. Generates sigv4
34
33
  signature for HTTP requests.
35
- email:
36
34
  executables: []
37
35
  extensions: []
38
36
  extra_rdoc_files: []
@@ -53,7 +51,6 @@ licenses:
53
51
  metadata:
54
52
  source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sigv4
55
53
  changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/version-3/gems/aws-sigv4/CHANGELOG.md
56
- post_install_message:
57
54
  rdoc_options: []
58
55
  require_paths:
59
56
  - lib
@@ -61,15 +58,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
61
58
  requirements:
62
59
  - - ">="
63
60
  - !ruby/object:Gem::Version
64
- version: '2.5'
61
+ version: '2.7'
65
62
  required_rubygems_version: !ruby/object:Gem::Requirement
66
63
  requirements:
67
64
  - - ">="
68
65
  - !ruby/object:Gem::Version
69
66
  version: '0'
70
67
  requirements: []
71
- rubygems_version: 3.4.10
72
- signing_key:
68
+ rubygems_version: 3.6.7
73
69
  specification_version: 4
74
70
  summary: AWS Signature Version 4 library.
75
71
  test_files: []