tpm-key_attestation 0.14.0 → 0.14.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a92767d4ddd0efcb039e6c5453f77036bb03ff7bd47a0a0aedf831f12e2645c
4
- data.tar.gz: 287110f2d3c8e3945d4eced73103371d40e9d5ca3a00f50a99c209b0df1efa6a
3
+ metadata.gz: 7fa7aefd21dd649082cefcf8c18ec0f01830de039a2ba2100803d35f60da51f3
4
+ data.tar.gz: 340f1b7b3a814d8e27186888e2bb5d9aa4fb4ebabdece153abfa0d19179907d2
5
5
  SHA512:
6
- metadata.gz: e1c2d352b315b796655a0ede9c11383547a902c803f8815354f934090c5a3d683d32426f8fd537f1a76f6eb6784ea5688065bb6008da52e204bb0c6ac9dc5c9f
7
- data.tar.gz: 19d3dbb264e6720af1731296aed09549a080119f2af1ee5174ca5ae07c9102b8669ce597bd7df5b7932efbf0c7ac21272e6ed6a033ace8158e5d7d64a3b460fe
6
+ metadata.gz: 52f1320542265f9db4ec93cecd6c4855fd03cf3fadac21f2c628bb9e0e6ee2e80498e9c81a5c3631b645965085f550c11c10bc5f60fe09cfb8175215b193190e
7
+ data.tar.gz: 4e1065490a22e7d6335969750fac16e5644bfe120419f7feabba00e4d47bdd5d9a3e0fd38b751b430236bea0c8f11f2fb635e1e810ebf4cf3e6f06b883d28b75
@@ -0,0 +1,36 @@
1
+ name: Install OpenSSL
2
+ inputs:
3
+ version:
4
+ description: 'The version of OpenSSL to install'
5
+ required: true
6
+ os:
7
+ description: 'The operating system to install OpenSSL on'
8
+ required: true
9
+ runs:
10
+ using: 'composite'
11
+ steps:
12
+ - name: Cache OpenSSL library
13
+ id: cache-openssl
14
+ uses: actions/cache@v4
15
+ with:
16
+ path: ~/openssl
17
+ key: openssl-${{ inputs.version }}-${{ inputs.os }}
18
+
19
+ - name: Compile OpenSSL library
20
+ if: steps.cache-openssl.outputs.cache-hit != 'true'
21
+ shell: bash
22
+ run: |
23
+ mkdir -p tmp/build-openssl && cd tmp/build-openssl
24
+ case ${{ inputs.version }} in
25
+ 1.1.*)
26
+ OPENSSL_COMMIT=OpenSSL_
27
+ OPENSSL_COMMIT+=$(echo ${{ inputs.version }} | sed -e 's/\./_/g')
28
+ git clone -b $OPENSSL_COMMIT --depth 1 https://github.com/openssl/openssl.git .
29
+ echo "Git commit: $(git rev-parse HEAD)"
30
+ ./Configure --prefix=$HOME/openssl --libdir=lib linux-x86_64
31
+ make depend && make -j4 && make install_sw
32
+ ;;
33
+ *)
34
+ echo "Don't know how to build OpenSSL ${{ inputs.version }}"
35
+ ;;
36
+ esac
@@ -0,0 +1,68 @@
1
+ name: Install Ruby
2
+ inputs:
3
+ version:
4
+ description: 'The version of Ruby to install'
5
+ required: true
6
+ os:
7
+ description: 'The operating system to install Ruby on'
8
+ required: true
9
+ runs:
10
+ using: 'composite'
11
+ steps:
12
+ - name: Cache Ruby
13
+ id: ruby-cache
14
+ uses: actions/cache@v4
15
+ with:
16
+ path: ~/rubies/ruby-${{ inputs.version }}
17
+ key: ruby-${{ inputs.version }}-${{ inputs.os }}-openssl-1.1.1w
18
+
19
+ - name: Install Ruby
20
+ if: steps.ruby-cache.outputs.cache-hit != 'true'
21
+ shell: bash
22
+ run: |
23
+ latest_patch=$(curl -s https://cache.ruby-lang.org/pub/ruby/${{ inputs.version }}/ \
24
+ | grep -oP "ruby-${{ inputs.version }}\.\d+\.tar\.xz" \
25
+ | grep -oP "\d+(?=\.tar\.xz)" \
26
+ | sort -V | tail -n 1)
27
+
28
+ wget https://cache.ruby-lang.org/pub/ruby/${{ inputs.version }}/ruby-${{ inputs.version }}.${latest_patch}.tar.xz
29
+ tar -xJvf ruby-${{ inputs.version }}.${latest_patch}.tar.xz
30
+ cd ruby-${{ inputs.version }}.${latest_patch}
31
+ ./configure --prefix=$HOME/rubies/ruby-${{ inputs.version }} --with-openssl-dir=$HOME/openssl
32
+ make
33
+ make install
34
+
35
+ - name: Update PATH
36
+ shell: bash
37
+ run: |
38
+ echo "~/rubies/ruby-${{ inputs.version }}/bin" >> $GITHUB_PATH
39
+
40
+ - name: Install Bundler
41
+ shell: bash
42
+ run: |
43
+ case ${{ inputs.version }} in
44
+ 2.7* | 3.*)
45
+ echo "Skipping Bundler installation for Ruby ${{ inputs.version }}"
46
+ ;;
47
+ 2.5* | 2.6*)
48
+ gem install bundler -v '~> 2.3.0'
49
+ ;;
50
+ *)
51
+ echo "Don't know how to install Bundler for Ruby ${{ inputs.version }}"
52
+ ;;
53
+ esac
54
+
55
+ - name: Cache Bundler Install
56
+ id: bundler-cache
57
+ uses: actions/cache@v4
58
+ env:
59
+ GEMFILE: ${{ env.BUNDLE_GEMFILE || 'Gemfile' }}
60
+ with:
61
+ path: ./vendor/bundle
62
+ key: bundler-ruby-${{ inputs.version }}-${{ inputs.os }}-${{ hashFiles(env.Gemfile, 'tpm-key_attestation.gemspec') }}
63
+
64
+ - name: Install dependencies
65
+ shell: bash
66
+ run: |
67
+ bundle config set --local path ../vendor/bundle
68
+ bundle install
@@ -7,23 +7,36 @@
7
7
 
