ppldid 1.0.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 (123) hide show
  1. checksums.yaml +7 -0
  2. data/AUTHORS +1 -0
  3. data/LICENSE +201 -0
  4. data/README.md +2 -0
  5. data/VERSION +1 -0
  6. data/lib/oydid/basic.rb +278 -0
  7. data/lib/oydid/didcomm.rb +120 -0
  8. data/lib/oydid/log.rb +394 -0
  9. data/lib/oydid.rb +738 -0
  10. data/spec/input/basic/arrays.json +8 -0
  11. data/spec/input/basic/french.json +6 -0
  12. data/spec/input/basic/sample2_get_location.doc +1 -0
  13. data/spec/input/basic/sample2_retrieve_document.doc +1 -0
  14. data/spec/input/basic/sample3_retrieve_document.doc +1 -0
  15. data/spec/input/basic/sample4_retrieve_document.doc +1 -0
  16. data/spec/input/basic/sample5_retrieve_document.doc +1 -0
  17. data/spec/input/basic/sample_dec.doc +1 -0
  18. data/spec/input/basic/sample_enc.doc +1 -0
  19. data/spec/input/basic/sample_get_location.doc +1 -0
  20. data/spec/input/basic/sample_hash.doc +1 -0
  21. data/spec/input/basic/sample_invalid2_readkey.doc +1 -0
  22. data/spec/input/basic/sample_invalid2_verify.doc +1 -0
  23. data/spec/input/basic/sample_invalid3_readkey.doc +1 -0
  24. data/spec/input/basic/sample_invalid3_verify.doc +1 -0
  25. data/spec/input/basic/sample_invalid_privkey.doc +1 -0
  26. data/spec/input/basic/sample_invalid_readkey.doc +1 -0
  27. data/spec/input/basic/sample_invalid_sign.doc +1 -0
  28. data/spec/input/basic/sample_invalid_verify.doc +1 -0
  29. data/spec/input/basic/sample_key.doc +1 -0
  30. data/spec/input/basic/sample_readkey.doc +1 -0
  31. data/spec/input/basic/sample_retrieve_document.doc +1 -0
  32. data/spec/input/basic/sample_sign.doc +1 -0
  33. data/spec/input/basic/sample_valid_privkey.doc +1 -0
  34. data/spec/input/basic/sample_verify.doc +1 -0
  35. data/spec/input/basic/structures.json +8 -0
  36. data/spec/input/basic/unicode.json +3 -0
  37. data/spec/input/basic/values.json +5 -0
  38. data/spec/input/basic/wierd.json +11 -0
  39. data/spec/input/basic/zQmaBZTghn.doc +1 -0
  40. data/spec/input/log/sample0_dag2array.doc +1 -0
  41. data/spec/input/log/sample0_dag_did.doc +1 -0
  42. data/spec/input/log/sample1_dag_did.doc +1 -0
  43. data/spec/input/log/sample1_dag_update.doc +1 -0
  44. data/spec/input/log/sample2_dag_did.doc +1 -0
  45. data/spec/input/log/sample2_dag_update.doc +1 -0
  46. data/spec/input/log/sample2_retrieve_log.doc +1 -0
  47. data/spec/input/log/sample3_dag_did.doc +1 -0
  48. data/spec/input/log/sample3_dag_update.doc +1 -0
  49. data/spec/input/log/sample3_retrieve_log.doc +1 -0
  50. data/spec/input/log/sample4_dag_did.doc +1 -0
  51. data/spec/input/log/sample4_dag_update.doc +1 -0
  52. data/spec/input/log/sample4_retrieve_log.doc +1 -0
  53. data/spec/input/log/sample5_dag_update.doc +1 -0
  54. data/spec/input/log/sample5_retrieve_log.doc +1 -0
  55. data/spec/input/log/sample6_dag_update.doc +1 -0
  56. data/spec/input/log/sample6_retrieve_log.doc +1 -0
  57. data/spec/input/log/sample7_dag_update.doc +1 -0
  58. data/spec/input/log/sample7_retrieve_log.doc +1 -0
  59. data/spec/input/log/sample8_dag_update.doc +1 -0
  60. data/spec/input/log/sample_addhash.doc +1 -0
  61. data/spec/input/log/sample_dag_update.doc +1 -0
  62. data/spec/input/log/sample_match_log.doc +1 -0
  63. data/spec/input/log/sample_op1_addhash.doc +1 -0
  64. data/spec/input/log/sample_retrieve_log.doc +1 -0
  65. data/spec/input/main/sample0_read.doc +1 -0
  66. data/spec/output/basic/arrays.json +1 -0
  67. data/spec/output/basic/french.json +1 -0
  68. data/spec/output/basic/sample2_get_location.doc +1 -0
  69. data/spec/output/basic/sample2_retrieve_document.doc +1 -0
  70. data/spec/output/basic/sample3_retrieve_document.doc +1 -0
  71. data/spec/output/basic/sample4_retrieve_document.doc +1 -0
  72. data/spec/output/basic/sample5_retrieve_document.doc +1 -0
  73. data/spec/output/basic/sample_dec.doc +1 -0
  74. data/spec/output/basic/sample_enc.doc +1 -0
  75. data/spec/output/basic/sample_get_location.doc +1 -0
  76. data/spec/output/basic/sample_hash.doc +1 -0
  77. data/spec/output/basic/sample_invalid2_readkey.doc +1 -0
  78. data/spec/output/basic/sample_invalid2_verify.doc +1 -0
  79. data/spec/output/basic/sample_invalid3_readkey.doc +1 -0
  80. data/spec/output/basic/sample_invalid3_verify.doc +1 -0
  81. data/spec/output/basic/sample_invalid_privkey.doc +1 -0
  82. data/spec/output/basic/sample_invalid_readkey.doc +1 -0
  83. data/spec/output/basic/sample_invalid_sign.doc +1 -0
  84. data/spec/output/basic/sample_invalid_verify.doc +1 -0
  85. data/spec/output/basic/sample_key.doc +1 -0
  86. data/spec/output/basic/sample_readkey.doc +1 -0
  87. data/spec/output/basic/sample_retrieve_document.doc +1 -0
  88. data/spec/output/basic/sample_sign.doc +1 -0
  89. data/spec/output/basic/sample_valid_privkey.doc +1 -0
  90. data/spec/output/basic/sample_verify.doc +1 -0
  91. data/spec/output/basic/structures.json +1 -0
  92. data/spec/output/basic/unicode.json +1 -0
  93. data/spec/output/basic/values.json +1 -0
  94. data/spec/output/basic/wierd.json +1 -0
  95. data/spec/output/log/sample0_dag2array.doc +1 -0
  96. data/spec/output/log/sample0_dag_did.doc +1 -0
  97. data/spec/output/log/sample1_dag_did.doc +1 -0
  98. data/spec/output/log/sample1_dag_update.doc +1 -0
  99. data/spec/output/log/sample2_dag_did.doc +1 -0
  100. data/spec/output/log/sample2_dag_update.doc +1 -0
  101. data/spec/output/log/sample2_retrieve_log.doc +1 -0
  102. data/spec/output/log/sample3_dag_did.doc +1 -0
  103. data/spec/output/log/sample3_dag_update.doc +1 -0
  104. data/spec/output/log/sample3_retrieve_log.doc +1 -0
  105. data/spec/output/log/sample4_dag_did.doc +1 -0
  106. data/spec/output/log/sample4_dag_update.doc +1 -0
  107. data/spec/output/log/sample4_retrieve_log.doc +1 -0
  108. data/spec/output/log/sample5_dag_update.doc +1 -0
  109. data/spec/output/log/sample5_retrieve_log.doc +1 -0
  110. data/spec/output/log/sample6_dag_update.doc +1 -0
  111. data/spec/output/log/sample6_retrieve_log.doc +1 -0
  112. data/spec/output/log/sample7_dag_update.doc +1 -0
  113. data/spec/output/log/sample7_retrieve_log.doc +1 -0
  114. data/spec/output/log/sample8_dag_update.doc +1 -0
  115. data/spec/output/log/sample_addhash.doc +1 -0
  116. data/spec/output/log/sample_dag_update.doc +1 -0
  117. data/spec/output/log/sample_match_log.doc +1 -0
  118. data/spec/output/log/sample_op1_addhash.doc +1 -0
  119. data/spec/output/log/sample_retrieve_log.doc +1 -0
  120. data/spec/output/main/sample0_read.doc +1 -0
  121. data/spec/oydid_spec.rb +170 -0
  122. data/spec/spec_helper.rb +31 -0
  123. metadata +420 -0
