oydid 0.2.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.
Files changed (122) hide show
  1. checksums.yaml +7 -0
  2. data/AUTHORS +1 -0
  3. data/LICENSE +21 -0
  4. data/README.md +5 -0
  5. data/VERSION +1 -0
  6. data/lib/oydid/basic.rb +212 -0
  7. data/lib/oydid/log.rb +391 -0
  8. data/lib/oydid.rb +661 -0
  9. data/spec/input/basic/arrays.json +8 -0
  10. data/spec/input/basic/french.json +6 -0
  11. data/spec/input/basic/sample2_get_location.doc +1 -0
  12. data/spec/input/basic/sample2_retrieve_document.doc +1 -0
  13. data/spec/input/basic/sample3_retrieve_document.doc +1 -0
  14. data/spec/input/basic/sample4_retrieve_document.doc +1 -0
  15. data/spec/input/basic/sample5_retrieve_document.doc +1 -0
  16. data/spec/input/basic/sample_dec.doc +1 -0
  17. data/spec/input/basic/sample_enc.doc +1 -0
  18. data/spec/input/basic/sample_get_location.doc +1 -0
  19. data/spec/input/basic/sample_hash.doc +1 -0
  20. data/spec/input/basic/sample_invalid2_readkey.doc +1 -0
  21. data/spec/input/basic/sample_invalid2_verify.doc +1 -0
  22. data/spec/input/basic/sample_invalid3_readkey.doc +1 -0
  23. data/spec/input/basic/sample_invalid3_verify.doc +1 -0
  24. data/spec/input/basic/sample_invalid_privkey.doc +1 -0
  25. data/spec/input/basic/sample_invalid_readkey.doc +1 -0
  26. data/spec/input/basic/sample_invalid_sign.doc +1 -0
  27. data/spec/input/basic/sample_invalid_verify.doc +1 -0
  28. data/spec/input/basic/sample_key.doc +1 -0
  29. data/spec/input/basic/sample_readkey.doc +1 -0
  30. data/spec/input/basic/sample_retrieve_document.doc +1 -0
  31. data/spec/input/basic/sample_sign.doc +1 -0
  32. data/spec/input/basic/sample_valid_privkey.doc +1 -0
  33. data/spec/input/basic/sample_verify.doc +1 -0
  34. data/spec/input/basic/structures.json +8 -0
  35. data/spec/input/basic/unicode.json +3 -0
  36. data/spec/input/basic/values.json +5 -0
  37. data/spec/input/basic/wierd.json +11 -0
  38. data/spec/input/basic/zQmaBZTghn.doc +1 -0
  39. data/spec/input/log/sample0_dag2array.doc +1 -0
  40. data/spec/input/log/sample0_dag_did.doc +1 -0
  41. data/spec/input/log/sample1_dag_did.doc +1 -0
  42. data/spec/input/log/sample1_dag_update.doc +1 -0
  43. data/spec/input/log/sample2_dag_did.doc +1 -0
  44. data/spec/input/log/sample2_dag_update.doc +1 -0
  45. data/spec/input/log/sample2_retrieve_log.doc +1 -0
  46. data/spec/input/log/sample3_dag_did.doc +1 -0
  47. data/spec/input/log/sample3_dag_update.doc +1 -0
  48. data/spec/input/log/sample3_retrieve_log.doc +1 -0
  49. data/spec/input/log/sample4_dag_did.doc +1 -0
  50. data/spec/input/log/sample4_dag_update.doc +1 -0
  51. data/spec/input/log/sample4_retrieve_log.doc +1 -0
  52. data/spec/input/log/sample5_dag_update.doc +1 -0
  53. data/spec/input/log/sample5_retrieve_log.doc +1 -0
  54. data/spec/input/log/sample6_dag_update.doc +1 -0
  55. data/spec/input/log/sample6_retrieve_log.doc +1 -0
  56. data/spec/input/log/sample7_dag_update.doc +1 -0
  57. data/spec/input/log/sample7_retrieve_log.doc +1 -0
  58. data/spec/input/log/sample8_dag_update.doc +1 -0
  59. data/spec/input/log/sample_addhash.doc +1 -0
  60. data/spec/input/log/sample_dag_update.doc +1 -0
  61. data/spec/input/log/sample_match_log.doc +1 -0
  62. data/spec/input/log/sample_op1_addhash.doc +1 -0
  63. data/spec/input/log/sample_retrieve_log.doc +1 -0
  64. data/spec/input/main/sample0_read.doc +1 -0
  65. data/spec/output/basic/arrays.json +1 -0
  66. data/spec/output/basic/french.json +1 -0
  67. data/spec/output/basic/sample2_get_location.doc +1 -0
  68. data/spec/output/basic/sample2_retrieve_document.doc +1 -0
  69. data/spec/output/basic/sample3_retrieve_document.doc +1 -0
  70. data/spec/output/basic/sample4_retrieve_document.doc +1 -0
  71. data/spec/output/basic/sample5_retrieve_document.doc +1 -0
  72. data/spec/output/basic/sample_dec.doc +1 -0
  73. data/spec/output/basic/sample_enc.doc +1 -0
  74. data/spec/output/basic/sample_get_location.doc +1 -0
  75. data/spec/output/basic/sample_hash.doc +1 -0
  76. data/spec/output/basic/sample_invalid2_readkey.doc +1 -0
  77. data/spec/output/basic/sample_invalid2_verify.doc +1 -0
  78. data/spec/output/basic/sample_invalid3_readkey.doc +1 -0
  79. data/spec/output/basic/sample_invalid3_verify.doc +1 -0
  80. data/spec/output/basic/sample_invalid_privkey.doc +1 -0
  81. data/spec/output/basic/sample_invalid_readkey.doc +1 -0
  82. data/spec/output/basic/sample_invalid_sign.doc +1 -0
  83. data/spec/output/basic/sample_invalid_verify.doc +1 -0
  84. data/spec/output/basic/sample_key.doc +1 -0
  85. data/spec/output/basic/sample_readkey.doc +1 -0
  86. data/spec/output/basic/sample_retrieve_document.doc +1 -0
  87. data/spec/output/basic/sample_sign.doc +1 -0
  88. data/spec/output/basic/sample_valid_privkey.doc +1 -0
  89. data/spec/output/basic/sample_verify.doc +1 -0
  90. data/spec/output/basic/structures.json +1 -0
  91. data/spec/output/basic/unicode.json +1 -0
  92. data/spec/output/basic/values.json +1 -0
  93. data/spec/output/basic/wierd.json +1 -0
  94. data/spec/output/log/sample0_dag2array.doc +1 -0
  95. data/spec/output/log/sample0_dag_did.doc +1 -0
  96. data/spec/output/log/sample1_dag_did.doc +1 -0
  97. data/spec/output/log/sample1_dag_update.doc +1 -0
  98. data/spec/output/log/sample2_dag_did.doc +1 -0
  99. data/spec/output/log/sample2_dag_update.doc +1 -0
  100. data/spec/output/log/sample2_retrieve_log.doc +1 -0
  101. data/spec/output/log/sample3_dag_did.doc +1 -0
  102. data/spec/output/log/sample3_dag_update.doc +1 -0
  103. data/spec/output/log/sample3_retrieve_log.doc +1 -0
  104. data/spec/output/log/sample4_dag_did.doc +1 -0
  105. data/spec/output/log/sample4_dag_update.doc +1 -0
  106. data/spec/output/log/sample4_retrieve_log.doc +1 -0
  107. data/spec/output/log/sample5_dag_update.doc +1 -0
  108. data/spec/output/log/sample5_retrieve_log.doc +1 -0
  109. data/spec/output/log/sample6_dag_update.doc +1 -0
  110. data/spec/output/log/sample6_retrieve_log.doc +1 -0
  111. data/spec/output/log/sample7_dag_update.doc +1 -0
  112. data/spec/output/log/sample7_retrieve_log.doc +1 -0
  113. data/spec/output/log/sample8_dag_update.doc +1 -0
  114. data/spec/output/log/sample_addhash.doc +1 -0
  115. data/spec/output/log/sample_dag_update.doc +1 -0
  116. data/spec/output/log/sample_match_log.doc +1 -0
  117. data/spec/output/log/sample_op1_addhash.doc +1 -0
  118. data/spec/output/log/sample_retrieve_log.doc +1 -0
  119. data/spec/output/main/sample0_read.doc +1 -0
  120. data/spec/oydid_spec.rb +170 -0
  121. data/spec/spec_helper.rb +31 -0
  122. metadata +405 -0