8
8
  name: build
9
9
 
10
- on:
11
- push:
12
- branches: [master]
13
- pull_request:
14
- types: [opened, synchronize]
10
+ on: push
15
11
 
16
12
  jobs:
13
+ lint:
14
+ runs-on: ubuntu-latest
15
+
16
+ steps:
17
+ - name: Check out repository code
18
+ uses: actions/checkout@v4
19
+
20
+ - name: Set up Ruby
21
+ uses: ruby/setup-ruby@v1
22
+ with:
23
+ ruby-version: '3.4'
24
+ bundler-cache: true
25
+
26
+ - name: Lint code for consistent style
27
+ run: bundle exec rubocop -f github
17
28
  test:
18
29
  runs-on: ${{ matrix.os }}
19
30
  strategy:
20
31
  fail-fast: false
21
32
  matrix:
22
33
  os:
23
- - ubuntu-20.04
34
+ - ubuntu-24.04
24
35
  - windows-latest
25
- - macos-13
36
+ - macos-15
26
37
  ruby:
38
+ - '4.0'
39
+ - '3.4'
27
40
  - '3.3'
28
41
  - '3.2'
29
42
  - '3.1'
@@ -38,7 +51,12 @@ jobs:
38
51
  - openssl_3_0
39
52
  - openssl_3_1
40
53
  - openssl_3_2
54
+ - openssl_3_3
41
55
  exclude:
56
+ - ruby: '2.4'
57
+ os: macos-15
58
+ - ruby: '2.5'
59
+ os: macos-15
42
60
  - ruby: '2.4'
43
61
  gemfile: openssl_3_0
