rbnacl 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6e38c7e8385a6216940cb6463b7735efb3bd44b8
4
- data.tar.gz: f399bf5adae36466df158d6a5384ef87d6ab77d5
3
+ metadata.gz: b67cc643ca784918a3ac35d13c2cb942e494eab9
4
+ data.tar.gz: 685f56452c4193577b759c5f6c29695c156c644b
5
5
  SHA512:
6
- metadata.gz: 50b1a9ced0b13cceb527796a276200619448b99dd3156497e97378177537d9f4cb2ad8b08accd169684d2c9277cdf125d23d07dc0a0113acea025a6f3ebe5d37
7
- data.tar.gz: 1a1d82499b6b8f0d354fa0d54e018ba98b4dad94ed78a8e8f06efe0f9935296611c83fcaedffbf51cd50a787d80631c48aec3761746ab87d44f443e3ffb9a5a1
6
+ metadata.gz: c3cd45824f3f0510d497f932cfb6cff78c8ec70c2f13560f39d24c6bc7e00733b7611591c18700e6e4976c54b8c8aabafda86ab91649ba6384f22595a5513134
7
+ data.tar.gz: e4b7f9a7ccffc5146bb5dbf4358055d6271ef52fd7bba8ca993d874496ae5e79dda972542e53446b8f14a7c1f1b54276a19c6208feda9cf05d12d9441ab9faea
@@ -3,7 +3,7 @@ script: "LD_LIBRARY_PATH=lib bundle exec rake ci"
3
3
  rvm:
4
4
  - 1.9.3
5
5
  - 2.0.0
6
- - 2.1.0
6
+ - 2.1.1
7
7
  - ruby-head
8
8
  - jruby
9
9
  - jruby-head
data/CHANGES.md CHANGED
@@ -1,3 +1,8 @@
1
+ 3.0.1 (2014-05-12)
2
+ ------------------
3
+ * Load gem from RBNACL_LIBSODIUM_GEM_LIB_PATH if set. Used by rbnacl-libsodium
4
+ gem to use libsodium compiled from a gem.
5
+
1
6
  3.0.0 (2014-04-22)
2
7
  ------------------
3
8
  * Rename RandomNonceBox to SimpleBox (backwards compatibility preserved)
data/README.md CHANGED
@@ -78,6 +78,16 @@ for information regarding installation:
78
78
 
79
79
  https://github.com/jedisct1/libsodium
80
80
 
81
+ For FreeBSD users, libsodium is available both via pkgng and ports. To install
82
+ a binary package:
83
+
84
+ pkg install libsodium
85
+
86
+ To install from ports on FreeBSD, use your favorite ports front end (e.g.
87
+ portmaster or portupgrade), or use make as follows:
88
+
89
+ cd /usr/ports/security/libsodium; make install clean
90
+
81
91
  For OS X users, libsodium is available via homebrew and can be installed with:
82
92
 
83
93
  brew install libsodium
@@ -107,6 +117,7 @@ Inside of your Ruby program do:
107
117
  RbNaCl's documentation can be found [in the Wiki][wiki]. The following features
108
118
  are supported:
109
119
 
120
+ * [SimpleBox]: easy-to-use public-key or secret-key encryption "on Rails"
110
121
  * [Secret-key Encryption][secretkey]: authenticated symmetric encryption using a
111
122
  single key shared among parties
112
123
  * [Public-key Encryption][publickey]: securely send messages to a given public
@@ -124,6 +135,7 @@ information.
124
135
  [RDoc documentation][rdoc] is also available.
125
136
 
126
137
  [wiki]: https://github.com/cryptosphere/rbnacl/wiki
138
+ [simplebox]: https://github.com/cryptosphere/rbnacl/wiki/SimpleBox
127
139
  [secretkey]: https://github.com/cryptosphere/rbnacl/wiki/Secret-Key-Encryption
128
140
  [publickey]: https://github.com/cryptosphere/rbnacl/wiki/Public-Key-Encryption
129
141
  [signatures]: https://github.com/cryptosphere/rbnacl/wiki/Digital-Signatures
@@ -141,32 +153,6 @@ by professional cryptographers.
141
153
 
142
154
  That said, it's probably still a million times better than OpenSSL...
143
155
 
