truelayer-signing 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/README.md +12 -2
  4. data/examples/webhook-server/Gemfile +1 -0
  5. data/examples/webhook-server/Gemfile.lock +28 -3
  6. data/examples/webhook-server/main.rb +15 -14
  7. data/lib/truelayer-signing/verifier.rb +72 -20
  8. data/lib/truelayer-signing.rb +9 -1
  9. data/test/resources/missing-zero-padding-test-jwks.json +19 -0
  10. data/test/resources/missing-zero-padding-test-payload.json +22 -0
  11. data/test/resources/missing-zero-padding-test-signature.txt +1 -0
  12. data/test/test-truelayer-signing.rb +118 -6
  13. data/truelayer-signing.gemspec +2 -2
  14. metadata +9 -75
  15. data/doc/CHANGELOG_md.html +0 -132
  16. data/doc/JWT/Decode.html +0 -97
  17. data/doc/JWT/Encode.html +0 -97
  18. data/doc/JWT/JWK/EC.html +0 -169
  19. data/doc/JWT/JWK.html +0 -91
  20. data/doc/JWT.html +0 -95
  21. data/doc/LICENSE-APACHE.html +0 -177
  22. data/doc/LICENSE-MIT.html +0 -105
  23. data/doc/README_md.html +0 -197
  24. data/doc/Rakefile.html +0 -106
  25. data/doc/TrueLayerSigning/Config.html +0 -211
  26. data/doc/TrueLayerSigning/Error.html +0 -97
  27. data/doc/TrueLayerSigning/JwsBase.html +0 -317
  28. data/doc/TrueLayerSigning/JwsHeader.html +0 -268
  29. data/doc/TrueLayerSigning/Signer.html +0 -186
  30. data/doc/TrueLayerSigning/Verifier.html +0 -327
  31. data/doc/TrueLayerSigning.html +0 -226
  32. data/doc/TrueLayerSigningExamples.html +0 -217
  33. data/doc/created.rid +0 -21
  34. data/doc/css/fonts.css +0 -167
  35. data/doc/css/rdoc.css +0 -662
  36. data/doc/examples/sign-request/Gemfile.html +0 -99
  37. data/doc/examples/sign-request/Gemfile_lock.html +0 -143
  38. data/doc/examples/sign-request/README_md.html +0 -138
  39. data/doc/examples/webhook-server/Gemfile.html +0 -99
  40. data/doc/examples/webhook-server/Gemfile_lock.html +0 -142
  41. data/doc/examples/webhook-server/README_md.html +0 -139
  42. data/doc/fonts/Lato-Light.ttf +0 -0
  43. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  44. data/doc/fonts/Lato-Regular.ttf +0 -0
  45. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  46. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  47. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  48. data/doc/images/add.png +0 -0
  49. data/doc/images/arrow_up.png +0 -0
  50. data/doc/images/brick.png +0 -0
  51. data/doc/images/brick_link.png +0 -0
  52. data/doc/images/bug.png +0 -0
  53. data/doc/images/bullet_black.png +0 -0
  54. data/doc/images/bullet_toggle_minus.png +0 -0
  55. data/doc/images/bullet_toggle_plus.png +0 -0
  56. data/doc/images/date.png +0 -0
  57. data/doc/images/delete.png +0 -0
  58. data/doc/images/find.png +0 -0
  59. data/doc/images/loadingAnimation.gif +0 -0
  60. data/doc/images/macFFBgHack.png +0 -0
  61. data/doc/images/package.png +0 -0
  62. data/doc/images/page_green.png +0 -0
  63. data/doc/images/page_white_text.png +0 -0
  64. data/doc/images/page_white_width.png +0 -0
  65. data/doc/images/plugin.png +0 -0
  66. data/doc/images/ruby.png +0 -0
  67. data/doc/images/tag_blue.png +0 -0
  68. data/doc/images/tag_green.png +0 -0
  69. data/doc/images/transparent.png +0 -0
  70. data/doc/images/wrench.png +0 -0
  71. data/doc/images/wrench_orange.png +0 -0
  72. data/doc/images/zoom.png +0 -0
  73. data/doc/index.html +0 -118
  74. data/doc/js/darkfish.js +0 -84
  75. data/doc/js/navigation.js +0 -105
  76. data/doc/js/navigation.js.gz +0 -0
  77. data/doc/js/search.js +0 -110
  78. data/doc/js/search_index.js +0 -1
  79. data/doc/js/search_index.js.gz +0 -0
  80. data/doc/js/searcher.js +0 -229
  81. data/doc/js/searcher.js.gz +0 -0
  82. data/doc/table_of_contents.html +0 -269
  83. data/examples/sign-request/Gemfile.lock +0 -40