44
62
  - ruby: '2.5'
@@ -53,43 +71,105 @@ jobs:
53
71
  gemfile: openssl_3_2
54
72
  - ruby: '2.6'
55
73
  gemfile: openssl_3_2
74
+ - ruby: '2.4'
75
+ gemfile: openssl_3_3
76
+ - ruby: '2.5'
77
+ gemfile: openssl_3_3
78
+ - ruby: '2.6'
79
+ gemfile: openssl_3_3
56
80
  - ruby: '3.1'
57
81
  gemfile: openssl_2_2
58
- os: macos-13
82
+ os: macos-15
59
83
  - ruby: '3.1'
60
84
  gemfile: openssl_2_1
61
- os: macos-13
85
+ os: macos-15
62
86
  - ruby: '3.2'
63
87
  gemfile: openssl_2_2
64
- os: macos-13
88
+ os: macos-15
65
89
  - ruby: '3.2'
66
90
  gemfile: openssl_2_1
67
- os: macos-13
91
+ os: macos-15
68
92
  - ruby: '3.2'
69
93
  gemfile: openssl_2_2
70
94
  os: windows-latest
71
95
  - ruby: '3.2'
72
96
  gemfile: openssl_2_1
73
97
  os: windows-latest
98
+ - ruby: '3.2'
99
+ gemfile: openssl_3_0
100
+ os: windows-latest
74
101
  - ruby: '3.3'
75
102
  gemfile: openssl_2_2
76
- os: macos-13
103
+ os: macos-15
77
104
  - ruby: '3.3'
78
105
  gemfile: openssl_2_1
79
- os: macos-13
106
+ os: macos-15
80
107
  - ruby: '3.3'
81
108
  gemfile: openssl_2_2
82
109
  os: windows-latest
83
110
  - ruby: '3.3'
84
111
  gemfile: openssl_2_1
85
112
  os: windows-latest
113
+ - ruby: '3.3'
114
+ gemfile: openssl_3_0
115
+ os: windows-latest
116
+ - ruby: '3.4'
117
+ gemfile: openssl_2_2
118
+ os: macos-15
119
+ - ruby: '3.4'
120
+ gemfile: openssl_2_1
121
+ os: macos-15
122
+ - ruby: '3.4'
123
+ gemfile: openssl_2_2
124
+ os: windows-latest
125
+ - ruby: '3.4'
126
+ gemfile: openssl_2_1
127
+ os: windows-latest
128
+ - ruby: '3.4'
129
+ gemfile: openssl_3_0
130
+ os: windows-latest
131
+ - ruby: '4.0'
132
+ gemfile: openssl_2_2
133
+ os: macos-15
134
+ - ruby: '4.0'
135
+ gemfile: openssl_2_1
136
+ os: macos-15
137
+ - ruby: '4.0'
138
+ gemfile: openssl_2_2
139
+ os: windows-latest
140
+ - ruby: '4.0'
141
+ gemfile: openssl_2_1
142
+ os: windows-latest
143
+ - ruby: '4.0'
144
+ gemfile: openssl_3_0
145
+ os: windows-latest
146
+ - ruby: '2.4'
147
+ os: ubuntu-24.04
86
148
  env:
87
149
  BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
88
150
  steps:
89
151
  - uses: actions/checkout@v4
152
+
90
153
  - run: rm Gemfile.lock
154
+
155
+ - name: Install OpenSSL
156
+ if: matrix.os == 'ubuntu-24.04'
157
+ uses: ./.github/actions/install-openssl
158
+ with:
159
+ version: "1.1.1w"
160
+ os: ${{ matrix.os }}
161
+
91
162
  - uses: ruby/setup-ruby@v1
163
+ if: matrix.os != 'ubuntu-24.04'
92
164
  with:
93
165
  ruby-version: ${{ matrix.ruby }}
94
166
  bundler-cache: true