@@ -0,0 +1,170 @@
1
+ require_relative 'spec_helper'
2
+
3
+ describe "OYDID handling" do
4
+ # basic functions
5
+ Dir.glob(File.expand_path("../input/basic/*_enc.doc", __FILE__)).each do |input|
6
+ it "encodes #{input.split('/').last}" do
7
+ expected = File.read(input.sub('input', 'output'))
8
+ data = File.read(input)
9
+ expect(Oydid.encode(data)).to eq expected
10
+ end
11
+ end
12
+ Dir.glob(File.expand_path("../input/basic/*_dec.doc", __FILE__)).each do |input|
13
+ it "decodes #{input.split('/').last}" do
14
+ expected = File.read(input.sub('input', 'output'))
15
+ data = File.read(input)
16
+ expect(Oydid.decode(data)).to eq expected
17
+ end
18
+ end
19
+ Dir.glob(File.expand_path("../input/basic/*_hash.doc", __FILE__)).each do |input|
20
+ it "hashes #{input.split('/').last}" do
21
+ expected = File.read(input.sub('input', 'output'))
22
+ data = File.read(input)
23
+ expect(Oydid.hash(data)).to eq expected
24
+ end
25
+ end
26
+ Dir.glob(File.expand_path("../input/basic/*.json", __FILE__)).each do |input|
27
+ it "converts #{input.split('/').last}" do
28
+ expected = File.read(input.sub('input', 'output'))
29
+ data = JSON.parse(File.read(input))
30
+ expect(Oydid.canonical(data)).to eq expected
31
+ end
32
+ end
33
+ it "converts strings" do
34
+ expected = "\"asdf\""
35
+ data = "asdf"
36
+ expect(Oydid.canonical(data)).to eq expected
37
+ end
38
+
39
+ # key management
40
+ Dir.glob(File.expand_path("../input/basic/*_key.doc", __FILE__)).each do |input|
41
+ it "generates #{input.split('/').last}" do
42
+ expected = File.read(input.sub('input', 'output'))
43
+ data = File.read(input)
44
+ expect(Oydid.generate_private_key(data).first).to eq expected
45
+ end
46
+ end
47
+ it "handles unknown key codec" do
48
+ expected = "unknown key codec"
49
+ expect(Oydid.generate_private_key("", "asdf").last).to eq expected
50
+ end
51
+ it "handles unsupported key codec" do
52
+ expected = "unsupported key codec"
53
+ expect(Oydid.generate_private_key("", "p256-pub").last).to eq expected
54
+ end
55
+ it "handles random key generation" do
56
+ expected_length = 48
57
+ expect(Oydid.generate_private_key("").first.length).to eq expected_length
58
+ end
59
+ Dir.glob(File.expand_path("../input/basic/*_privkey.doc", __FILE__)).each do |input|
60
+ it "public key from private key #{input.split('/').last}" do
61
+ expected = JSON.parse(File.read(input.sub('input', 'output')))
62
+ data = File.read(input)
63
+ expect(Oydid.public_key(data)).to eq expected
64
+ end
65
+ end
66
+ Dir.glob(File.expand_path("../input/basic/*_sign.doc", __FILE__)).each do |input|
67
+ it "signing #{input.split('/').last}" do
68
+ expected = JSON.parse(File.read(input.sub('input', 'output')))
69
+ data = JSON.parse(File.read(input))
70
+ expect(Oydid.sign(data["message"], data["key"])).to eq expected
71
+ end
72
+ end
73
+ Dir.glob(File.expand_path("../input/basic/*_verify.doc", __FILE__)).each do |input|
74
+ it "verifying #{input.split('/').last}" do
75
+ expected = JSON.parse(File.read(input.sub('input', 'output')))
76
+ data = JSON.parse(File.read(input))
77
+ expect(Oydid.verify(data["message"], data["signature"], data["public_key"])).to eq expected
78
+ end
79
+ end
80
+ Dir.glob(File.expand_path("../input/basic/*_readkey.doc", __FILE__)).each do |input|
81
+ it "reading private key from file #{input.split('/').last}" do
82
+ expected = JSON.parse(File.read(input.sub('input', 'output')))
83
+ data = File.read(input)
84
+ expect(Oydid.read_private_key(data)).to eq expected
85
+ end
86
+ end
87
+
88
+ # storage functions
89
+ it "should create 'filename' and put/read 'text'" do
90
+ @buffer = StringIO.new()
91
+ @filename = "filename"
92
+ @content = "text"
93
+ allow(File).to receive(:open).with(@filename,'w').and_yield( @buffer )
94
+ Oydid.write_private_storage(@content, @filename)
95
+ expect(@buffer.string).to eq(@content)
96
+ allow(File).to receive(:open).with(@filename, 'r').and_yield( StringIO.new(@content) )
97
+ expect(Oydid.read_private_storage(@filename)).to eq(@content)
98
+ end
99
+
100
+ # document functions
101
+ Dir.glob(File.expand_path("../input/basic/*_get_location.doc", __FILE__)).each do |input|
102
+ it "get location from #{input.split('/').last}" do
103
+ expected = File.read(input.sub('input', 'output'))
104
+ data = File.read(input)
105
+ expect(Oydid.get_location(data)).to eq expected
106
+ end
107
+ end
108
+ Dir.glob(File.expand_path("../input/basic/*_retrieve_document.doc", __FILE__)).each do |input|
109
+ it "get location from #{input.split('/').last}" do
110
+ expected = JSON.parse(File.read(input.sub('input', 'output')))
111
+ data = JSON.parse(File.read(input))
112
+ expect(Oydid.retrieve_document(data["doc_hash"], data["doc_file"], data["doc_location"], data["options"])).to eq expected
113
+ end
114
+ end
115
+
116
+ # log functions
117
+ Dir.glob(File.expand_path("../input/log/*_addhash.doc", __FILE__)).each do |input|
118
+ it "adding hash value to log entry #{input.split('/').last}" do
119
+ expected = JSON.parse(File.read(input.sub('input', 'output')))
120
+ data = JSON.parse(File.read(input))
121
+ expect(Oydid.add_hash(data)).to eq expected
122
+ end
123
+ end
124
+ Dir.glob(File.expand_path("../input/log/*_match_log.doc", __FILE__)).each do |input|
125
+ it "check log entry match #{input.split('/').last}" do
126
+ expected = JSON.parse(File.read(input.sub('input', 'output')))
127
+ data = JSON.parse(File.read(input))
128
+ expect(Oydid.match_log_did?(data, data["didoc"])).to eq expected
129
+ end
130
+ end
131
+ Dir.glob(File.expand_path("../input/log/*_retrieve_log.doc", __FILE__)).each do |input|
132
+ it "retrieve log #{input.split('/').last}" do
133
+ expected = JSON.parse(File.read(input.sub('input', 'output')))
134
+ data = JSON.parse(File.read(input))
135
+ expect(Oydid.retrieve_log(data["did_hash"], data["log_file"], data["log_location"], data["options"])).to eq expected
136
+ end
137
+ end
138
+ Dir.glob(File.expand_path("../input/log/*_dag_did.doc", __FILE__)).each do |input|
139
+ it "creates DAG from log #{input.split('/').last}" do
140
+ expected = JSON.parse(File.read(input.sub('input', 'output')))
141
+ data = JSON.parse(File.read(input))
142
+ expect(Oydid.dag_did(data["log"], data["options"]).last(3)).to eq expected
143
+ end
144
+ end
145
+ Dir.glob(File.expand_path("../input/log/*_dag2array.doc", __FILE__)).each do |input|
146
+ it "process dag2array for #{input.split('/').last}" do
147
+ expected = JSON.parse(File.read(input.sub('input', 'output')))
148
+ data = JSON.parse(File.read(input))
149
+ dag, create_index, terminate_index, msg = Oydid.dag_did(data["log"], data["options"])
150
+ expect(Oydid.dag2array(dag, data["log"], create_index, [], data["options"])).to eq expected
151
+ end
152
+ end
153
+ # Dir.glob(File.expand_path("../input/log/*_dag_update.doc", __FILE__)).each do |input|
154
+ # it "process DAG for #{input.split('/').last}" do
155
+ # expected = JSON.parse(File.read(input.sub('input', 'output')))
156
+ # data = JSON.parse(File.read(input))
157
+ # expect(Oydid.dag_update(data["currentDID"], data["options"])).to eq expected
158
+ # end
159
+ # end
160
+
161
+ # main functionds
162
+ Dir.glob(File.expand_path("../input/main/*_read.doc", __FILE__)).each do |input|
163
+ it "execute read for #{input.split('/').last}" do
164
+ expected = JSON.parse(File.read(input.sub('input', 'output')))
165
+ data = JSON.parse(File.read(input))
166
+ expect(Oydid.read(data["did"], data["options"])).to eq expected
167
+ end
168
+ end
169
+
170
+ end
@@ -0,0 +1,31 @@
1
+ $:.unshift(File.join("../lib", __FILE__))
2
+
3
+ require "bundler/setup"
4
+ require 'rspec'
5
+
6
+ begin
7
+ require 'simplecov'
8
+ require 'simplecov-lcov'
9
+
10
+ SimpleCov::Formatter::LcovFormatter.config do |config|
11
+ #Coveralls is coverage by default/lcov. Send info results
12
+ config.report_with_single_file = true
13
+ config.single_report_path = 'coverage/lcov.info'
14
+ end
15
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
16
+ SimpleCov::Formatter::HTMLFormatter,
17
+ SimpleCov::Formatter::LcovFormatter
18
+ ])
19
+
20
+ SimpleCov.start do
21
+ add_filter "/spec/"
22
+ end
23
+ rescue LoadError
24
+ end
25
+
26
+ require 'oydid'
27
+
28
+ ::RSpec.configure do |c|
29
+ c.filter_run focus: true
30
+ c.run_all_when_everything_filtered = true
31
+ end
metadata ADDED
@@ -0,0 +1,405 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: oydid
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Christoph Fabianek
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-03-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: dag
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.9
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.0.9
27
+ - !ruby/object:Gem::Dependency
28
+ name: rbnacl
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 7.1.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 7.1.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: ed25519
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 1.3.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 1.3.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: httparty
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.20.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.20.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: multibases
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.3.2
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.3.2
83
+ - !ruby/object:Gem::Dependency
84
+ name: multihashes
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.2.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.2.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: multicodecs
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.2.1
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.2.1
111
+ - !ruby/object:Gem::Dependency
112
+ name: json-canonicalization
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.2.1
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.2.1
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '3.10'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '3.10'
139
+ description: This gem provides the basic methods for managing did:oyd.
140
+ email:
141
+ executables: []
142
+ extensions: []
143
+ extra_rdoc_files: []
144
+ files:
145
+ - AUTHORS
146
+ - LICENSE
147
+ - README.md
148
+ - VERSION
149
+ - lib/oydid.rb
150
+ - lib/oydid/basic.rb
151
+ - lib/oydid/log.rb
152
+ - spec/input/basic/arrays.json
153
+ - spec/input/basic/french.json
154
+ - spec/input/basic/sample2_get_location.doc
155
+ - spec/input/basic/sample2_retrieve_document.doc
156
+ - spec/input/basic/sample3_retrieve_document.doc
157
+ - spec/input/basic/sample4_retrieve_document.doc
158
+ - spec/input/basic/sample5_retrieve_document.doc
159
+ - spec/input/basic/sample_dec.doc
160
+ - spec/input/basic/sample_enc.doc
161
+ - spec/input/basic/sample_get_location.doc
162
+ - spec/input/basic/sample_hash.doc
163
+ - spec/input/basic/sample_invalid2_readkey.doc
164
+ - spec/input/basic/sample_invalid2_verify.doc
165
+ - spec/input/basic/sample_invalid3_readkey.doc
166
+ - spec/input/basic/sample_invalid3_verify.doc
167
+ - spec/input/basic/sample_invalid_privkey.doc
168
+ - spec/input/basic/sample_invalid_readkey.doc
169
+ - spec/input/basic/sample_invalid_sign.doc
170
+ - spec/input/basic/sample_invalid_verify.doc
171
+ - spec/input/basic/sample_key.doc
172
+ - spec/input/basic/sample_readkey.doc
173
+ - spec/input/basic/sample_retrieve_document.doc
174
+ - spec/input/basic/sample_sign.doc
175
+ - spec/input/basic/sample_valid_privkey.doc
176
+ - spec/input/basic/sample_verify.doc
177
+ - spec/input/basic/structures.json
178
+ - spec/input/basic/unicode.json
179
+ - spec/input/basic/values.json
180
+ - spec/input/basic/wierd.json
181
+ - spec/input/basic/zQmaBZTghn.doc
182
+ - spec/input/log/sample0_dag2array.doc
183
+ - spec/input/log/sample0_dag_did.doc
184
+ - spec/input/log/sample1_dag_did.doc
185
+ - spec/input/log/sample1_dag_update.doc
186
+ - spec/input/log/sample2_dag_did.doc
187
+ - spec/input/log/sample2_dag_update.doc
188
+ - spec/input/log/sample2_retrieve_log.doc
189
+ - spec/input/log/sample3_dag_did.doc
190
+ - spec/input/log/sample3_dag_update.doc
191
+ - spec/input/log/sample3_retrieve_log.doc
192
+ - spec/input/log/sample4_dag_did.doc
193
+ - spec/input/log/sample4_dag_update.doc
194
+ - spec/input/log/sample4_retrieve_log.doc
195
+ - spec/input/log/sample5_dag_update.doc
196
+ - spec/input/log/sample5_retrieve_log.doc
197
+ - spec/input/log/sample6_dag_update.doc
198
+ - spec/input/log/sample6_retrieve_log.doc
199
+ - spec/input/log/sample7_dag_update.doc
200
+ - spec/input/log/sample7_retrieve_log.doc
201
+ - spec/input/log/sample8_dag_update.doc
202
+ - spec/input/log/sample_addhash.doc
203
+ - spec/input/log/sample_dag_update.doc
204
+ - spec/input/log/sample_match_log.doc
205
+ - spec/input/log/sample_op1_addhash.doc
206
+ - spec/input/log/sample_retrieve_log.doc
207
+ - spec/input/main/sample0_read.doc
208
+ - spec/output/basic/arrays.json
209
+ - spec/output/basic/french.json
210
+ - spec/output/basic/sample2_get_location.doc
211
+ - spec/output/basic/sample2_retrieve_document.doc
212
+ - spec/output/basic/sample3_retrieve_document.doc
213
+ - spec/output/basic/sample4_retrieve_document.doc
214
+ - spec/output/basic/sample5_retrieve_document.doc
215
+ - spec/output/basic/sample_dec.doc
216
+ - spec/output/basic/sample_enc.doc
217
+ - spec/output/basic/sample_get_location.doc
218
+ - spec/output/basic/sample_hash.doc
219
+ - spec/output/basic/sample_invalid2_readkey.doc
220
+ - spec/output/basic/sample_invalid2_verify.doc
221
+ - spec/output/basic/sample_invalid3_readkey.doc
222
+ - spec/output/basic/sample_invalid3_verify.doc
223
+ - spec/output/basic/sample_invalid_privkey.doc
224
+ - spec/output/basic/sample_invalid_readkey.doc
225
+ - spec/output/basic/sample_invalid_sign.doc
226
+ - spec/output/basic/sample_invalid_verify.doc
227
+ - spec/output/basic/sample_key.doc
228
+ - spec/output/basic/sample_readkey.doc
229
+ - spec/output/basic/sample_retrieve_document.doc
230
+ - spec/output/basic/sample_sign.doc
231
+ - spec/output/basic/sample_valid_privkey.doc
232
+ - spec/output/basic/sample_verify.doc
233
+ - spec/output/basic/structures.json
234
+ - spec/output/basic/unicode.json
235
+ - spec/output/basic/values.json
236
+ - spec/output/basic/wierd.json
237
+ - spec/output/log/sample0_dag2array.doc
238
+ - spec/output/log/sample0_dag_did.doc
239
+ - spec/output/log/sample1_dag_did.doc
240
+ - spec/output/log/sample1_dag_update.doc
241
+ - spec/output/log/sample2_dag_did.doc
242
+ - spec/output/log/sample2_dag_update.doc
243
+ - spec/output/log/sample2_retrieve_log.doc
244
+ - spec/output/log/sample3_dag_did.doc
245
+ - spec/output/log/sample3_dag_update.doc
246
+ - spec/output/log/sample3_retrieve_log.doc
247
+ - spec/output/log/sample4_dag_did.doc
248
+ - spec/output/log/sample4_dag_update.doc
249
+ - spec/output/log/sample4_retrieve_log.doc
250
+ - spec/output/log/sample5_dag_update.doc
251
+ - spec/output/log/sample5_retrieve_log.doc
252
+ - spec/output/log/sample6_dag_update.doc
253
+ - spec/output/log/sample6_retrieve_log.doc
254
+ - spec/output/log/sample7_dag_update.doc
255
+ - spec/output/log/sample7_retrieve_log.doc
256
+ - spec/output/log/sample8_dag_update.doc
257
+ - spec/output/log/sample_addhash.doc
258
+ - spec/output/log/sample_dag_update.doc
259
+ - spec/output/log/sample_match_log.doc
260
+ - spec/output/log/sample_op1_addhash.doc
261
+ - spec/output/log/sample_retrieve_log.doc
262
+ - spec/output/main/sample0_read.doc
263
+ - spec/oydid_spec.rb
264
+ - spec/spec_helper.rb
265
+ homepage: http://github.com/ownyourdata/oydid
266
+ licenses:
267
+ - MIT
268
+ metadata:
269
+ documentation_uri: https://ownyourdata.github.io/oydid
270
+ bug_tracker_uri: https://github.com/ownyourdata/oydid/issues
271
+ homepage_uri: http://github.com/ownyourdata/oydid
272
+ source_code_uri: http://github.com/ownyourdata/oydid/tree/main/ruby-gem
273
+ post_install_message:
274
+ rdoc_options: []
275
+ require_paths:
276
+ - lib
277
+ required_ruby_version: !ruby/object:Gem::Requirement
278
+ requirements:
279
+ - - ">="
280
+ - !ruby/object:Gem::Version
281
+ version: 2.5.7
282
+ required_rubygems_version: !ruby/object:Gem::Requirement
283
+ requirements:
284
+ - - ">="
285
+ - !ruby/object:Gem::Version
286
+ version: '0'
287
+ requirements: []
288
+ rubygems_version: 3.0.9
289
+ signing_key:
290
+ specification_version: 4
291
+ summary: Own Your Decentralized Identifier for Ruby.
292
+ test_files:
293
+ - spec/spec_helper.rb
294
+ - spec/oydid_spec.rb
295
+ - spec/input/basic/french.json
296
+ - spec/input/basic/arrays.json
297
+ - spec/input/basic/structures.json
298
+ - spec/input/basic/unicode.json
299
+ - spec/input/basic/wierd.json
300
+ - spec/input/basic/values.json
301
+ - spec/output/basic/french.json
302
+ - spec/output/basic/arrays.json
303
+ - spec/output/basic/structures.json
304
+ - spec/output/basic/unicode.json
305
+ - spec/output/basic/wierd.json
306
+ - spec/output/basic/values.json
307
+ - spec/input/basic/sample_retrieve_document.doc
308
+ - spec/input/basic/sample_get_location.doc
309
+ - spec/input/basic/sample_invalid2_verify.doc
310
+ - spec/input/basic/sample_valid_privkey.doc
311
+ - spec/input/basic/sample2_retrieve_document.doc
312
+ - spec/input/basic/zQmaBZTghn.doc
313
+ - spec/input/basic/sample4_retrieve_document.doc
314
+ - spec/input/basic/sample_invalid3_readkey.doc
315
+ - spec/input/basic/sample_sign.doc
316
+ - spec/input/basic/sample_invalid_privkey.doc
317
+ - spec/input/basic/sample_invalid3_verify.doc
318
+ - spec/input/basic/sample_readkey.doc
319
+ - spec/input/basic/sample_key.doc
320
+ - spec/input/basic/sample3_retrieve_document.doc
321
+ - spec/input/basic/sample_verify.doc
322
+ - spec/input/basic/sample5_retrieve_document.doc
323
+ - spec/input/basic/sample_dec.doc
324
+ - spec/input/basic/sample2_get_location.doc
325
+ - spec/input/basic/sample_invalid_readkey.doc
326
+ - spec/input/basic/sample_invalid2_readkey.doc
327
+ - spec/input/basic/sample_invalid_verify.doc
328
+ - spec/input/basic/sample_hash.doc
329
+ - spec/input/basic/sample_invalid_sign.doc
330
+ - spec/input/basic/sample_enc.doc
331
+ - spec/input/log/sample4_retrieve_log.doc
332
+ - spec/input/log/sample_op1_addhash.doc
333
+ - spec/input/log/sample0_dag_did.doc
334
+ - spec/input/log/sample5_retrieve_log.doc
335
+ - spec/input/log/sample_addhash.doc
336
+ - spec/input/log/sample3_dag_did.doc
337
+ - spec/input/log/sample0_dag2array.doc
338
+ - spec/input/log/sample_retrieve_log.doc
339
+ - spec/input/log/sample_dag_update.doc
340
+ - spec/input/log/sample1_dag_update.doc
341
+ - spec/input/log/sample6_retrieve_log.doc
342
+ - spec/input/log/sample1_dag_did.doc
343
+ - spec/input/log/sample6_dag_update.doc
344
+ - spec/input/log/sample4_dag_did.doc
345
+ - spec/input/log/sample2_retrieve_log.doc
346
+ - spec/input/log/sample7_dag_update.doc
347
+ - spec/input/log/sample8_dag_update.doc
348
+ - spec/input/log/sample2_dag_update.doc
349
+ - spec/input/log/sample5_dag_update.doc
350
+ - spec/input/log/sample_match_log.doc
351
+ - spec/input/log/sample7_retrieve_log.doc
352
+ - spec/input/log/sample4_dag_update.doc
353
+ - spec/input/log/sample3_retrieve_log.doc
354
+ - spec/input/log/sample2_dag_did.doc
355
+ - spec/input/log/sample3_dag_update.doc
356
+ - spec/input/main/sample0_read.doc
357
+ - spec/output/basic/sample_retrieve_document.doc
358
+ - spec/output/basic/sample_get_location.doc
359
+ - spec/output/basic/sample_invalid2_verify.doc
360
+ - spec/output/basic/sample_valid_privkey.doc
361
+ - spec/output/basic/sample2_retrieve_document.doc
362
+ - spec/output/basic/sample4_retrieve_document.doc
363
+ - spec/output/basic/sample_invalid3_readkey.doc
364
+ - spec/output/basic/sample_sign.doc
365
+ - spec/output/basic/sample_invalid_privkey.doc
366
+ - spec/output/basic/sample_invalid3_verify.doc
367
+ - spec/output/basic/sample_readkey.doc
368
+ - spec/output/basic/sample_key.doc
369
+ - spec/output/basic/sample3_retrieve_document.doc
370
+ - spec/output/basic/sample_verify.doc
371
+ - spec/output/basic/sample5_retrieve_document.doc
372
+ - spec/output/basic/sample_dec.doc
373
+ - spec/output/basic/sample2_get_location.doc
374
+ - spec/output/basic/sample_invalid_readkey.doc
375
+ - spec/output/basic/sample_invalid2_readkey.doc
376
+ - spec/output/basic/sample_invalid_verify.doc
377
+ - spec/output/basic/sample_hash.doc
378
+ - spec/output/basic/sample_invalid_sign.doc
379
+ - spec/output/basic/sample_enc.doc
380
+ - spec/output/log/sample4_retrieve_log.doc
381
+ - spec/output/log/sample_op1_addhash.doc
382
+ - spec/output/log/sample0_dag_did.doc
383
+ - spec/output/log/sample5_retrieve_log.doc
384
+ - spec/output/log/sample_addhash.doc
385
+ - spec/output/log/sample3_dag_did.doc
386
+ - spec/output/log/sample0_dag2array.doc
387
+ - spec/output/log/sample_retrieve_log.doc
388
+ - spec/output/log/sample_dag_update.doc
389
+ - spec/output/log/sample1_dag_update.doc
390
+ - spec/output/log/sample6_retrieve_log.doc
391
+ - spec/output/log/sample1_dag_did.doc
392
+ - spec/output/log/sample6_dag_update.doc
393
+ - spec/output/log/sample4_dag_did.doc
394
+ - spec/output/log/sample2_retrieve_log.doc
395
+ - spec/output/log/sample7_dag_update.doc
396
+ - spec/output/log/sample8_dag_update.doc
397
+ - spec/output/log/sample2_dag_update.doc
398
+ - spec/output/log/sample5_dag_update.doc
399
+ - spec/output/log/sample_match_log.doc
400
+ - spec/output/log/sample7_retrieve_log.doc
401
+ - spec/output/log/sample4_dag_update.doc
402
+ - spec/output/log/sample3_retrieve_log.doc
403
+ - spec/output/log/sample2_dag_did.doc
404
+ - spec/output/log/sample3_dag_update.doc
405
+ - spec/output/main/sample0_read.doc