enquo-core 0.6.0-x86_64-linux → 0.6.0.5.g36d0d51-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fa6d930de0eefd203b355470d96ac72d5050eb1b349418192a274345e0f103c2
4
- data.tar.gz: d61896d3955bd7a82b8ef3628e5afa8a502f7ec67e861f1c5e2a44fd3f81da5e
3
+ metadata.gz: c12f31f24b2bf6982235e17e31e249771ff140c24d8e775882592a460ebf3492
4
+ data.tar.gz: e9bdde54b57fb268d925190858e2f13d4f58460447c3a9f417f168531e8aee48
5
5
  SHA512:
6
- metadata.gz: 21803bc37369fbe7aab701c671df468607a6456f8663caa3075bb2b4c99833a6166ac53c4d9e1fd9a9ecb64e5cdf2a265ffb8de19ceeea72e8617ef31070c7fa
7
- data.tar.gz: 9a1faa00d1cce3962e6dbfefdd7ff6b386a1e68554382dc83707b56d855e40bf2e591d6b58125c030c4607b00193fb535b851e7d42bab2fb7ecff45c629db599
6
+ metadata.gz: 4afc87a142593a3883deb7de8c269cb0d94a22880152fa2feaf22694a158ed17c82b3d63e9f228a9a7eb402e1c805cc45504db6fdf9ada1bcb8069e4aa609639
7
+ data.tar.gz: 383207a7034c0251172a9301f6118b32c979e154b465c54d1c18c2150ccc520f08eebd46a21b8275845b5e4cf461e4a2487327bc06ce4e320be490a6533ce588
data/README.md ADDED
@@ -0,0 +1,55 @@
1
+ This directory contains the Ruby bindings for the [Enquo](https://enquo.org) core cryptography library.
2
+
3
+ ## Note Well
4
+
5
+ When reading these docs, bear in mind that this is a *low level* cryptographic library.
6
+ It is not intended that most users will use `enquo-core` directly.
7
+ Instead, typically you will use Enquo via your preferred ORM or other higher-level integration.
8
+ This library is intended to be used to build *those* integrations, not to be used in applications directly.
9
+
10
+
11
+ # Installation
12
+
13
+ Typically you'll want to install [the rubygem]:
14
+
15
+ ```bash
16
+ gem install enquo-core
17
+ ```
18
+
19
+ If you use a platform for which pre-built binary packages are available, this will Just Work.
20
+ Otherwise, you'll need a [Rust toolchain](https://www.rust-lang.org/learn/get-started) to build.
21
+
22
+
23
+ # Usage
24
+
25
+ The Enquo core is all about encrypting and decrypting *field data*, using keys derived from a *root*.
26
+
27
+ Load the library:
28
+
29
+ ```ruby
30
+ require "enquo-core"
31
+ ```
32
+
33
+ Create the root key, from which all other cryptographic keys are derived:
34
+
35
+ ```ruby
36
+ root_key = Enquo::RootKey::Static.new(SecureRandom.bytes(32))
37
+ ```
38
+
39
+ (In real-world use, you'll want to take that key from somewhere it can be securely stored)
40
+
41
+ Now, you can create the root itself:
42
+
43
+ ```ruby
44
+ root = Enquo::Root.new(root_key)
45
+ ```
46
+
47
+ Finally, you can now create a "field" object, which is what is used to do encryption and decryption:
48
+
49
+ ```ruby
50
+ f = root.field("some_relation", "some_field_name")
51
+ ciphertext = f.encrypt_text("this is some text", "test")
52
+ puts f.decrypt_text(ciphertext, "test").inspect # Should print "this is some text"
53
+ ```
54
+
55
+ For more details on the full API, consult [the fine manual](https://www.rubydoc.info/gems/enquo-core).
data/lib/2.7/enquo.so CHANGED
Binary file
data/lib/3.0/enquo.so CHANGED
Binary file
data/lib/3.1/enquo.so CHANGED
Binary file
@@ -2,23 +2,23 @@ module Enquo
2
2
  module RootKey
3
3
  class Static
4
4
  def self.new(k)
5
- unless k.is_a?(String)
6
- raise ArgumentError, "An Enquo static root key must be passed a string"
7
- end
5
+ unless k.is_a?(String)
6
+ raise ArgumentError, "An Enquo static root key must be passed a string"
7
+ end
8
8
 
9
- key = if k.encoding == Encoding::BINARY
10
- unless k.bytesize == 32
11
- raise ArgumentError, "An Enquo static root key must be a 32 byte binary string"
12
- end
9
+ key = if k.encoding == Encoding::BINARY
10
+ unless k.bytesize == 32
11
+ raise ArgumentError, "An Enquo static root key must be a 32 byte binary string"
12
+ end
13
13
 
14
- k
15
- else
16
- unless k =~ /\A\h{64}\z/
17
- raise ArgumentError, "An Enquo static root key must be a 64 byte hex string"
18
- end
14
+ k
15
+ else
16
+ unless k =~ /\A\h{64}\z/
17
+ raise ArgumentError, "An Enquo static root key must be a 64 byte hex string"
18
+ end
19
19
 
20
- [k].pack("H*")
21
- end
20
+ [k].pack("H*")
21
+ end
22
22
 
23
23
  _new(key)
24
24
  end
data/lib/enquo-core.rb ADDED
@@ -0,0 +1 @@
1
+ require_relative "./enquo.rb"
data/lib/enquo_core.rb ADDED
@@ -0,0 +1 @@
1
+ require_relative "./enquo.rb"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enquo-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.0.5.g36d0d51
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Matt Palmer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-07 00:00:00.000000000 Z
11
+ date: 2023-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -150,7 +150,7 @@ dependencies:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
- description:
153
+ description:
154
154
  email:
155
155
  - matt@enquo.org
156
156
  executables: []
@@ -158,6 +158,7 @@ extensions: []
158
158
  extra_rdoc_files: []
159
159
  files:
160
160
  - ".gitignore"
161
+ - README.md
161
162
  - enquo-core.gemspec
162
163
  - ext/enquo/.gitignore
163
164
  - ext/enquo/Cargo.lock
@@ -167,11 +168,13 @@ files:
167
168
  - lib/2.7/enquo.so
168
169
  - lib/3.0/enquo.so
169
170
  - lib/3.1/enquo.so
171
+ - lib/enquo-core.rb
170
172
  - lib/enquo.rb
171
173
  - lib/enquo/field.rb
172
174
  - lib/enquo/root.rb
173
175
  - lib/enquo/root_key.rb
174
176
  - lib/enquo/root_key/static.rb
177
+ - lib/enquo_core.rb
175
178
  homepage: https://enquo.org/active_enquo
176
179
  licenses: []
177
180
  metadata:
@@ -179,7 +182,7 @@ metadata:
179
182
  source_code_uri: https://github.com/enquo/enquo-core
180
183
  changelog_uri: https://github.com/enquo/enquo-core/releases
181
184
  bug_tracker_uri: https://github.com/enquo/enquo-core/issues
182
- post_install_message:
185
+ post_install_message:
183
186
  rdoc_options: []
184
187
  require_paths:
185
188
  - lib
@@ -193,12 +196,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
193
196
  version: 3.2.dev
194
197
  required_rubygems_version: !ruby/object:Gem::Requirement
195
198
  requirements:
196
- - - ">="
199
+ - - ">"
197
200
  - !ruby/object:Gem::Version
198
- version: '0'
201
+ version: 1.3.1
199
202
  requirements: []
200
- rubygems_version: 3.3.22
201
- signing_key:
203
+ rubygems_version: 3.4.3
204
+ signing_key:
202
205
  specification_version: 4
203
206
  summary: Core library for encrypted querying operations
204
207
  test_files: []