95
- - run: bundle exec rake
167
+
168
+ - name: Manually set up Ruby
169
+ if: matrix.os == 'ubuntu-24.04'
170
+ uses: ./.github/actions/install-ruby
171
+ with:
172
+ version: ${{ matrix.ruby }}
173
+ os: ${{ matrix.os }}
174
+
175
+ - run: bundle exec rspec
@@ -0,0 +1,32 @@
1
+ name: Release
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ # TEMPORARY: re-trigger the v0.14.2 publish, whose `release` event is pinned to
7
+ # a stale commit. Revert this branch once the gem is on RubyGems.
8
+ push:
9
+ branches: [sr--retrigger-release]
10
+
11
+ jobs:
12
+ release:
13
+ name: Publish to Rubygems
14
+
15
+ runs-on: ubuntu-latest
16
+
17
+ environment: release
18
+
19
+ permissions:
20
+ contents: write
21
+ id-token: write
22
+
23
+ steps:
24
+ - uses: actions/checkout@v7
25
+
26
+ - name: Setup Ruby
27
+ uses: ruby/setup-ruby@v1
28
+ with:
29
+ bundler-cache: true
30
+
31
+ - name: Publish to RubyGems
32
+ uses: rubygems/release-gem@v1
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 4.0.6
data/Appraisals CHANGED
@@ -19,3 +19,7 @@ end
19
19
  appraise "openssl_3_2" do
20
20
  gem "openssl", "~> 3.2.0"
21
21
  end