144
- ## Using Signed Gems
145
-
146
- The RbNaCl gem is signed by Tony Arcieri's certificate, which identifies
147
- as `bascule@gmail.com`. You can obtain the official certificate with:
148
-
149
- ```
150
- curl https://raw.github.com/cryptosphere/rbnacl/master/bascule.cert > /tmp/bascule.cert
151
- gem cert -a /tmp/bascule.cert
152
- ```
153
-
154
- You can verify the authenticity of bascule.cert by its SHA256 hash:
155
-
156
- ```
157
- $ shasum -a 256 bascule.cert
158
- 6e8b7e53d347ca6c6d214efef2b923aadecdd7650565f0eb1d8d0419723ae20c bascule.cert
159
- ```
160
-
161
- If you get a different number than `6e8b7e53...`, this is not the cert you are
162
- looking for!
163
-
164
- If you'd like to install the gem in high security mode, run:
165
-
166
- ```
167
- gem install rbnacl-1.0.0.gem -P HighSecurity
168
- ```
169
-
170
156
  ## Reporting Security Problems
171
157
 
172
158
  If you have discovered a bug in RbNaCl of a sensitive nature, i.e.
@@ -174,11 +160,11 @@ one which can compromise the security of RbNaCl users, you can
174
160
  report it securely by sending a GPG encrypted message. Please use
175
161
  the following key:
176
162
 
177
- https://raw.github.com/cryptosphere/rbnacl/master/rbnacl.gpg
163
+ https://raw.github.com/cryptosphere/rbnacl/master/bascule.gpg
178
164
 
179
165
  The key fingerprint is (or should be):
180
166
 
181
- `190E 42D6 8327 A515 BFDF AAE0 B210 269D BB2D 8787`
167
+ `25C1 198A C8A1 8212 7D24 E665 666B AFA9 D77E E055`
182
168
 
183
169
  ## Learn More
184
170
 
@@ -208,6 +194,10 @@ Coursera offers from Stanford University Professor Dan Boneh:
208
194
 
209
195
  Only if your military understands twisted Edwards curves
210
196
 
197
+ ### Is it "Bank Grade™"?
198
+
199
+ No, that means 3DES, which this library doesn't support, sorry
200
+
211
201
  ### Does it have a lock with a checkmark?
212
202
 
213
203
  Sure, here you go:
@@ -0,0 +1,52 @@
1
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
2
+ Version: GnuPG v1
3
+
4
+ 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
50
+ 8VqIziiGfWBn7c9CNBhHoBsTb/oK
51
+ =EFdK
52
+ -----END PGP PUBLIC KEY BLOCK-----
@@ -3,7 +3,11 @@ module RbNaCl
3
3
  # Defines the libsodium init function
4
4
  module Init
5
5
  extend FFI::Library
6
- ffi_lib 'sodium'
6
+ if defined?(RBNACL_LIBSODIUM_GEM_LIB_PATH)
7
+ ffi_lib RBNACL_LIBSODIUM_GEM_LIB_PATH
8
+ else
9
+ ffi_lib 'sodium'
10
+ end
7
11
 
8
12
  attach_function :sodium_init, [], :int
9
13
  end
@@ -6,7 +6,11 @@ module RbNaCl
6
6
  module Sodium
7
7
  def self.extended(klass)
8
8
  klass.extend FFI::Library
9
- klass.ffi_lib 'sodium'
9
+ if defined?(RBNACL_LIBSODIUM_GEM_LIB_PATH)
10
+ klass.ffi_lib RBNACL_LIBSODIUM_GEM_LIB_PATH
11
+ else
12
+ klass.ffi_lib 'sodium'
13
+ end
10
14
  end
11
15
 
12
16
 
@@ -1,5 +1,5 @@
1
1
  # encoding: binary
2
2
  module RbNaCl
3
3
  # The library's version
4
- VERSION = "3.0.0"
4
+ VERSION = "3.0.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbnacl
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tony Arcieri
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain:
12
12
  - bascule.cert
13
- date: 2014-04-23 00:00:00.000000000 Z
13
+ date: 2014-05-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ffi
@@ -88,6 +88,7 @@ files:
88
88
  - README.md
89
89
  - Rakefile
90
90
  - bascule.cert
91
+ - bascule.gpg
91
92
  - images/dragons.png
92
93
  - images/ed25519.png
93
94
  - images/hash.png
@@ -122,7 +123,6 @@ files:
122
123
  - lib/rbnacl/util.rb
123
124
  - lib/rbnacl/version.rb
124
125
  - rbnacl.gemspec
125
- - rbnacl.gpg
126
126
  - spec/rbnacl/authenticators/poly1305_spec.rb
127
127
  - spec/rbnacl/boxes/curve25519xsalsa20poly1305/private_key_spec.rb
128
128
  - spec/rbnacl/boxes/curve25519xsalsa20poly1305/public_key_spec.rb
@@ -166,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  version: '0'
167
167
  requirements: []