@@ -1,132 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>CHANGELOG - RDoc Documentation</title>
8
-
9
- <script type="text/javascript">
10
- var rdoc_rel_prefix = "./";
11
- var index_rel_prefix = "./";
12
- </script>
13
-
14
- <script src="./js/navigation.js" defer></script>
15
- <script src="./js/search.js" defer></script>
16
- <script src="./js/search_index.js" defer></script>
17
- <script src="./js/searcher.js" defer></script>
18
- <script src="./js/darkfish.js" defer></script>
19
-
20
- <link href="./css/fonts.css" rel="stylesheet">
21
- <link href="./css/rdoc.css" rel="stylesheet">
22
-
23
-
24
- <body id="top" role="document" class="file">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="./index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="./table_of_contents.html#pages">Pages</a>
34
- <a href="./table_of_contents.html#classes">Classes</a>
35
- <a href="./table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
-
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search" spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
47
-
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
53
-
54
- </div>
55
-
56
-
57
- <div class="nav-section">
58
- <h3>Table of Contents</h3>
59
-
60
-
61
-
62
- <ul class="link-list" role="directory">
63
- <li>
64
- <details open>
65
- <summary> <a href="#label-Changelog">Changelog</a>
66
- </summary>
67
- <ul class="link-list" role="directory">
68
- <li> <a href="#label-5BUnreleased-5D">[Unreleased]</a>
69
- <li> <a href="#label-5B0.1.0-5D+-E2-80-93+2023-01-09">[0.1.0] – 2023-01-09</a>
70
-
71
- </ul>
72
- </details>
73
- </li>
74
-
75
- </ul>
76
- </div>
77
-
78
-
79
- <div id="project-metadata">
80
-
81
- <div id="fileindex-section" class="nav-section">
82
- <h3>Pages</h3>
83
-
84
- <ul class="link-list">
85
- <li><a href="./CHANGELOG_md.html">CHANGELOG</a>
86
- <li><a href="./LICENSE-APACHE.html">LICENSE-APACHE</a>
87
- <li><a href="./LICENSE-MIT.html">LICENSE-MIT</a>
88
- <li><a href="./README_md.html">README</a>
89
- <li><a href="./Rakefile.html">Rakefile</a>
90
- <li><details><summary>examples</summary>
91
- <ul class="link-list">
92
- <li><a href="./examples/sign-request/Gemfile.html">Gemfile</a>
93
- <li><a href="./examples/sign-request/Gemfile_lock.html">Gemfile.lock</a>
94
- <li><a href="./examples/sign-request/README_md.html">README</a>
95
- <li><a href="./examples/webhook-server/Gemfile.html">Gemfile</a>
96
- <li><a href="./examples/webhook-server/Gemfile_lock.html">Gemfile.lock</a>
97
- <li><a href="./examples/webhook-server/README_md.html">README</a>
98
- </ul></details>
99
- </ul>
100
- </div>
101
-
102
- </div>
103
- </nav>
104
-
105
- <main role="main" aria-label="Page CHANGELOG.md">
106
-
107
- <h1 id="label-Changelog">Changelog<span><a href="#label-Changelog">&para;</a> <a href="#top">&uarr;</a></span></h1>
108
-
109
- <p>All notable changes to this project will be documented in this file.</p>
110
-
111
- <p>The format is based on <a href="https://keepachangelog.com/en/1.0.0/">Keep a Changelog</a>, and this project adheres to <a href="https://semver.org/spec/v2.0.0.html">Semantic Versioning</a>.</p>
112
-
113
- <h2 id="label-5BUnreleased-5D">[Unreleased]<span><a href="#label-5BUnreleased-5D">&para;</a> <a href="#top">&uarr;</a></span></h2>
114
- <ul><li>
115
- <p>…</p>
116
- </li></ul>
117
-
118
- <h2 id="label-5B0.1.0-5D+-E2-80-93+2023-01-09">[0.1.0] – 2023-01-09<span><a href="#label-5B0.1.0-5D+-E2-80-93+2023-01-09">&para;</a> <a href="#top">&uarr;</a></span></h2>
119
- <ul><li>
120
- <p>Add <code>TrueLayerSigning.sign_with_pem</code>, <code>TrueLayerSigning.verify_with_pem(pem)</code>, <code>TrueLayerSigning.verify_with_jwks(jwks)</code> and <code>TrueLayerSigning.extract_jws_header(signature)</code>.</p>
121
- </li></ul>
122
-
123
- </main>
124
-
125
-
126
-
127
- <footer id="validator-badges" role="contentinfo">
128
- <p><a href="https://validator.w3.org/check/referer">Validate</a>
129
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.5.0.
130
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
131
- </footer>
132
-
data/doc/JWT/Decode.html DELETED
@@ -1,97 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>class JWT::Decode - RDoc Documentation</title>
8
-
9
- <script type="text/javascript">
10
- var rdoc_rel_prefix = "../";
11
- var index_rel_prefix = "../";
12
- </script>
13
-
14
- <script src="../js/navigation.js" defer></script>
15
- <script src="../js/search.js" defer></script>
16
- <script src="../js/search_index.js" defer></script>
17
- <script src="../js/searcher.js" defer></script>
18
- <script src="../js/darkfish.js" defer></script>
19
-
20
- <link href="../css/fonts.css" rel="stylesheet">
21
- <link href="../css/rdoc.css" rel="stylesheet">
22
-
23
-
24
- <body id="top" role="document" class="class">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="../index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="../table_of_contents.html#pages">Pages</a>
34
- <a href="../table_of_contents.html#classes">Classes</a>
35
- <a href="../table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
-
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search" spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
47
-
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
53
-
54
- </div>
55
-
56
-
57
-
58
- <div id="class-metadata">
59
-
60
-
61
- <div id="parent-class-section" class="nav-section">
62
- <h3>Parent</h3>
63
-
64
- <p class="link">Object
65
- </div>
66
-
67
-
68
-
69
-
70
- </div>
71
- </nav>
72
-
73
- <main role="main" aria-labelledby="class-JWT::Decode">
74
- <h1 id="class-JWT::Decode" class="class">
75
- class JWT::Decode
76
- </h1>
77
-
78
- <section class="description">
79
-
80
- </section>
81
-
82
- <section id="5Buntitled-5D" class="documentation-section">
83
-
84
-
85
-
86
-
87
-
88
- </section>
89
- </main>
90
-
91
-
92
- <footer id="validator-badges" role="contentinfo">
93
- <p><a href="https://validator.w3.org/check/referer">Validate</a>
94
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.5.0.
95
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
96
- </footer>
97
-
data/doc/JWT/Encode.html DELETED
@@ -1,97 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>class JWT::Encode - RDoc Documentation</title>
8
-
9
- <script type="text/javascript">
10
- var rdoc_rel_prefix = "../";
11
- var index_rel_prefix = "../";
12
- </script>
13
-
14
- <script src="../js/navigation.js" defer></script>
15
- <script src="../js/search.js" defer></script>
16
- <script src="../js/search_index.js" defer></script>
17
- <script src="../js/searcher.js" defer></script>
18
- <script src="../js/darkfish.js" defer></script>
19
-
20
- <link href="../css/fonts.css" rel="stylesheet">
21
- <link href="../css/rdoc.css" rel="stylesheet">
22
-
23
-
24
- <body id="top" role="document" class="class">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="../index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="../table_of_contents.html#pages">Pages</a>
34
- <a href="../table_of_contents.html#classes">Classes</a>
35
- <a href="../table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
-
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search" spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
47
-
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
53
-
54
- </div>
55
-
56
-
57
-
58
- <div id="class-metadata">
59
-
60
-
61
- <div id="parent-class-section" class="nav-section">
62
- <h3>Parent</h3>
63
-
64
- <p class="link">Object
65
- </div>
66
-
67
-
68
-
69
-
70
- </div>
71
- </nav>
72
-
73
- <main role="main" aria-labelledby="class-JWT::Encode">
74
- <h1 id="class-JWT::Encode" class="class">
75
- class JWT::Encode
76
- </h1>
77
-
78
- <section class="description">
79
-
80
- </section>
81
-
82
- <section id="5Buntitled-5D" class="documentation-section">
83
-
84
-
85
-
86
-
87
-
88
- </section>
89
- </main>
90
-
91
-
92
- <footer id="validator-badges" role="contentinfo">
93
- <p><a href="https://validator.w3.org/check/referer">Validate</a>
94
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.5.0.
95
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
96
- </footer>
97
-
data/doc/JWT/JWK/EC.html DELETED
@@ -1,169 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>class JWT::JWK::EC - RDoc Documentation</title>
8
-
9
- <script type="text/javascript">
10
- var rdoc_rel_prefix = "../../";
11
- var index_rel_prefix = "../../";
12
- </script>
13
-
14
- <script src="../../js/navigation.js" defer></script>
15
- <script src="../../js/search.js" defer></script>
16
- <script src="../../js/search_index.js" defer></script>
17
- <script src="../../js/searcher.js" defer></script>
18
- <script src="../../js/darkfish.js" defer></script>
19
-
20
- <link href="../../css/fonts.css" rel="stylesheet">
21
- <link href="../../css/rdoc.css" rel="stylesheet">
22
-
23
-
24
- <body id="top" role="document" class="class">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="../../index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="../../table_of_contents.html#pages">Pages</a>
34
- <a href="../../table_of_contents.html#classes">Classes</a>
35
- <a href="../../table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
-
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search" spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
47
-
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
53
-
54
- </div>
55
-
56
-
57
-
58
- <div id="class-metadata">
59
-
60
-
61
- <div id="parent-class-section" class="nav-section">
62
- <h3>Parent</h3>
63
-
64
- <p class="link">KeyBase
65
- </div>
66
-
67
-
68
-
69
-
70
- <!-- Method Quickref -->
71
- <div id="method-list-section" class="nav-section">
72
- <h3>Methods</h3>
73
-
74
- <ul class="link-list" role="directory">
75
- <li ><a href="#method-i-create_ec_key">#create_ec_key</a>
76
- </ul>
77
- </div>
78
-
79
- </div>
80
- </nav>
81
-
82
- <main role="main" aria-labelledby="class-JWT::JWK::EC">
83
- <h1 id="class-JWT::JWK::EC" class="class">
84
- class JWT::JWK::EC
85
- </h1>
86
-
87
- <section class="description">
88
-
89
- </section>
90
-
91
- <section id="5Buntitled-5D" class="documentation-section">
92
-
93
-
94
-
95
-
96
-
97
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
98
- <header>
99
- <h3>Public Instance Methods</h3>
100
- </header>
101
-
102
- <div id="method-i-create_ec_key" class="method-detail ">
103
- <div class="method-header">
104
- <div class="method-heading">
105
- <span class="method-name">create_ec_key</span><span
106
- class="method-args">(jwk_crv, jwk_x, jwk_y, jwk_d)</span>
107
- <span class="method-click-advice">click to toggle source</span>
108
- </div>
109
- </div>
110
-
111
- <div class="method-description">
112
-
113
-
114
- <div class="method-source-code" id="create_ec_key-source">
115
- <pre><span class="ruby-comment"># File lib/truelayer-signing/jwt.rb, line 28</span>
116
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">create_ec_key</span>(<span class="ruby-identifier">jwk_crv</span>, <span class="ruby-identifier">jwk_x</span>, <span class="ruby-identifier">jwk_y</span>, <span class="ruby-identifier">jwk_d</span>)
117
- <span class="ruby-identifier">curve</span> = <span class="ruby-constant">EC</span>.<span class="ruby-identifier">to_openssl_curve</span>(<span class="ruby-identifier">jwk_crv</span>)
118
-
119
- <span class="ruby-identifier">x_octets</span> = <span class="ruby-identifier">decode_octets</span>(<span class="ruby-identifier">jwk_x</span>)
120
- <span class="ruby-identifier">y_octets</span> = <span class="ruby-identifier">decode_octets</span>(<span class="ruby-identifier">jwk_y</span>)
121
-
122
- <span class="ruby-identifier">point</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">EC</span><span class="ruby-operator">::</span><span class="ruby-constant">Point</span>.<span class="ruby-identifier">new</span>(
123
- <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">EC</span><span class="ruby-operator">::</span><span class="ruby-constant">Group</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">curve</span>),
124
- <span class="ruby-comment"># OpenSSL::BN.new([0x04, x_octets, y_octets].pack(&#39;Ca*a*&#39;), 2)</span>
125
- <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">BN</span>.<span class="ruby-identifier">new</span>([<span class="ruby-value">0x04</span>, <span class="ruby-identifier">x_octets</span>, <span class="ruby-identifier">y_octets</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-string">&#39;&#39;</span>), <span class="ruby-value">2</span>)
126
- )
127
-
128
- <span class="ruby-identifier">sequence</span> = <span class="ruby-keyword">if</span> <span class="ruby-identifier">jwk_d</span>
129
- <span class="ruby-comment"># https://datatracker.ietf.org/doc/html/rfc5915.html</span>
130
- <span class="ruby-comment"># ECPrivateKey ::= SEQUENCE {</span>
131
- <span class="ruby-comment"># version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),</span>
132
- <span class="ruby-comment"># privateKey OCTET STRING,</span>
133
- <span class="ruby-comment"># parameters [0] ECParameters {{ NamedCurve }} OPTIONAL,</span>
134
- <span class="ruby-comment"># publicKey [1] BIT STRING OPTIONAL</span>
135
- <span class="ruby-comment"># }</span>
136
-
137
- <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">ASN1</span><span class="ruby-operator">::</span><span class="ruby-constant">Sequence</span>([
138
- <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">ASN1</span><span class="ruby-operator">::</span><span class="ruby-constant">Integer</span>(<span class="ruby-value">1</span>),
139
- <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">ASN1</span><span class="ruby-operator">::</span><span class="ruby-constant">OctetString</span>(<span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">BN</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">decode_octets</span>(<span class="ruby-identifier">jwk_d</span>), <span class="ruby-value">2</span>).<span class="ruby-identifier">to_s</span>(<span class="ruby-value">2</span>)),
140
- <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">ASN1</span><span class="ruby-operator">::</span><span class="ruby-constant">ObjectId</span>(<span class="ruby-identifier">curve</span>, <span class="ruby-value">0</span>, <span class="ruby-value">:EXPLICIT</span>),
141
- <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">ASN1</span><span class="ruby-operator">::</span><span class="ruby-constant">BitString</span>(<span class="ruby-identifier">point</span>.<span class="ruby-identifier">to_octet_string</span>(<span class="ruby-value">:uncompressed</span>), <span class="ruby-value">1</span>, <span class="ruby-value">:EXPLICIT</span>)
142
- ])
143
- <span class="ruby-keyword">else</span>
144
- <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">ASN1</span><span class="ruby-operator">::</span><span class="ruby-constant">Sequence</span>([
145
- <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">ASN1</span><span class="ruby-operator">::</span><span class="ruby-constant">Sequence</span>([<span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">ASN1</span><span class="ruby-operator">::</span><span class="ruby-constant">ObjectId</span>(<span class="ruby-string">&#39;id-ecPublicKey&#39;</span>), <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">ASN1</span><span class="ruby-operator">::</span><span class="ruby-constant">ObjectId</span>(<span class="ruby-identifier">curve</span>)]),
146
- <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">ASN1</span><span class="ruby-operator">::</span><span class="ruby-constant">BitString</span>(<span class="ruby-identifier">point</span>.<span class="ruby-identifier">to_octet_string</span>(<span class="ruby-value">:uncompressed</span>))
147
- ])
148
- <span class="ruby-keyword">end</span>
149
-
150
- <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">PKey</span><span class="ruby-operator">::</span><span class="ruby-constant">EC</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">sequence</span>.<span class="ruby-identifier">to_der</span>)
151
- <span class="ruby-keyword">end</span></pre>
152
- </div>
153
- </div>
154
-
155
-
156
- </div>
157
-
158
- </section>
159
-
160
- </section>
161
- </main>
162
-
163
-
164
- <footer id="validator-badges" role="contentinfo">
165
- <p><a href="https://validator.w3.org/check/referer">Validate</a>
166
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.5.0.
167
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
168
- </footer>
169
-
data/doc/JWT/JWK.html DELETED
@@ -1,91 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta charset="UTF-8">
6
-
7
- <title>module JWT::JWK - RDoc Documentation</title>
8
-
9
- <script type="text/javascript">
10
- var rdoc_rel_prefix = "../";
11
- var index_rel_prefix = "../";
12
- </script>
13
-
14
- <script src="../js/navigation.js" defer></script>
15
- <script src="../js/search.js" defer></script>
16
- <script src="../js/search_index.js" defer></script>
17
- <script src="../js/searcher.js" defer></script>
18
- <script src="../js/darkfish.js" defer></script>
19
-
20
- <link href="../css/fonts.css" rel="stylesheet">
21
- <link href="../css/rdoc.css" rel="stylesheet">
22
-
23
-
24
- <body id="top" role="document" class="module">
25
- <nav role="navigation">
26
- <div id="project-navigation">
27
- <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
- <h2>
29
- <a href="../index.html" rel="home">Home</a>
30
- </h2>
31
-
32
- <div id="table-of-contents-navigation">
33
- <a href="../table_of_contents.html#pages">Pages</a>
34
- <a href="../table_of_contents.html#classes">Classes</a>
35
- <a href="../table_of_contents.html#methods">Methods</a>
36
- </div>
37
- </div>
38
-
39
- <div id="search-section" role="search" class="project-section initially-hidden">
40
- <form action="#" method="get" accept-charset="utf-8">
41
- <div id="search-field-wrapper">
42
- <input id="search-field" role="combobox" aria-label="Search"
43
- aria-autocomplete="list" aria-controls="search-results"
44
- type="text" name="search" placeholder="Search" spellcheck="false"
45
- title="Type to search, Up and Down to navigate, Enter to load">
46
- </div>
47
-
48
- <ul id="search-results" aria-label="Search Results"
49
- aria-busy="false" aria-expanded="false"
50
- aria-atomic="false" class="initially-hidden"></ul>
51
- </form>
52
- </div>
53
-
54
- </div>
55
-
56
-
57
-
58
- <div id="class-metadata">
59
-
60
-
61
-
62
-
63
-
64
- </div>
65
- </nav>
66
-
67
- <main role="main" aria-labelledby="module-JWT::JWK">
68
- <h1 id="module-JWT::JWK" class="module">
69
- module JWT::JWK
70
- </h1>
71
-
72
- <section class="description">
73
-
74
- </section>
75
-
76
- <section id="5Buntitled-5D" class="documentation-section">
77
-
78
-
79
-
80
-
81
-
82
- </section>
83
- </main>
84
-
85
-
86
- <footer id="validator-badges" role="contentinfo">
87
- <p><a href="https://validator.w3.org/check/referer">Validate</a>
88
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.5.0.
89
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
90
- </footer>
91
-