22
+
23
+ appraise "openssl_3_3" do
24
+ gem "openssl", "~> 3.3.0"
25
+ end
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [v0.14.2] - 2026-07-24
4
+
5
+ ### Fixed
6
+
7
+ - `TPMS_ECC_PARMS` parsing for non-NULL ECC schemes. [#60](https://github.com/cedarcode/tpm-key_attestation/pull/60) [@MayzrBot](https://github.com/MayzrBot)
8
+
9
+ ## [v0.14.1] - 2025-05-23
10
+
11
+ ### Fixed
12
+
13
+ - Support for OpenSSL 3.5+ `OID` values returned from the extensions created by `OpenSSL::X509::ExtensionFactory`. [@nicolastemciuc]
14
+
3
15
  ## [v0.14.0] - 2025-02-06
4
16
 
5
17
  - Handle incompatibility between `parameters` and `unique` in `TPublic`. [@nicolastemciuc], [@santiagorodriguez96]
@@ -93,6 +105,9 @@ replacement of `JOSE` format `algorithm` string
93
105
  - `TPM::EKCertificate` wrapper
94
106
  - `TPM::SAttest` wrapper
95
107
 
108
+ [v0.14.2]: https://github.com/cedarcode/tpm-key_attestation/compare/v0.14.1...v0.14.2/
109
+ [v0.14.1]: https://github.com/cedarcode/tpm-key_attestation/compare/v0.14.0...v0.14.1/
110
+ [v0.14.0]: https://github.com/cedarcode/tpm-key_attestation/compare/v0.13.1...v0.14.0/
96
111
  [v0.13.1]: https://github.com/cedarcode/tpm-key_attestation/compare/v0.13.0...v0.13.1/
97
112
  [v0.13.0]: https://github.com/cedarcode/tpm-key_attestation/compare/v0.12.1...v0.13.0/
98
113
  [v0.12.0]: https://github.com/cedarcode/tpm-key_attestation/compare/v0.11.0...v0.12.0/
data/Gemfile CHANGED
@@ -9,4 +9,4 @@ gem "appraisal", "~> 2.5.0"
9
9
  gem "byebug", "~> 11.0"
10
10
  gem "rake", "~> 13.0"
11
11
  gem "rspec", "~> 3.0"
12
- gem "rubocop", "~> 0.80.1"
12
+ gem "rubocop", "~> 1"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tpm-key_attestation (0.14.0)
4
+ tpm-key_attestation (0.14.2)
5
5
  bindata (~> 2.4)
6
6
  openssl (> 2.0)
7
7
  openssl-signature_algorithm (~> 1.0)
@@ -17,18 +17,20 @@ GEM
17
17
  bindata (2.5.0)
18
18
  byebug (11.1.3)
19
19
  diff-lcs (1.5.1)
20
- jaro_winkler (1.5.6)
21
- openssl (3.2.0)
20
+ json (2.10.1)
21
+ language_server-protocol (3.17.0.4)
22
+ lint_roller (1.1.0)
23
+ openssl (4.0.2)
22
24
  openssl-signature_algorithm (1.3.0)
23
25
  openssl (> 2.0)
24
26
  parallel (1.26.3)
25
- parser (3.3.6.0)
27
+ parser (3.3.7.1)
26
28
  ast (~> 2.4.1)
27
29
  racc
28
30
  racc (1.8.1)
29
31
  rainbow (3.1.1)
30
32
  rake (13.2.1)
31
- rexml (3.3.9)
33
+ regexp_parser (2.10.0)
32
34
  rspec (3.13.0)
33
35
  rspec-core (~> 3.13.0)
34
36
  rspec-expectations (~> 3.13.0)
@@ -42,17 +44,24 @@ GEM
42
44
  diff-lcs (>= 1.2.0, < 2.0)
43
45
  rspec-support (~> 3.13.0)
44
46
  rspec-support (3.13.2)
45
- rubocop (0.80.1)
46
- jaro_winkler (~> 1.5.1)
47
+ rubocop (1.72.2)
48
+ json (~> 2.3)
49
+ language_server-protocol (~> 3.17.0.2)
50
+ lint_roller (~> 1.1.0)
47
51
  parallel (~> 1.10)
48
- parser (>= 2.7.0.1)
52
+ parser (>= 3.3.0.2)
49
53
  rainbow (>= 2.2.2, < 4.0)
50
- rexml
54
+ regexp_parser (>= 2.9.3, < 3.0)
55
+ rubocop-ast (>= 1.38.0, < 2.0)
51
56
  ruby-progressbar (~> 1.7)
52
- unicode-display_width (>= 1.4.0, < 1.7)
57
+ unicode-display_width (>= 2.4.0, < 4.0)
58
+ rubocop-ast (1.38.0)
59
+ parser (>= 3.3.1.0)
53
60
  ruby-progressbar (1.13.0)
54
61
  thor (1.3.2)
55
- unicode-display_width (1.6.1)
62
+ unicode-display_width (3.1.4)
63
+ unicode-emoji (~> 4.0, >= 4.0.4)
64
+ unicode-emoji (4.2.0)
56
65
 
57
66
  PLATFORMS
58
67
  ruby
@@ -62,7 +71,7 @@ DEPENDENCIES
62
71
  byebug (~> 11.0)
63
72
  rake (~> 13.0)
64
73
  rspec (~> 3.0)
65
- rubocop (~> 0.80.1)
74
+ rubocop (~> 1)
66
75
  tpm-key_attestation!
67
76
 
68
77
  BUNDLED WITH
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # tpm-key_attestation
2
2
 
3
- TPM Key Attestation utitlies
3
+ TPM Key Attestation utilities
4
4
 
5
5
  [![Gem](https://img.shields.io/gem/v/tpm-key_attestation.svg?style=flat-square&color=informational)](https://rubygems.org/gems/tpm-key_attestation)
6
6
  [![Actions Build](https://github.com/cedarcode/tpm-key_attestation/workflows/build/badge.svg)](https://github.com/cedarcode/tpm-key_attestation/actions)
@@ -6,7 +6,7 @@ gem "appraisal", "~> 2.5.0"
6
6
  gem "byebug", "~> 11.0"
7
7
  gem "rake", "~> 13.0"
8
8
  gem "rspec", "~> 3.0"
9
- gem "rubocop", "~> 0.80.1"
9
+ gem "rubocop", "~> 1"
10
10
  gem "openssl", "~> 2.1.0"
11
11
 
12
12
  gemspec path: "../"
@@ -6,7 +6,7 @@ gem "appraisal", "~> 2.5.0"
6
6
  gem "byebug", "~> 11.0"
7
7
  gem "rake", "~> 13.0"
8
8
  gem "rspec", "~> 3.0"
9
- gem "rubocop", "~> 0.80.1"
9
+ gem "rubocop", "~> 1"
10
10
  gem "openssl", "~> 2.2.0"
11
11
 
12
12
  gemspec path: "../"
@@ -6,7 +6,7 @@ gem "appraisal", "~> 2.5.0"
6
6
  gem "byebug", "~> 11.0"
7
7
  gem "rake", "~> 13.0"
8
8
  gem "rspec", "~> 3.0"
9
- gem "rubocop", "~> 0.80.1"
9
+ gem "rubocop", "~> 1"
10
10
  gem "openssl", "~> 3.0.0"
11
11
 
12
12
  gemspec path: "../"
@@ -6,7 +6,7 @@ gem "appraisal", "~> 2.5.0"
6
6
  gem "byebug", "~> 11.0"
7
7
  gem "rake", "~> 13.0"
8
8
  gem "rspec", "~> 3.0"
9
- gem "rubocop", "~> 0.80.1"
9
+ gem "rubocop", "~> 1"
10
10
  gem "openssl", "~> 3.1.0"
11
11
 
12
12
  gemspec path: "../"
@@ -6,7 +6,7 @@ gem "appraisal", "~> 2.5.0"
6
6
  gem "byebug", "~> 11.0"
7
7
  gem "rake", "~> 13.0"
8
8
  gem "rspec", "~> 3.0"
9
- gem "rubocop", "~> 0.80.1"
9
+ gem "rubocop", "~> 1"
10
10
  gem "openssl", "~> 3.2.0"
11
11
 
12
12
  gemspec path: "../"
@@ -0,0 +1,12 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "appraisal", "~> 2.5.0"
6
+ gem "byebug", "~> 11.0"
7
+ gem "rake", "~> 13.0"
8
+ gem "rspec", "~> 3.0"
9
+ gem "rubocop", "~> 1"
10
+ gem "openssl", "~> 3.3.0"
11
+
12
+ gemspec path: "../"
@@ -3,6 +3,7 @@
3
3
  require "delegate"
4
4
  require "openssl"
5
5
  require "tpm/constants"
6
+ require "tpm/openssl_helper"
6
7
 
7
8
  module TPM
8
9
  # Section 3.2 in https://www.trustedcomputinggroup.org/wp-content/uploads/Credential_Profile_EK_V2.0_R14_published.pdf
@@ -10,11 +11,19 @@ module TPM
10
11
  ASN_V3 = 2
11
12
  EMPTY_NAME = OpenSSL::X509::Name.new([]).freeze
12
13
  SAN_DIRECTORY_NAME = 4
13
- OID_TCG = "2.23.133"
14
- OID_TCG_AT_TPM_MANUFACTURER = "#{OID_TCG}.2.1"
15
- OID_TCG_AT_TPM_MODEL = "#{OID_TCG}.2.2"
16
- OID_TCG_AT_TPM_VERSION = "#{OID_TCG}.2.3"
17
- OID_TCG_KP_AIK_CERTIFICATE = "#{OID_TCG}.8.3"
14
+
15
+ if TPM::OpenSSLHelper.running_openssl_version_35_or_up?
16
+ OID_TCG_AT_TPM_MANUFACTURER = "tcg-at-tpmManufacturer"
17
+ OID_TCG_AT_TPM_MODEL = "tcg-at-tpmModel"
18
+ OID_TCG_AT_TPM_VERSION = "tcg-at-tpmVersion"
19
+ OID_TCG_KP_AIK_CERTIFICATE = "Attestation Identity Key Certificate"
20
+ else
21
+ OID_TCG = "2.23.133"
22
+ OID_TCG_AT_TPM_MANUFACTURER = "#{OID_TCG}.2.1"
23
+ OID_TCG_AT_TPM_MODEL = "#{OID_TCG}.2.2"
24
+ OID_TCG_AT_TPM_VERSION = "#{OID_TCG}.2.3"
25
+ OID_TCG_KP_AIK_CERTIFICATE = "#{OID_TCG}.8.3"
26
+ end
18
27
 
19
28
  def self.from_der(certificate_der)
20
29
  new(OpenSSL::X509::Certificate.new(certificate_der))
@@ -2,6 +2,6 @@
2
2
 
3
3
  module TPM
4
4
  class KeyAttestation
5
- VERSION = "0.14.0"
5
+ VERSION = "0.14.2"
6
6
  end
7
7
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TPM
4
+ module OpenSSLHelper
5
+ def self.running_openssl_version_35_or_up?
6
+ OpenSSL::OPENSSL_LIBRARY_VERSION.match(/\d+\.\d+\.\d+/).to_s >= "3.5.0"
7
+ end
8
+ end
9
+ end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "bindata"
4
+ require "tpm/constants"
4
5
 
5
6
  module TPM
6
7
  class TPublic < BinData::Record
@@ -10,6 +11,7 @@ module TPM
10
11
 
11
12
  uint16 :symmetric
12
13
  uint16 :scheme
14
+ uint16 :scheme_hash_alg, onlyif: -> { scheme != TPM::ALG_NULL }
13
15
  uint16 :curve_id
14
16
  uint16 :kdf
15
17
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tpm-key_attestation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.14.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gonzalo
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2025-02-06 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: bindata
@@ -52,16 +51,18 @@ dependencies:
52
51
  - - "~>"
53
52
  - !ruby/object:Gem::Version
54
53
  version: '1.0'
55
- description:
56
- email:
57
54
  executables: []
58
55
  extensions: []
59
56
  extra_rdoc_files: []
60
57
  files:
58
+ - ".github/actions/install-openssl/action.yml"
59
+ - ".github/actions/install-ruby/action.yml"
61
60
  - ".github/workflows/build.yml"
61
+ - ".github/workflows/release.yml"
62
62
  - ".gitignore"
63
63
  - ".rspec"
64
64
  - ".rubocop.yml"
65
+ - ".ruby-version"
65
66
  - Appraisals
66
67
  - CHANGELOG.md
67
68
  - Gemfile
@@ -77,6 +78,7 @@ files:
77
78
  - gemfiles/openssl_3_0.gemfile
78
79
  - gemfiles/openssl_3_1.gemfile
79
80
  - gemfiles/openssl_3_2.gemfile
81
+ - gemfiles/openssl_3_3.gemfile
80
82
  - lib/tpm/aik_certificate.rb
81
83
  - lib/tpm/certificates/AMD/RootCA/AMD-fTPM-ECC-RootCA.crt
82
84
  - lib/tpm/certificates/AMD/RootCA/AMD-fTPM-RSA-RootCA.crt
@@ -108,6 +110,7 @@ files:
108
110
  - lib/tpm/constants.rb
109
111
  - lib/tpm/key_attestation.rb
110
112
  - lib/tpm/key_attestation/version.rb
113
+ - lib/tpm/openssl_helper.rb
111
114
  - lib/tpm/public_area.rb
112
115
  - lib/tpm/s_attest.rb
113
116
  - lib/tpm/s_attest/s_certify_info.rb
@@ -126,7 +129,6 @@ metadata:
126
129
  homepage_uri: https://github.com/cedarcode/tpm-key_attestation
127
130
  source_code_uri: https://github.com/cedarcode/tpm-key_attestation
128
131
  changelog_uri: https://github.com/cedarcode/tpm-key_attestation/blob/master/CHANGELOG.md
129
- post_install_message:
130
132
  rdoc_options: []
131
133
  require_paths:
132
134
  - lib
@@ -141,8 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
143
  - !ruby/object:Gem::Version
142
144
  version: '0'
143
145
  requirements: []
144
- rubygems_version: 3.5.11
145
- signing_key:
146
+ rubygems_version: 4.0.16
146
147
  specification_version: 4
147
148
  summary: TPM Key Attestation verifier
148
149
  test_files: []