168
168
  rubyforge_project:
169
- rubygems_version: 2.2.0
169
+ rubygems_version: 2.2.2
170
170
  signing_key:
171
171
  specification_version: 4
172
172
  summary: The Networking and Cryptography (NaCl) library provides a high-level toolkit
data/rbnacl.gpg DELETED
@@ -1,30 +0,0 @@
1
- -----BEGIN PGP PUBLIC KEY BLOCK-----
2
- Version: GnuPG v1.4.12 (Darwin)
3
-
4
- mQENBFE2gC4BCADG/9ea48mbfT4Odzi6JLXQMt2z4Md6zO52O1w8RvA32hgx+Sm4
5
- 4amvwMGb44WXQkSCp//X4YWcZ+WAefZDz8VSfsvQ11CLAnnGPuKiItFCkmDCL0iV
6
- 2PrHQ3oZ8kfd3/f8qKPZI+TcPmJw1ttF/ugcly7zndCQq+17G/nMYNIxltegtfxm
7
- AHGeuzgfG6r/IbvBrMgvAmV2+0/CnCpuuuIiSqkp9TnBH3rYl2x4ewwGrgp3GrGT
8
- OLm/qEKNHbQGa8Q+yaHJczTJ5fNxEdVllEAfVhYPuEoBLDm4fjkgGS98nr9+T7pF
9
- 9M1IfmszfyenWut6RF1lfRrZQD7v02K7XOIXABEBAAG0JVRvbnkgQXJjaWVyaSA8
10
- dG9ueS5hcmNpZXJpQGdtYWlsLmNvbT6JAT4EEwECACgFAlE2gC4CGwMFCQHhM4AG
11
- CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJELIQJp27LYeHjwQH/jktme/Uzxhp
12
- jodHv9iTUbaNi3PSjmNZJAzmtvsJzavrP2EuYomOK2Z0K387HbWPQpRGNxMzF85X
13
- 71YYRCGCsja6sFFaiVE5EOzbQVAdT0gyE7U/iPImbqtXAH9WdbxqgjrvnECwDsod
14
- WyzGaanfbcF9E3b+od/CcjSpcsOJkuxZXwrZKxP9ehvy5dobYrLfageXVxJdj1rs
15
- 4tuD5IsIQnqW3uUzfaAOLS0oh6e4faDV5232Gva/y7j2fs235ceuHGv24iYf2NAE
16
- c7rfnOpqT2/3ezNwqpNqE1RH2p1LgtmNkOn7z0iyck171WpCNUaDzT2QVMW1sVEQ
17
- OQzIVvzM6DC5AQ0EUTaALgEIALCnnwjepJiWFYy6iSMDOZ4g6ifxOPdmlQp0SF83
18
- BqbEuhr19EBb8Z3BTewIeszwiozCrYyE3Z/hXwJX9JcsTd+YlNE93IMXWq0Dvr2u
19
- YPhXg4z7Ni9geJaCuQVu4R6pGHI9Irw2F/+xBvccS8nf+xzPsqcqZkFnal5ohCR2
20
- Z4eXUI26La9qq9j5K6SGMemGwt9FKLXDuInOWSWpiztQBpEo66d8LGqvvHGUUTYH
21
- LEsJzItLFTHOxTySvjt+9bVWgtXl5iLiR+dAL03Yf6J6E+Dzu12ELoq1kI/M6c0f
22
- cczmhGT9+9PJfqg2A6MjAF5JEQUVa1HlDH9vnfwSc8nm0qUAEQEAAYkBJQQYAQIA
23
- DwUCUTaALgIbDAUJAeEzgAAKCRCyECaduy2Hh19aB/93WEEPqVAFzo04f8P27KTw
24
- n+UiVTTxLkEBNbUHqNDBwWZLBUhzDxoEI21OyAxMzJEj80GXyFtLBMO+lbzz8MvI
25
- IcfLS3zXaeEFO+fofKbfilvzezSzslPTjxFx0He8C/SjggWVIRPfv5hpoyyx4FXW
26
- a6ZmA5G29O2J85VhZr8EQuykB10K9tIGIgfpuvjfeL8K30rgPGPfwbZP7/U33Yxs
27
- qwAwsd6Ej98U8TGUr/tTSVztjg7inWwkL84I3DnfedOn4ofVDetDvtjuaJcc16Z5
28
- QspnbOIn+KGOcdodZQKglj4Esal0W3kg56Du9M5xzmfEB2UeK5aMTL5akoCjs9aK
29
- =64l+
30
- -----END PGP PUBLIC KEY BLOCK-----