@@ -0,0 +1,170 @@
1
+ require_relative 'spec_helper'
2
+
3
+ describe "PPLDID 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 'ppldid'
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,420 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ppldid
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Jerry Zhang
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-09-08 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: jwt
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 2.4.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.4.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: rbnacl
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 7.1.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 7.1.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: ed25519
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 1.3.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 1.3.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: httparty
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.20.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.20.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: multibases
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.3.2
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.3.2
97
+ - !ruby/object:Gem::Dependency
98
+ name: multihashes
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.2.0
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.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: multicodecs
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: json-canonicalization
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 0.2.1
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.2.1
139
+ - !ruby/object:Gem::Dependency
140
+ name: rspec
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '3.10'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '3.10'
153
+ description: This gem provides the basic methods for managing did:ppld.
154
+ email:
155
+ executables: []
156
+ extensions: []
157
+ extra_rdoc_files: []
158
+ files:
159
+ - AUTHORS
160
+ - LICENSE
161
+ - README.md
162
+ - VERSION
163
+ - lib/oydid.rb
164
+ - lib/oydid/basic.rb
165
+ - lib/oydid/didcomm.rb
166
+ - lib/oydid/log.rb
167
+ - spec/input/basic/arrays.json
168
+ - spec/input/basic/french.json
169
+ - spec/input/basic/sample2_get_location.doc
170
+ - spec/input/basic/sample2_retrieve_document.doc
171
+ - spec/input/basic/sample3_retrieve_document.doc
172
+ - spec/input/basic/sample4_retrieve_document.doc
173
+ - spec/input/basic/sample5_retrieve_document.doc
174
+ - spec/input/basic/sample_dec.doc
175
+ - spec/input/basic/sample_enc.doc
176
+ - spec/input/basic/sample_get_location.doc
177
+ - spec/input/basic/sample_hash.doc
178
+ - spec/input/basic/sample_invalid2_readkey.doc
179
+ - spec/input/basic/sample_invalid2_verify.doc
180
+ - spec/input/basic/sample_invalid3_readkey.doc
181
+ - spec/input/basic/sample_invalid3_verify.doc
182
+ - spec/input/basic/sample_invalid_privkey.doc
183
+ - spec/input/basic/sample_invalid_readkey.doc
184
+ - spec/input/basic/sample_invalid_sign.doc
185
+ - spec/input/basic/sample_invalid_verify.doc
186
+ - spec/input/basic/sample_key.doc
187
+ - spec/input/basic/sample_readkey.doc
188
+ - spec/input/basic/sample_retrieve_document.doc
189
+ - spec/input/basic/sample_sign.doc
190
+ - spec/input/basic/sample_valid_privkey.doc
191
+ - spec/input/basic/sample_verify.doc
192
+ - spec/input/basic/structures.json
193
+ - spec/input/basic/unicode.json
194
+ - spec/input/basic/values.json
195
+ - spec/input/basic/wierd.json
196
+ - spec/input/basic/zQmaBZTghn.doc
197
+ - spec/input/log/sample0_dag2array.doc
198
+ - spec/input/log/sample0_dag_did.doc
199
+ - spec/input/log/sample1_dag_did.doc
200
+ - spec/input/log/sample1_dag_update.doc
201
+ - spec/input/log/sample2_dag_did.doc
202
+ - spec/input/log/sample2_dag_update.doc
203
+ - spec/input/log/sample2_retrieve_log.doc
204
+ - spec/input/log/sample3_dag_did.doc
205
+ - spec/input/log/sample3_dag_update.doc
206
+ - spec/input/log/sample3_retrieve_log.doc
207
+ - spec/input/log/sample4_dag_did.doc
208
+ - spec/input/log/sample4_dag_update.doc
209
+ - spec/input/log/sample4_retrieve_log.doc
210
+ - spec/input/log/sample5_dag_update.doc
211
+ - spec/input/log/sample5_retrieve_log.doc
212
+ - spec/input/log/sample6_dag_update.doc
213
+ - spec/input/log/sample6_retrieve_log.doc
214
+ - spec/input/log/sample7_dag_update.doc
215
+ - spec/input/log/sample7_retrieve_log.doc
216
+ - spec/input/log/sample8_dag_update.doc
217
+ - spec/input/log/sample_addhash.doc
218
+ - spec/input/log/sample_dag_update.doc
219
+ - spec/input/log/sample_match_log.doc
220
+ - spec/input/log/sample_op1_addhash.doc
221
+ - spec/input/log/sample_retrieve_log.doc
222
+ - spec/input/main/sample0_read.doc
223
+ - spec/output/basic/arrays.json
224
+ - spec/output/basic/french.json
225
+ - spec/output/basic/sample2_get_location.doc
226
+ - spec/output/basic/sample2_retrieve_document.doc
227
+ - spec/output/basic/sample3_retrieve_document.doc
228
+ - spec/output/basic/sample4_retrieve_document.doc
229
+ - spec/output/basic/sample5_retrieve_document.doc
230
+ - spec/output/basic/sample_dec.doc
231
+ - spec/output/basic/sample_enc.doc
232
+ - spec/output/basic/sample_get_location.doc
233
+ - spec/output/basic/sample_hash.doc
234
+ - spec/output/basic/sample_invalid2_readkey.doc
235
+ - spec/output/basic/sample_invalid2_verify.doc
236
+ - spec/output/basic/sample_invalid3_readkey.doc
237
+ - spec/output/basic/sample_invalid3_verify.doc
238
+ - spec/output/basic/sample_invalid_privkey.doc
239
+ - spec/output/basic/sample_invalid_readkey.doc
240
+ - spec/output/basic/sample_invalid_sign.doc
241
+ - spec/output/basic/sample_invalid_verify.doc
242
+ - spec/output/basic/sample_key.doc
243
+ - spec/output/basic/sample_readkey.doc
244
+ - spec/output/basic/sample_retrieve_document.doc
245
+ - spec/output/basic/sample_sign.doc
246
+ - spec/output/basic/sample_valid_privkey.doc
247
+ - spec/output/basic/sample_verify.doc
248
+ - spec/output/basic/structures.json
249
+ - spec/output/basic/unicode.json
250
+ - spec/output/basic/values.json
251
+ - spec/output/basic/wierd.json
252
+ - spec/output/log/sample0_dag2array.doc
253
+ - spec/output/log/sample0_dag_did.doc
254
+ - spec/output/log/sample1_dag_did.doc
255
+ - spec/output/log/sample1_dag_update.doc
256
+ - spec/output/log/sample2_dag_did.doc
257
+ - spec/output/log/sample2_dag_update.doc
258
+ - spec/output/log/sample2_retrieve_log.doc
259
+ - spec/output/log/sample3_dag_did.doc
260
+ - spec/output/log/sample3_dag_update.doc
261
+ - spec/output/log/sample3_retrieve_log.doc
262
+ - spec/output/log/sample4_dag_did.doc
263
+ - spec/output/log/sample4_dag_update.doc
264
+ - spec/output/log/sample4_retrieve_log.doc
265
+ - spec/output/log/sample5_dag_update.doc
266
+ - spec/output/log/sample5_retrieve_log.doc
267
+ - spec/output/log/sample6_dag_update.doc
268
+ - spec/output/log/sample6_retrieve_log.doc
269
+ - spec/output/log/sample7_dag_update.doc
270
+ - spec/output/log/sample7_retrieve_log.doc
271
+ - spec/output/log/sample8_dag_update.doc
272
+ - spec/output/log/sample_addhash.doc
273
+ - spec/output/log/sample_dag_update.doc
274
+ - spec/output/log/sample_match_log.doc
275
+ - spec/output/log/sample_op1_addhash.doc
276
+ - spec/output/log/sample_retrieve_log.doc
277
+ - spec/output/main/sample0_read.doc
278
+ - spec/oydid_spec.rb
279
+ - spec/spec_helper.rb
280
+ homepage: http://github.com/peopledata/ppldid
281
+ licenses:
282
+ - Apache
283
+ metadata:
284
+ documentation_uri: https://peopledata.github.io/ppldid
285
+ bug_tracker_uri: https://github.com/peopledata/ppldid/issues
286
+ homepage_uri: http://github.com/peopledata/ppldid
287
+ source_code_uri: http://github.com/peopledata/ppldid/tree/main/ruby-gem
288
+ post_install_message:
289
+ rdoc_options: []
290
+ require_paths:
291
+ - lib
292
+ required_ruby_version: !ruby/object:Gem::Requirement
293
+ requirements:
294
+ - - ">="
295
+ - !ruby/object:Gem::Version
296
+ version: 2.5.7
297
+ required_rubygems_version: !ruby/object:Gem::Requirement
298
+ requirements:
299
+ - - ">="
300
+ - !ruby/object:Gem::Version
301
+ version: '0'
302
+ requirements: []
303
+ rubygems_version: 3.1.2
304
+ signing_key:
305
+ specification_version: 4
306
+ summary: Decentralized IDentifier for People.
307
+ test_files:
308
+ - spec/spec_helper.rb
309
+ - spec/oydid_spec.rb
310
+ - spec/input/basic/unicode.json
311
+ - spec/input/basic/wierd.json
312
+ - spec/input/basic/values.json
313
+ - spec/input/basic/arrays.json
314
+ - spec/input/basic/structures.json
315
+ - spec/input/basic/french.json
316
+ - spec/output/basic/unicode.json
317
+ - spec/output/basic/wierd.json
318
+ - spec/output/basic/values.json
319
+ - spec/output/basic/arrays.json
320
+ - spec/output/basic/structures.json
321
+ - spec/output/basic/french.json
322
+ - spec/input/main/sample0_read.doc
323
+ - spec/input/basic/sample_sign.doc
324
+ - spec/input/basic/sample_hash.doc
325
+ - spec/input/basic/sample_valid_privkey.doc
326
+ - spec/input/basic/sample_invalid_verify.doc
327
+ - spec/input/basic/sample2_get_location.doc
328
+ - spec/input/basic/sample_dec.doc
329
+ - spec/input/basic/sample_verify.doc
330
+ - spec/input/basic/zQmaBZTghn.doc
331
+ - spec/input/basic/sample_invalid_readkey.doc
332
+ - spec/input/basic/sample_invalid2_readkey.doc
333
+ - spec/input/basic/sample_invalid3_verify.doc
334
+ - spec/input/basic/sample_enc.doc
335
+ - spec/input/basic/sample5_retrieve_document.doc
336
+ - spec/input/basic/sample_get_location.doc
337
+ - spec/input/basic/sample_retrieve_document.doc
338
+ - spec/input/basic/sample2_retrieve_document.doc
339
+ - spec/input/basic/sample_readkey.doc
340
+ - spec/input/basic/sample3_retrieve_document.doc
341
+ - spec/input/basic/sample_invalid2_verify.doc
342
+ - spec/input/basic/sample_invalid_privkey.doc
343
+ - spec/input/basic/sample_invalid_sign.doc
344
+ - spec/input/basic/sample_invalid3_readkey.doc
345
+ - spec/input/basic/sample4_retrieve_document.doc
346
+ - spec/input/basic/sample_key.doc
347
+ - spec/input/log/sample4_dag_did.doc
348
+ - spec/input/log/sample_match_log.doc
349
+ - spec/input/log/sample1_dag_update.doc
350
+ - spec/input/log/sample8_dag_update.doc
351
+ - spec/input/log/sample4_retrieve_log.doc
352
+ - spec/input/log/sample_dag_update.doc
353
+ - spec/input/log/sample7_retrieve_log.doc
354
+ - spec/input/log/sample3_dag_did.doc
355
+ - spec/input/log/sample5_dag_update.doc
356
+ - spec/input/log/sample3_dag_update.doc
357
+ - spec/input/log/sample6_dag_update.doc
358
+ - spec/input/log/sample_addhash.doc
359
+ - spec/input/log/sample6_retrieve_log.doc
360
+ - spec/input/log/sample2_retrieve_log.doc
361
+ - spec/input/log/sample2_dag_update.doc
362
+ - spec/input/log/sample1_dag_did.doc
363
+ - spec/input/log/sample2_dag_did.doc
364
+ - spec/input/log/sample_op1_addhash.doc
365
+ - spec/input/log/sample3_retrieve_log.doc
366
+ - spec/input/log/sample_retrieve_log.doc
367
+ - spec/input/log/sample7_dag_update.doc
368
+ - spec/input/log/sample0_dag_did.doc
369
+ - spec/input/log/sample0_dag2array.doc
370
+ - spec/input/log/sample4_dag_update.doc
371
+ - spec/input/log/sample5_retrieve_log.doc
372
+ - spec/output/main/sample0_read.doc
373
+ - spec/output/basic/sample_sign.doc
374
+ - spec/output/basic/sample_hash.doc
375
+ - spec/output/basic/sample_valid_privkey.doc
376
+ - spec/output/basic/sample_invalid_verify.doc
377
+ - spec/output/basic/sample2_get_location.doc
378
+ - spec/output/basic/sample_dec.doc
379
+ - spec/output/basic/sample_verify.doc
380
+ - spec/output/basic/sample_invalid_readkey.doc
381
+ - spec/output/basic/sample_invalid2_readkey.doc
382
+ - spec/output/basic/sample_invalid3_verify.doc
383
+ - spec/output/basic/sample_enc.doc
384
+ - spec/output/basic/sample5_retrieve_document.doc
385
+ - spec/output/basic/sample_get_location.doc
386
+ - spec/output/basic/sample_retrieve_document.doc
387
+ - spec/output/basic/sample2_retrieve_document.doc
388
+ - spec/output/basic/sample_readkey.doc
389
+ - spec/output/basic/sample3_retrieve_document.doc
390
+ - spec/output/basic/sample_invalid2_verify.doc
391
+ - spec/output/basic/sample_invalid_privkey.doc
392
+ - spec/output/basic/sample_invalid_sign.doc
393
+ - spec/output/basic/sample_invalid3_readkey.doc
394
+ - spec/output/basic/sample4_retrieve_document.doc
395
+ - spec/output/basic/sample_key.doc
396
+ - spec/output/log/sample4_dag_did.doc
397
+ - spec/output/log/sample_match_log.doc
398
+ - spec/output/log/sample1_dag_update.doc
399
+ - spec/output/log/sample8_dag_update.doc
400
+ - spec/output/log/sample4_retrieve_log.doc
401
+ - spec/output/log/sample_dag_update.doc
402
+ - spec/output/log/sample7_retrieve_log.doc
403
+ - spec/output/log/sample3_dag_did.doc
404
+ - spec/output/log/sample5_dag_update.doc
405
+ - spec/output/log/sample3_dag_update.doc
406
+ - spec/output/log/sample6_dag_update.doc
407
+ - spec/output/log/sample_addhash.doc
408
+ - spec/output/log/sample6_retrieve_log.doc
409
+ - spec/output/log/sample2_retrieve_log.doc
410
+ - spec/output/log/sample2_dag_update.doc
411
+ - spec/output/log/sample1_dag_did.doc
412
+ - spec/output/log/sample2_dag_did.doc
413
+ - spec/output/log/sample_op1_addhash.doc
414
+ - spec/output/log/sample3_retrieve_log.doc
415
+ - spec/output/log/sample_retrieve_log.doc
416
+ - spec/output/log/sample7_dag_update.doc
417
+ - spec/output/log/sample0_dag_did.doc
418
+ - spec/output/log/sample0_dag2array.doc
419
+ - spec/output/log/sample4_dag_update.doc
420
+ - spec/output/log/sample5_retrieve_log.doc