ring-native 0.0.0 → 0.1.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGES.md +7 -0
- data/Makefile +5 -0
- data/README.md +12 -5
- data/Rakefile +4 -0
- data/ext/ring/extconf.rb +4 -5
- data/lib/ring/native.rb +3 -1
- data/lib/ring/native/version.rb +5 -1
- data/ring-native.gemspec +6 -6
- data/vendor/ring-ffi/Cargo.lock +26 -0
- data/vendor/ring-ffi/Cargo.toml +45 -0
- data/vendor/ring-ffi/LICENSE +16 -0
- data/vendor/ring-ffi/README.md +59 -0
- data/vendor/ring-ffi/src/lib.rs +79 -0
- metadata +10 -255
- data/vendor/ring/BUILDING.md +0 -40
- data/vendor/ring/Cargo.toml +0 -43
- data/vendor/ring/LICENSE +0 -185
- data/vendor/ring/Makefile +0 -35
- data/vendor/ring/PORTING.md +0 -163
- data/vendor/ring/README.md +0 -113
- data/vendor/ring/STYLE.md +0 -197
- data/vendor/ring/appveyor.yml +0 -27
- data/vendor/ring/build.rs +0 -108
- data/vendor/ring/crypto/aes/aes.c +0 -1142
- data/vendor/ring/crypto/aes/aes_test.Windows.vcxproj +0 -25
- data/vendor/ring/crypto/aes/aes_test.cc +0 -93
- data/vendor/ring/crypto/aes/asm/aes-586.pl +0 -2368
- data/vendor/ring/crypto/aes/asm/aes-armv4.pl +0 -1249
- data/vendor/ring/crypto/aes/asm/aes-x86_64.pl +0 -2246
- data/vendor/ring/crypto/aes/asm/aesni-x86.pl +0 -1318
- data/vendor/ring/crypto/aes/asm/aesni-x86_64.pl +0 -2084
- data/vendor/ring/crypto/aes/asm/aesv8-armx.pl +0 -675
- data/vendor/ring/crypto/aes/asm/bsaes-armv7.pl +0 -1364
- data/vendor/ring/crypto/aes/asm/bsaes-x86_64.pl +0 -1565
- data/vendor/ring/crypto/aes/asm/vpaes-x86.pl +0 -841
- data/vendor/ring/crypto/aes/asm/vpaes-x86_64.pl +0 -1116
- data/vendor/ring/crypto/aes/internal.h +0 -87
- data/vendor/ring/crypto/aes/mode_wrappers.c +0 -61
- data/vendor/ring/crypto/bn/add.c +0 -394
- data/vendor/ring/crypto/bn/asm/armv4-mont.pl +0 -694
- data/vendor/ring/crypto/bn/asm/armv8-mont.pl +0 -1503
- data/vendor/ring/crypto/bn/asm/bn-586.pl +0 -774
- data/vendor/ring/crypto/bn/asm/co-586.pl +0 -287
- data/vendor/ring/crypto/bn/asm/rsaz-avx2.pl +0 -1882
- data/vendor/ring/crypto/bn/asm/x86-mont.pl +0 -592
- data/vendor/ring/crypto/bn/asm/x86_64-gcc.c +0 -599
- data/vendor/ring/crypto/bn/asm/x86_64-mont.pl +0 -1393
- data/vendor/ring/crypto/bn/asm/x86_64-mont5.pl +0 -3507
- data/vendor/ring/crypto/bn/bn.c +0 -352
- data/vendor/ring/crypto/bn/bn_asn1.c +0 -74
- data/vendor/ring/crypto/bn/bn_test.Windows.vcxproj +0 -25
- data/vendor/ring/crypto/bn/bn_test.cc +0 -1696
- data/vendor/ring/crypto/bn/cmp.c +0 -200
- data/vendor/ring/crypto/bn/convert.c +0 -433
- data/vendor/ring/crypto/bn/ctx.c +0 -311
- data/vendor/ring/crypto/bn/div.c +0 -594
- data/vendor/ring/crypto/bn/exponentiation.c +0 -1335
- data/vendor/ring/crypto/bn/gcd.c +0 -711
- data/vendor/ring/crypto/bn/generic.c +0 -1019
- data/vendor/ring/crypto/bn/internal.h +0 -316
- data/vendor/ring/crypto/bn/montgomery.c +0 -516
- data/vendor/ring/crypto/bn/mul.c +0 -888
- data/vendor/ring/crypto/bn/prime.c +0 -829
- data/vendor/ring/crypto/bn/random.c +0 -334
- data/vendor/ring/crypto/bn/rsaz_exp.c +0 -262
- data/vendor/ring/crypto/bn/rsaz_exp.h +0 -53
- data/vendor/ring/crypto/bn/shift.c +0 -276
- data/vendor/ring/crypto/bytestring/bytestring_test.Windows.vcxproj +0 -25
- data/vendor/ring/crypto/bytestring/bytestring_test.cc +0 -421
- data/vendor/ring/crypto/bytestring/cbb.c +0 -399
- data/vendor/ring/crypto/bytestring/cbs.c +0 -227
- data/vendor/ring/crypto/bytestring/internal.h +0 -46
- data/vendor/ring/crypto/chacha/chacha_generic.c +0 -140
- data/vendor/ring/crypto/chacha/chacha_vec.c +0 -323
- data/vendor/ring/crypto/chacha/chacha_vec_arm.S +0 -1447
- data/vendor/ring/crypto/chacha/chacha_vec_arm_generate.go +0 -153
- data/vendor/ring/crypto/cipher/cipher_test.Windows.vcxproj +0 -25
- data/vendor/ring/crypto/cipher/e_aes.c +0 -390
- data/vendor/ring/crypto/cipher/e_chacha20poly1305.c +0 -208
- data/vendor/ring/crypto/cipher/internal.h +0 -173
- data/vendor/ring/crypto/cipher/test/aes_128_gcm_tests.txt +0 -543
- data/vendor/ring/crypto/cipher/test/aes_128_key_wrap_tests.txt +0 -9
- data/vendor/ring/crypto/cipher/test/aes_256_gcm_tests.txt +0 -475
- data/vendor/ring/crypto/cipher/test/aes_256_key_wrap_tests.txt +0 -23
- data/vendor/ring/crypto/cipher/test/chacha20_poly1305_old_tests.txt +0 -422
- data/vendor/ring/crypto/cipher/test/chacha20_poly1305_tests.txt +0 -484
- data/vendor/ring/crypto/cipher/test/cipher_test.txt +0 -100
- data/vendor/ring/crypto/constant_time_test.Windows.vcxproj +0 -25
- data/vendor/ring/crypto/constant_time_test.c +0 -304
- data/vendor/ring/crypto/cpu-arm-asm.S +0 -32
- data/vendor/ring/crypto/cpu-arm.c +0 -199
- data/vendor/ring/crypto/cpu-intel.c +0 -261
- data/vendor/ring/crypto/crypto.c +0 -151
- data/vendor/ring/crypto/curve25519/asm/x25519-arm.S +0 -2118
- data/vendor/ring/crypto/curve25519/curve25519.c +0 -4888
- data/vendor/ring/crypto/curve25519/x25519_test.cc +0 -128
- data/vendor/ring/crypto/digest/md32_common.h +0 -181
- data/vendor/ring/crypto/ec/asm/p256-x86_64-asm.pl +0 -2725
- data/vendor/ring/crypto/ec/ec.c +0 -193
- data/vendor/ring/crypto/ec/ec_curves.c +0 -61
- data/vendor/ring/crypto/ec/ec_key.c +0 -228
- data/vendor/ring/crypto/ec/ec_montgomery.c +0 -114
- data/vendor/ring/crypto/ec/example_mul.Windows.vcxproj +0 -25
- data/vendor/ring/crypto/ec/internal.h +0 -243
- data/vendor/ring/crypto/ec/oct.c +0 -253
- data/vendor/ring/crypto/ec/p256-64.c +0 -1794
- data/vendor/ring/crypto/ec/p256-x86_64-table.h +0 -9548
- data/vendor/ring/crypto/ec/p256-x86_64.c +0 -509
- data/vendor/ring/crypto/ec/simple.c +0 -1007
- data/vendor/ring/crypto/ec/util-64.c +0 -183
- data/vendor/ring/crypto/ec/wnaf.c +0 -508
- data/vendor/ring/crypto/ecdh/ecdh.c +0 -155
- data/vendor/ring/crypto/ecdsa/ecdsa.c +0 -304
- data/vendor/ring/crypto/ecdsa/ecdsa_asn1.c +0 -193
- data/vendor/ring/crypto/ecdsa/ecdsa_test.Windows.vcxproj +0 -25
- data/vendor/ring/crypto/ecdsa/ecdsa_test.cc +0 -327
- data/vendor/ring/crypto/header_removed.h +0 -17
- data/vendor/ring/crypto/internal.h +0 -495
- data/vendor/ring/crypto/libring.Windows.vcxproj +0 -101
- data/vendor/ring/crypto/mem.c +0 -98
- data/vendor/ring/crypto/modes/asm/aesni-gcm-x86_64.pl +0 -1045
- data/vendor/ring/crypto/modes/asm/ghash-armv4.pl +0 -517
- data/vendor/ring/crypto/modes/asm/ghash-x86.pl +0 -1393
- data/vendor/ring/crypto/modes/asm/ghash-x86_64.pl +0 -1741
- data/vendor/ring/crypto/modes/asm/ghashv8-armx.pl +0 -422
- data/vendor/ring/crypto/modes/ctr.c +0 -226
- data/vendor/ring/crypto/modes/gcm.c +0 -1206
- data/vendor/ring/crypto/modes/gcm_test.Windows.vcxproj +0 -25
- data/vendor/ring/crypto/modes/gcm_test.c +0 -348
- data/vendor/ring/crypto/modes/internal.h +0 -299
- data/vendor/ring/crypto/perlasm/arm-xlate.pl +0 -170
- data/vendor/ring/crypto/perlasm/readme +0 -100
- data/vendor/ring/crypto/perlasm/x86_64-xlate.pl +0 -1164
- data/vendor/ring/crypto/perlasm/x86asm.pl +0 -292
- data/vendor/ring/crypto/perlasm/x86gas.pl +0 -263
- data/vendor/ring/crypto/perlasm/x86masm.pl +0 -200
- data/vendor/ring/crypto/perlasm/x86nasm.pl +0 -187
- data/vendor/ring/crypto/poly1305/poly1305.c +0 -331
- data/vendor/ring/crypto/poly1305/poly1305_arm.c +0 -301
- data/vendor/ring/crypto/poly1305/poly1305_arm_asm.S +0 -2015
- data/vendor/ring/crypto/poly1305/poly1305_test.Windows.vcxproj +0 -25
- data/vendor/ring/crypto/poly1305/poly1305_test.cc +0 -80
- data/vendor/ring/crypto/poly1305/poly1305_test.txt +0 -52
- data/vendor/ring/crypto/poly1305/poly1305_vec.c +0 -892
- data/vendor/ring/crypto/rand/asm/rdrand-x86_64.pl +0 -75
- data/vendor/ring/crypto/rand/internal.h +0 -32
- data/vendor/ring/crypto/rand/rand.c +0 -189
- data/vendor/ring/crypto/rand/urandom.c +0 -219
- data/vendor/ring/crypto/rand/windows.c +0 -56
- data/vendor/ring/crypto/refcount_c11.c +0 -66
- data/vendor/ring/crypto/refcount_lock.c +0 -53
- data/vendor/ring/crypto/refcount_test.Windows.vcxproj +0 -25
- data/vendor/ring/crypto/refcount_test.c +0 -58
- data/vendor/ring/crypto/rsa/blinding.c +0 -462
- data/vendor/ring/crypto/rsa/internal.h +0 -108
- data/vendor/ring/crypto/rsa/padding.c +0 -300
- data/vendor/ring/crypto/rsa/rsa.c +0 -450
- data/vendor/ring/crypto/rsa/rsa_asn1.c +0 -261
- data/vendor/ring/crypto/rsa/rsa_impl.c +0 -944
- data/vendor/ring/crypto/rsa/rsa_test.Windows.vcxproj +0 -25
- data/vendor/ring/crypto/rsa/rsa_test.cc +0 -437
- data/vendor/ring/crypto/sha/asm/sha-armv8.pl +0 -436
- data/vendor/ring/crypto/sha/asm/sha-x86_64.pl +0 -2390
- data/vendor/ring/crypto/sha/asm/sha256-586.pl +0 -1275
- data/vendor/ring/crypto/sha/asm/sha256-armv4.pl +0 -735
- data/vendor/ring/crypto/sha/asm/sha256-armv8.pl +0 -14
- data/vendor/ring/crypto/sha/asm/sha256-x86_64.pl +0 -14
- data/vendor/ring/crypto/sha/asm/sha512-586.pl +0 -911
- data/vendor/ring/crypto/sha/asm/sha512-armv4.pl +0 -666
- data/vendor/ring/crypto/sha/asm/sha512-armv8.pl +0 -14
- data/vendor/ring/crypto/sha/asm/sha512-x86_64.pl +0 -14
- data/vendor/ring/crypto/sha/sha1.c +0 -271
- data/vendor/ring/crypto/sha/sha256.c +0 -204
- data/vendor/ring/crypto/sha/sha512.c +0 -355
- data/vendor/ring/crypto/test/file_test.cc +0 -326
- data/vendor/ring/crypto/test/file_test.h +0 -181
- data/vendor/ring/crypto/test/malloc.cc +0 -150
- data/vendor/ring/crypto/test/scoped_types.h +0 -95
- data/vendor/ring/crypto/test/test.Windows.vcxproj +0 -35
- data/vendor/ring/crypto/test/test_util.cc +0 -46
- data/vendor/ring/crypto/test/test_util.h +0 -41
- data/vendor/ring/crypto/thread_none.c +0 -55
- data/vendor/ring/crypto/thread_pthread.c +0 -165
- data/vendor/ring/crypto/thread_test.Windows.vcxproj +0 -25
- data/vendor/ring/crypto/thread_test.c +0 -200
- data/vendor/ring/crypto/thread_win.c +0 -282
- data/vendor/ring/examples/checkdigest.rs +0 -103
- data/vendor/ring/include/openssl/aes.h +0 -121
- data/vendor/ring/include/openssl/arm_arch.h +0 -129
- data/vendor/ring/include/openssl/base.h +0 -156
- data/vendor/ring/include/openssl/bn.h +0 -794
- data/vendor/ring/include/openssl/buffer.h +0 -18
- data/vendor/ring/include/openssl/bytestring.h +0 -235
- data/vendor/ring/include/openssl/chacha.h +0 -37
- data/vendor/ring/include/openssl/cmac.h +0 -76
- data/vendor/ring/include/openssl/cpu.h +0 -184
- data/vendor/ring/include/openssl/crypto.h +0 -43
- data/vendor/ring/include/openssl/curve25519.h +0 -88
- data/vendor/ring/include/openssl/ec.h +0 -225
- data/vendor/ring/include/openssl/ec_key.h +0 -129
- data/vendor/ring/include/openssl/ecdh.h +0 -110
- data/vendor/ring/include/openssl/ecdsa.h +0 -156
- data/vendor/ring/include/openssl/err.h +0 -201
- data/vendor/ring/include/openssl/mem.h +0 -101
- data/vendor/ring/include/openssl/obj_mac.h +0 -71
- data/vendor/ring/include/openssl/opensslfeatures.h +0 -68
- data/vendor/ring/include/openssl/opensslv.h +0 -18
- data/vendor/ring/include/openssl/ossl_typ.h +0 -18
- data/vendor/ring/include/openssl/poly1305.h +0 -51
- data/vendor/ring/include/openssl/rand.h +0 -70
- data/vendor/ring/include/openssl/rsa.h +0 -399
- data/vendor/ring/include/openssl/thread.h +0 -133
- data/vendor/ring/include/openssl/type_check.h +0 -71
- data/vendor/ring/mk/Common.props +0 -63
- data/vendor/ring/mk/Windows.props +0 -42
- data/vendor/ring/mk/WindowsTest.props +0 -18
- data/vendor/ring/mk/appveyor.bat +0 -62
- data/vendor/ring/mk/bottom_of_makefile.mk +0 -54
- data/vendor/ring/mk/ring.mk +0 -266
- data/vendor/ring/mk/top_of_makefile.mk +0 -214
- data/vendor/ring/mk/travis.sh +0 -40
- data/vendor/ring/mk/update-travis-yml.py +0 -229
- data/vendor/ring/ring.sln +0 -153
- data/vendor/ring/src/aead.rs +0 -682
- data/vendor/ring/src/agreement.rs +0 -248
- data/vendor/ring/src/c.rs +0 -129
- data/vendor/ring/src/constant_time.rs +0 -37
- data/vendor/ring/src/der.rs +0 -96
- data/vendor/ring/src/digest.rs +0 -690
- data/vendor/ring/src/digest_tests.txt +0 -57
- data/vendor/ring/src/ecc.rs +0 -28
- data/vendor/ring/src/ecc_build.rs +0 -279
- data/vendor/ring/src/ecc_curves.rs +0 -117
- data/vendor/ring/src/ed25519_tests.txt +0 -2579
- data/vendor/ring/src/exe_tests.rs +0 -46
- data/vendor/ring/src/ffi.rs +0 -29
- data/vendor/ring/src/file_test.rs +0 -187
- data/vendor/ring/src/hkdf.rs +0 -153
- data/vendor/ring/src/hkdf_tests.txt +0 -59
- data/vendor/ring/src/hmac.rs +0 -414
- data/vendor/ring/src/hmac_tests.txt +0 -97
- data/vendor/ring/src/input.rs +0 -312
- data/vendor/ring/src/lib.rs +0 -41
- data/vendor/ring/src/pbkdf2.rs +0 -265
- data/vendor/ring/src/pbkdf2_tests.txt +0 -113
- data/vendor/ring/src/polyfill.rs +0 -57
- data/vendor/ring/src/rand.rs +0 -28
- data/vendor/ring/src/signature.rs +0 -314
- data/vendor/ring/third-party/NIST/README.md +0 -9
- data/vendor/ring/third-party/NIST/SHAVS/SHA1LongMsg.rsp +0 -263
- data/vendor/ring/third-party/NIST/SHAVS/SHA1Monte.rsp +0 -309
- data/vendor/ring/third-party/NIST/SHAVS/SHA1ShortMsg.rsp +0 -267
- data/vendor/ring/third-party/NIST/SHAVS/SHA224LongMsg.rsp +0 -263
- data/vendor/ring/third-party/NIST/SHAVS/SHA224Monte.rsp +0 -309
- data/vendor/ring/third-party/NIST/SHAVS/SHA224ShortMsg.rsp +0 -267
- data/vendor/ring/third-party/NIST/SHAVS/SHA256LongMsg.rsp +0 -263
- data/vendor/ring/third-party/NIST/SHAVS/SHA256Monte.rsp +0 -309
- data/vendor/ring/third-party/NIST/SHAVS/SHA256ShortMsg.rsp +0 -267
- data/vendor/ring/third-party/NIST/SHAVS/SHA384LongMsg.rsp +0 -519
- data/vendor/ring/third-party/NIST/SHAVS/SHA384Monte.rsp +0 -309
- data/vendor/ring/third-party/NIST/SHAVS/SHA384ShortMsg.rsp +0 -523
- data/vendor/ring/third-party/NIST/SHAVS/SHA512LongMsg.rsp +0 -519
- data/vendor/ring/third-party/NIST/SHAVS/SHA512Monte.rsp +0 -309
- data/vendor/ring/third-party/NIST/SHAVS/SHA512ShortMsg.rsp +0 -523
- data/vendor/ring/third-party/NIST/sha256sums.txt +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 591119fb8a2ee805dd336bb0b8d0e3b5e7e2e4e9
|
|
4
|
+
data.tar.gz: 28f0db203c9a43dedf8b95f2aa6c0c2c3db42927
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 587399deae2869d05176531cdaeb13f890479d6031ba3609b5ad34a9e9922826d20a523e2032d8a28ffb1b07c4a98f421edae657aa9d5d369be86c2532ebdc37
|
|
7
|
+
data.tar.gz: b72452bbd9e634bfc7708f708ee850fe295bbd32267723f2ab36870c8aec1d37794971b4bb8c75717c061dbc9c9b74d5de37d04529180f6be74734773ec68df3
|
data/.gitignore
CHANGED
data/CHANGES.md
ADDED
data/Makefile
ADDED
data/README.md
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
ring-native
|
|
2
2
|
===========
|
|
3
|
-
[](http://badge.fury.io/rb/ring-native)
|
|
4
|
+
[](https://github.com/briansmith/ring/blob/master/LICENSE)
|
|
4
5
|
|
|
5
|
-
The [*ring* cryptography library][ring] packaged as a RubyGem.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
The [*ring* cryptography library][ring] packaged as a RubyGem. This library
|
|
7
|
+
specifically bundles [ring-ffi], which builds *ring* as a dynamic library
|
|
8
|
+
intended for libffi bindings.
|
|
9
|
+
|
|
10
|
+
Since *ring* has no upstream releases, this gem will be released as periodic
|
|
11
|
+
snapshots with version numbers corresponding to the date the snapshot was taken
|
|
12
|
+
until such time as *ring* has versioned releases.
|
|
9
13
|
|
|
10
14
|
The boilerplate code in the ring-native gem is MIT along with the rest of the
|
|
11
15
|
ruby-ring gem, however *ring* itself is a fork of BoringSSL and therefore
|
|
@@ -15,8 +19,11 @@ For more information on the licensing of *ring* itself, please see the
|
|
|
15
19
|
[*ring* LICENSE][license].
|
|
16
20
|
|
|
17
21
|
[ring]: https://github.com/briansmith/ring/
|
|
22
|
+
[ring-ffi]: https://github.com/briansmith/ring-ffi
|
|
18
23
|
[license]: https://github.com/briansmith/ring/blob/master/LICENSE
|
|
19
24
|
|
|
20
25
|
# Usage
|
|
21
26
|
|
|
22
27
|
This gem is automatically installed along with the *ring* gem.
|
|
28
|
+
|
|
29
|
+
You will need rustc and cargo installed for *ring* to compile.
|
data/Rakefile
CHANGED
data/ext/ring/extconf.rb
CHANGED
|
@@ -2,16 +2,15 @@ require "fileutils"
|
|
|
2
2
|
|
|
3
3
|
def sys(cmd)
|
|
4
4
|
puts " -- #{cmd}"
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
system(cmd).tap do |ret|
|
|
6
|
+
fail "ERROR: '#{cmd}' failed" unless ret
|
|
7
7
|
end
|
|
8
|
-
ret
|
|
9
8
|
end
|
|
10
9
|
|
|
11
|
-
ring_src = File.expand_path("../../../vendor/ring", __FILE__)
|
|
10
|
+
ring_src = File.expand_path("../../../vendor/ring-ffi", __FILE__)
|
|
12
11
|
ring_dst = File.expand_path("../../../lib/ring/native", __FILE__)
|
|
13
12
|
|
|
14
|
-
filename = RUBY_DESCRIPTION[/darwin/] ? "
|
|
13
|
+
filename = RUBY_DESCRIPTION[/darwin/] ? "libringffi.dylib" : "libringffi.so"
|
|
15
14
|
|
|
16
15
|
Dir.chdir(ring_src) do
|
|
17
16
|
sys("cargo build --release")
|
data/lib/ring/native.rb
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
require "ring/native/version"
|
|
2
2
|
|
|
3
|
+
# The *ring* cryptography library
|
|
3
4
|
module Ring
|
|
5
|
+
# Native library binding
|
|
4
6
|
module Native
|
|
5
|
-
filename = RUBY_DESCRIPTION[/darwin/] ? "
|
|
7
|
+
filename = RUBY_DESCRIPTION[/darwin/] ? "libringffi.dylib" : "libringffi.so"
|
|
6
8
|
LIB_PATH = File.expand_path("../native/#{filename}", __FILE__)
|
|
7
9
|
end
|
|
8
10
|
end
|
data/lib/ring/native/version.rb
CHANGED
data/ring-native.gemspec
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
|
-
lib = File.expand_path(
|
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
-
require
|
|
4
|
+
require "ring/native/version"
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = "ring-native"
|
|
@@ -10,16 +10,16 @@ Gem::Specification.new do |spec|
|
|
|
10
10
|
spec.email = ["bascule@gmail.com"]
|
|
11
11
|
|
|
12
12
|
spec.summary = "The *ring* cryptography library, packaged as a RubyGem"
|
|
13
|
-
spec.description = "Snapshots of the *ring* cryptography library
|
|
13
|
+
spec.description = "Snapshots of the *ring* cryptography library (ring-ffi) packages as gems"
|
|
14
14
|
spec.homepage = "https://github.com/cryptosphere/ruby-ring"
|
|
15
15
|
spec.license = "OpenSSL"
|
|
16
16
|
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0")
|
|
18
|
-
spec.files
|
|
19
|
-
spec.require_paths = ["lib"]
|
|
18
|
+
spec.files += Dir.glob("vendor/ring-ffi/**/*")
|
|
20
19
|
|
|
20
|
+
spec.require_paths = ["lib"]
|
|
21
21
|
spec.extensions = ["ext/ring/extconf.rb"]
|
|
22
22
|
|
|
23
23
|
spec.add_development_dependency "bundler", "~> 1.11"
|
|
24
|
-
spec.add_development_dependency "rake",
|
|
24
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
|
25
25
|
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
[root]
|
|
2
|
+
name = "ring-ffi"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
dependencies = [
|
|
5
|
+
"ring 0.1.0 (git+https://github.com/briansmith/ring)",
|
|
6
|
+
]
|
|
7
|
+
|
|
8
|
+
[[package]]
|
|
9
|
+
name = "num"
|
|
10
|
+
version = "0.1.30"
|
|
11
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
12
|
+
|
|
13
|
+
[[package]]
|
|
14
|
+
name = "ring"
|
|
15
|
+
version = "0.1.0"
|
|
16
|
+
source = "git+https://github.com/briansmith/ring#c882c2c3ec837f14267991122dc20e6aba5700bc"
|
|
17
|
+
dependencies = [
|
|
18
|
+
"num 0.1.30 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
19
|
+
"rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
[[package]]
|
|
23
|
+
name = "rustc-serialize"
|
|
24
|
+
version = "0.3.16"
|
|
25
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
26
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Copyright 2015 Brian Smith.
|
|
2
|
+
#
|
|
3
|
+
# Permission to use, copy, modify, and/or distribute this software for any
|
|
4
|
+
# purpose with or without fee is hereby granted, provided that the above
|
|
5
|
+
# copyright notice and this permission notice appear in all copies.
|
|
6
|
+
#
|
|
7
|
+
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
|
|
8
|
+
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
9
|
+
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
|
|
10
|
+
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
11
|
+
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
12
|
+
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
13
|
+
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
14
|
+
|
|
15
|
+
[package]
|
|
16
|
+
authors = ["Brian Smith <brian@briansmith.org>"]
|
|
17
|
+
description = "FFI wrapper for *ring* to be used by non-Rust code."
|
|
18
|
+
license-file = "LICENSE"
|
|
19
|
+
name = "ring-ffi"
|
|
20
|
+
readme = "README.md"
|
|
21
|
+
repository = "https://github.com/briansmith/ring-ffi"
|
|
22
|
+
version = "0.1.0"
|
|
23
|
+
|
|
24
|
+
[lib]
|
|
25
|
+
name = "ringffi"
|
|
26
|
+
crate-type = ["dylib"]
|
|
27
|
+
|
|
28
|
+
[dependencies.ring]
|
|
29
|
+
git = "https://github.com/briansmith/ring"
|
|
30
|
+
|
|
31
|
+
[profile.bench]
|
|
32
|
+
opt-level = 3
|
|
33
|
+
debug = false
|
|
34
|
+
rpath = false
|
|
35
|
+
lto = true
|
|
36
|
+
debug-assertions = false
|
|
37
|
+
codegen-units = 1
|
|
38
|
+
|
|
39
|
+
[profile.release]
|
|
40
|
+
opt-level = 3
|
|
41
|
+
debug = false
|
|
42
|
+
rpath = false
|
|
43
|
+
lto = true
|
|
44
|
+
debug-assertions = false
|
|
45
|
+
codegen-units = 1
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Except as otherwise noted, this project is licensed under the following
|
|
2
|
+
(ISC-style) terms:
|
|
3
|
+
|
|
4
|
+
Copyright 2016 Brian Smith.
|
|
5
|
+
|
|
6
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
7
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
8
|
+
copyright notice and this permission notice appear in all copies.
|
|
9
|
+
|
|
10
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
|
|
11
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
12
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
|
|
13
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
14
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
15
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
16
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND BRIAN SMITH AND THE AUTHORS DISCLAIM
|
|
2
|
+
ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
|
|
3
|
+
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL BRIAN SMITH OR THE AUTHORS
|
|
4
|
+
BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
|
|
5
|
+
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
|
|
6
|
+
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
7
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
ring-ffi
|
|
12
|
+
========
|
|
13
|
+
|
|
14
|
+
[*ring*](https://github.com/briansmith/ring) is a crypto library in Rust based
|
|
15
|
+
on BoringSSL's crypto primitive implementations.
|
|
16
|
+
|
|
17
|
+
ring-ffi is a wrapper around *ring* that packages it in a shared library with a
|
|
18
|
+
libffi-compatible API. The goal is to use ring-ffi as the foundation for
|
|
19
|
+
*ring* bindings to Ruby, Python, Node.js, etc.
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
Language Bindings Being Developed
|
|
24
|
+
---------------------------------
|
|
25
|
+
|
|
26
|
+
Language | Bindings
|
|
27
|
+
------------ | --------
|
|
28
|
+
Ruby | [ruby-ring](https://github.com/cryptosphere/ruby-ring)
|
|
29
|
+
Rust | Just use the native [*ring*](https://github.com/briansmith/ring) API.
|
|
30
|
+
Python | [cryptography-ring](https://github.com/reaperhulk/cryptography-ring)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
Contributing
|
|
34
|
+
------------
|
|
35
|
+
|
|
36
|
+
Patches Welcome! Suggestions:
|
|
37
|
+
|
|
38
|
+
* Map more *ring* functionality to the libffi-compatible API.
|
|
39
|
+
* Improve the bindings for existing languages.
|
|
40
|
+
* Create bindings for new languages. (If you do so, please send a PR here to
|
|
41
|
+
add your binding to the table above.
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
License
|
|
46
|
+
-------
|
|
47
|
+
|
|
48
|
+
See [LICENSE](LICENSE).
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
Bug Reporting
|
|
53
|
+
-------------
|
|
54
|
+
|
|
55
|
+
Please file bugs in the
|
|
56
|
+
[issue tracker](https://github.com/briansmith/ring-ffi/issues). Yes, even
|
|
57
|
+
security vulnerabilities should be reported in the public issue tracker. **Do
|
|
58
|
+
NOT report any security vulnerability privately to
|
|
59
|
+
the *ring-ffi* developers.**
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
extern crate ring;
|
|
2
|
+
|
|
3
|
+
/// Moves `x` onto the heap and returns a mutable pointer to it.
|
|
4
|
+
fn heap_mut_ptr<T>(x: T) -> *mut T {
|
|
5
|
+
Box::into_raw(Box::new(x))
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/// Clones `*x` onto the heap and returns a mutable pointer to it.
|
|
9
|
+
unsafe fn clone_heap_mut_ptr<T: Clone>(x: *const T) -> *mut T {
|
|
10
|
+
heap_mut_ptr((*x).clone())
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
macro_rules! wrap_algorithm {
|
|
15
|
+
( $wrapper_name:ident, $t:ty, $alg:expr ) => {
|
|
16
|
+
/// Do NOT free the resulting pointer.
|
|
17
|
+
#[no_mangle]
|
|
18
|
+
pub unsafe fn $wrapper_name() -> *const $t {
|
|
19
|
+
$alg as *const $t
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
wrap_algorithm!(ring_digest_algorithm_sha1, ring::digest::Algorithm,
|
|
25
|
+
&ring::digest::SHA1);
|
|
26
|
+
wrap_algorithm!(ring_digest_algorithm_sha256, ring::digest::Algorithm,
|
|
27
|
+
&ring::digest::SHA256);
|
|
28
|
+
wrap_algorithm!(ring_digest_algorithm_sha384, ring::digest::Algorithm,
|
|
29
|
+
&ring::digest::SHA384);
|
|
30
|
+
wrap_algorithm!(ring_digest_algorithm_sha512, ring::digest::Algorithm,
|
|
31
|
+
&ring::digest::SHA512);
|
|
32
|
+
|
|
33
|
+
/// Returns a pointer to a heap-allocated `ring::digest::Context`. You must
|
|
34
|
+
/// call `ring_digest_context_finish` to free the returned context.
|
|
35
|
+
#[no_mangle]
|
|
36
|
+
pub unsafe fn ring_digest_context_new(algorithm: *const ring::digest::Algorithm)
|
|
37
|
+
-> *mut ring::digest::Context {
|
|
38
|
+
if algorithm.is_null() {
|
|
39
|
+
return std::ptr::null_mut();
|
|
40
|
+
}
|
|
41
|
+
heap_mut_ptr(ring::digest::Context::new(&*algorithm))
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/// Calls `ctx.update()` with the given data.
|
|
45
|
+
#[no_mangle]
|
|
46
|
+
pub unsafe fn ring_digest_context_update(ctx: *mut ring::digest::Context,
|
|
47
|
+
p: *const u8, len: usize) {
|
|
48
|
+
(*ctx).update(std::slice::from_raw_parts(p, len))
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/// Frees a context created by `ring_digest_context_new`.
|
|
52
|
+
#[no_mangle]
|
|
53
|
+
pub unsafe fn ring_digest_context_finish(ctx: *mut ring::digest::Context,
|
|
54
|
+
out: *mut u8, out_capacity: usize)
|
|
55
|
+
-> usize {
|
|
56
|
+
// We can't call `finish` on (*ctx). `x.finish()` consumes `x` but in the
|
|
57
|
+
// FFI interface we can't rely on the caller honoring Rust's move semantics.
|
|
58
|
+
let copy = (*ctx).clone();
|
|
59
|
+
let digest = copy.finish();
|
|
60
|
+
let digest = digest.as_ref();
|
|
61
|
+
let len = digest.len();
|
|
62
|
+
if len > out_capacity {
|
|
63
|
+
return 0;
|
|
64
|
+
}
|
|
65
|
+
std::ptr::copy_nonoverlapping(digest.as_ptr(), out, len);
|
|
66
|
+
len
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
#[no_mangle]
|
|
70
|
+
pub unsafe fn ring_digest_context_delete(ctx: *mut ring::digest::Context) {
|
|
71
|
+
let _ = Box::from_raw(ctx);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/// Clones a digest context, returning a pointer to the clone.
|
|
75
|
+
#[no_mangle]
|
|
76
|
+
pub unsafe fn ring_digest_context_clone(ctx: *mut ring::digest::Context)
|
|
77
|
+
-> *mut ring::digest::Context {
|
|
78
|
+
clone_heap_mut_ptr(ctx)
|
|
79
|
+
}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ring-native
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tony Arcieri
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-01-
|
|
11
|
+
date: 2016-01-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -38,7 +38,7 @@ dependencies:
|
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '10.0'
|
|
41
|
-
description: Snapshots of the *ring* cryptography library
|
|
41
|
+
description: Snapshots of the *ring* cryptography library (ring-ffi) packages as gems
|
|
42
42
|
email:
|
|
43
43
|
- bascule@gmail.com
|
|
44
44
|
executables: []
|
|
@@ -47,264 +47,20 @@ extensions:
|
|
|
47
47
|
extra_rdoc_files: []
|
|
48
48
|
files:
|
|
49
49
|
- ".gitignore"
|
|
50
|
+
- CHANGES.md
|
|
50
51
|
- Gemfile
|
|
52
|
+
- Makefile
|
|
51
53
|
- README.md
|
|
52
54
|
- Rakefile
|
|
53
55
|
- ext/ring/extconf.rb
|
|
54
56
|
- lib/ring/native.rb
|
|
55
57
|
- lib/ring/native/version.rb
|
|
56
58
|
- ring-native.gemspec
|
|
57
|
-
- vendor/ring/
|
|
58
|
-
- vendor/ring/Cargo.toml
|
|
59
|
-
- vendor/ring/LICENSE
|
|
60
|
-
- vendor/ring/
|
|
61
|
-
- vendor/ring/
|
|
62
|
-
- vendor/ring/README.md
|
|
63
|
-
- vendor/ring/STYLE.md
|
|
64
|
-
- vendor/ring/appveyor.yml
|
|
65
|
-
- vendor/ring/build.rs
|
|
66
|
-
- vendor/ring/crypto/aes/aes.c
|
|
67
|
-
- vendor/ring/crypto/aes/aes_test.Windows.vcxproj
|
|
68
|
-
- vendor/ring/crypto/aes/aes_test.cc
|
|
69
|
-
- vendor/ring/crypto/aes/asm/aes-586.pl
|
|
70
|
-
- vendor/ring/crypto/aes/asm/aes-armv4.pl
|
|
71
|
-
- vendor/ring/crypto/aes/asm/aes-x86_64.pl
|
|
72
|
-
- vendor/ring/crypto/aes/asm/aesni-x86.pl
|
|
73
|
-
- vendor/ring/crypto/aes/asm/aesni-x86_64.pl
|
|
74
|
-
- vendor/ring/crypto/aes/asm/aesv8-armx.pl
|
|
75
|
-
- vendor/ring/crypto/aes/asm/bsaes-armv7.pl
|
|
76
|
-
- vendor/ring/crypto/aes/asm/bsaes-x86_64.pl
|
|
77
|
-
- vendor/ring/crypto/aes/asm/vpaes-x86.pl
|
|
78
|
-
- vendor/ring/crypto/aes/asm/vpaes-x86_64.pl
|
|
79
|
-
- vendor/ring/crypto/aes/internal.h
|
|
80
|
-
- vendor/ring/crypto/aes/mode_wrappers.c
|
|
81
|
-
- vendor/ring/crypto/bn/add.c
|
|
82
|
-
- vendor/ring/crypto/bn/asm/armv4-mont.pl
|
|
83
|
-
- vendor/ring/crypto/bn/asm/armv8-mont.pl
|
|
84
|
-
- vendor/ring/crypto/bn/asm/bn-586.pl
|
|
85
|
-
- vendor/ring/crypto/bn/asm/co-586.pl
|
|
86
|
-
- vendor/ring/crypto/bn/asm/rsaz-avx2.pl
|
|
87
|
-
- vendor/ring/crypto/bn/asm/x86-mont.pl
|
|
88
|
-
- vendor/ring/crypto/bn/asm/x86_64-gcc.c
|
|
89
|
-
- vendor/ring/crypto/bn/asm/x86_64-mont.pl
|
|
90
|
-
- vendor/ring/crypto/bn/asm/x86_64-mont5.pl
|
|
91
|
-
- vendor/ring/crypto/bn/bn.c
|
|
92
|
-
- vendor/ring/crypto/bn/bn_asn1.c
|
|
93
|
-
- vendor/ring/crypto/bn/bn_test.Windows.vcxproj
|
|
94
|
-
- vendor/ring/crypto/bn/bn_test.cc
|
|
95
|
-
- vendor/ring/crypto/bn/cmp.c
|
|
96
|
-
- vendor/ring/crypto/bn/convert.c
|
|
97
|
-
- vendor/ring/crypto/bn/ctx.c
|
|
98
|
-
- vendor/ring/crypto/bn/div.c
|
|
99
|
-
- vendor/ring/crypto/bn/exponentiation.c
|
|
100
|
-
- vendor/ring/crypto/bn/gcd.c
|
|
101
|
-
- vendor/ring/crypto/bn/generic.c
|
|
102
|
-
- vendor/ring/crypto/bn/internal.h
|
|
103
|
-
- vendor/ring/crypto/bn/montgomery.c
|
|
104
|
-
- vendor/ring/crypto/bn/mul.c
|
|
105
|
-
- vendor/ring/crypto/bn/prime.c
|
|
106
|
-
- vendor/ring/crypto/bn/random.c
|
|
107
|
-
- vendor/ring/crypto/bn/rsaz_exp.c
|
|
108
|
-
- vendor/ring/crypto/bn/rsaz_exp.h
|
|
109
|
-
- vendor/ring/crypto/bn/shift.c
|
|
110
|
-
- vendor/ring/crypto/bytestring/bytestring_test.Windows.vcxproj
|
|
111
|
-
- vendor/ring/crypto/bytestring/bytestring_test.cc
|
|
112
|
-
- vendor/ring/crypto/bytestring/cbb.c
|
|
113
|
-
- vendor/ring/crypto/bytestring/cbs.c
|
|
114
|
-
- vendor/ring/crypto/bytestring/internal.h
|
|
115
|
-
- vendor/ring/crypto/chacha/chacha_generic.c
|
|
116
|
-
- vendor/ring/crypto/chacha/chacha_vec.c
|
|
117
|
-
- vendor/ring/crypto/chacha/chacha_vec_arm.S
|
|
118
|
-
- vendor/ring/crypto/chacha/chacha_vec_arm_generate.go
|
|
119
|
-
- vendor/ring/crypto/cipher/cipher_test.Windows.vcxproj
|
|
120
|
-
- vendor/ring/crypto/cipher/e_aes.c
|
|
121
|
-
- vendor/ring/crypto/cipher/e_chacha20poly1305.c
|
|
122
|
-
- vendor/ring/crypto/cipher/internal.h
|
|
123
|
-
- vendor/ring/crypto/cipher/test/aes_128_gcm_tests.txt
|
|
124
|
-
- vendor/ring/crypto/cipher/test/aes_128_key_wrap_tests.txt
|
|
125
|
-
- vendor/ring/crypto/cipher/test/aes_256_gcm_tests.txt
|
|
126
|
-
- vendor/ring/crypto/cipher/test/aes_256_key_wrap_tests.txt
|
|
127
|
-
- vendor/ring/crypto/cipher/test/chacha20_poly1305_old_tests.txt
|
|
128
|
-
- vendor/ring/crypto/cipher/test/chacha20_poly1305_tests.txt
|
|
129
|
-
- vendor/ring/crypto/cipher/test/cipher_test.txt
|
|
130
|
-
- vendor/ring/crypto/constant_time_test.Windows.vcxproj
|
|
131
|
-
- vendor/ring/crypto/constant_time_test.c
|
|
132
|
-
- vendor/ring/crypto/cpu-arm-asm.S
|
|
133
|
-
- vendor/ring/crypto/cpu-arm.c
|
|
134
|
-
- vendor/ring/crypto/cpu-intel.c
|
|
135
|
-
- vendor/ring/crypto/crypto.c
|
|
136
|
-
- vendor/ring/crypto/curve25519/asm/x25519-arm.S
|
|
137
|
-
- vendor/ring/crypto/curve25519/curve25519.c
|
|
138
|
-
- vendor/ring/crypto/curve25519/x25519_test.cc
|
|
139
|
-
- vendor/ring/crypto/digest/md32_common.h
|
|
140
|
-
- vendor/ring/crypto/ec/asm/p256-x86_64-asm.pl
|
|
141
|
-
- vendor/ring/crypto/ec/ec.c
|
|
142
|
-
- vendor/ring/crypto/ec/ec_curves.c
|
|
143
|
-
- vendor/ring/crypto/ec/ec_key.c
|
|
144
|
-
- vendor/ring/crypto/ec/ec_montgomery.c
|
|
145
|
-
- vendor/ring/crypto/ec/example_mul.Windows.vcxproj
|
|
146
|
-
- vendor/ring/crypto/ec/internal.h
|
|
147
|
-
- vendor/ring/crypto/ec/oct.c
|
|
148
|
-
- vendor/ring/crypto/ec/p256-64.c
|
|
149
|
-
- vendor/ring/crypto/ec/p256-x86_64-table.h
|
|
150
|
-
- vendor/ring/crypto/ec/p256-x86_64.c
|
|
151
|
-
- vendor/ring/crypto/ec/simple.c
|
|
152
|
-
- vendor/ring/crypto/ec/util-64.c
|
|
153
|
-
- vendor/ring/crypto/ec/wnaf.c
|
|
154
|
-
- vendor/ring/crypto/ecdh/ecdh.c
|
|
155
|
-
- vendor/ring/crypto/ecdsa/ecdsa.c
|
|
156
|
-
- vendor/ring/crypto/ecdsa/ecdsa_asn1.c
|
|
157
|
-
- vendor/ring/crypto/ecdsa/ecdsa_test.Windows.vcxproj
|
|
158
|
-
- vendor/ring/crypto/ecdsa/ecdsa_test.cc
|
|
159
|
-
- vendor/ring/crypto/header_removed.h
|
|
160
|
-
- vendor/ring/crypto/internal.h
|
|
161
|
-
- vendor/ring/crypto/libring.Windows.vcxproj
|
|
162
|
-
- vendor/ring/crypto/mem.c
|
|
163
|
-
- vendor/ring/crypto/modes/asm/aesni-gcm-x86_64.pl
|
|
164
|
-
- vendor/ring/crypto/modes/asm/ghash-armv4.pl
|
|
165
|
-
- vendor/ring/crypto/modes/asm/ghash-x86.pl
|
|
166
|
-
- vendor/ring/crypto/modes/asm/ghash-x86_64.pl
|
|
167
|
-
- vendor/ring/crypto/modes/asm/ghashv8-armx.pl
|
|
168
|
-
- vendor/ring/crypto/modes/ctr.c
|
|
169
|
-
- vendor/ring/crypto/modes/gcm.c
|
|
170
|
-
- vendor/ring/crypto/modes/gcm_test.Windows.vcxproj
|
|
171
|
-
- vendor/ring/crypto/modes/gcm_test.c
|
|
172
|
-
- vendor/ring/crypto/modes/internal.h
|
|
173
|
-
- vendor/ring/crypto/perlasm/arm-xlate.pl
|
|
174
|
-
- vendor/ring/crypto/perlasm/readme
|
|
175
|
-
- vendor/ring/crypto/perlasm/x86_64-xlate.pl
|
|
176
|
-
- vendor/ring/crypto/perlasm/x86asm.pl
|
|
177
|
-
- vendor/ring/crypto/perlasm/x86gas.pl
|
|
178
|
-
- vendor/ring/crypto/perlasm/x86masm.pl
|
|
179
|
-
- vendor/ring/crypto/perlasm/x86nasm.pl
|
|
180
|
-
- vendor/ring/crypto/poly1305/poly1305.c
|
|
181
|
-
- vendor/ring/crypto/poly1305/poly1305_arm.c
|
|
182
|
-
- vendor/ring/crypto/poly1305/poly1305_arm_asm.S
|
|
183
|
-
- vendor/ring/crypto/poly1305/poly1305_test.Windows.vcxproj
|
|
184
|
-
- vendor/ring/crypto/poly1305/poly1305_test.cc
|
|
185
|
-
- vendor/ring/crypto/poly1305/poly1305_test.txt
|
|
186
|
-
- vendor/ring/crypto/poly1305/poly1305_vec.c
|
|
187
|
-
- vendor/ring/crypto/rand/asm/rdrand-x86_64.pl
|
|
188
|
-
- vendor/ring/crypto/rand/internal.h
|
|
189
|
-
- vendor/ring/crypto/rand/rand.c
|
|
190
|
-
- vendor/ring/crypto/rand/urandom.c
|
|
191
|
-
- vendor/ring/crypto/rand/windows.c
|
|
192
|
-
- vendor/ring/crypto/refcount_c11.c
|
|
193
|
-
- vendor/ring/crypto/refcount_lock.c
|
|
194
|
-
- vendor/ring/crypto/refcount_test.Windows.vcxproj
|
|
195
|
-
- vendor/ring/crypto/refcount_test.c
|
|
196
|
-
- vendor/ring/crypto/rsa/blinding.c
|
|
197
|
-
- vendor/ring/crypto/rsa/internal.h
|
|
198
|
-
- vendor/ring/crypto/rsa/padding.c
|
|
199
|
-
- vendor/ring/crypto/rsa/rsa.c
|
|
200
|
-
- vendor/ring/crypto/rsa/rsa_asn1.c
|
|
201
|
-
- vendor/ring/crypto/rsa/rsa_impl.c
|
|
202
|
-
- vendor/ring/crypto/rsa/rsa_test.Windows.vcxproj
|
|
203
|
-
- vendor/ring/crypto/rsa/rsa_test.cc
|
|
204
|
-
- vendor/ring/crypto/sha/asm/sha-armv8.pl
|
|
205
|
-
- vendor/ring/crypto/sha/asm/sha-x86_64.pl
|
|
206
|
-
- vendor/ring/crypto/sha/asm/sha256-586.pl
|
|
207
|
-
- vendor/ring/crypto/sha/asm/sha256-armv4.pl
|
|
208
|
-
- vendor/ring/crypto/sha/asm/sha256-armv8.pl
|
|
209
|
-
- vendor/ring/crypto/sha/asm/sha256-x86_64.pl
|
|
210
|
-
- vendor/ring/crypto/sha/asm/sha512-586.pl
|
|
211
|
-
- vendor/ring/crypto/sha/asm/sha512-armv4.pl
|
|
212
|
-
- vendor/ring/crypto/sha/asm/sha512-armv8.pl
|
|
213
|
-
- vendor/ring/crypto/sha/asm/sha512-x86_64.pl
|
|
214
|
-
- vendor/ring/crypto/sha/sha1.c
|
|
215
|
-
- vendor/ring/crypto/sha/sha256.c
|
|
216
|
-
- vendor/ring/crypto/sha/sha512.c
|
|
217
|
-
- vendor/ring/crypto/test/file_test.cc
|
|
218
|
-
- vendor/ring/crypto/test/file_test.h
|
|
219
|
-
- vendor/ring/crypto/test/malloc.cc
|
|
220
|
-
- vendor/ring/crypto/test/scoped_types.h
|
|
221
|
-
- vendor/ring/crypto/test/test.Windows.vcxproj
|
|
222
|
-
- vendor/ring/crypto/test/test_util.cc
|
|
223
|
-
- vendor/ring/crypto/test/test_util.h
|
|
224
|
-
- vendor/ring/crypto/thread_none.c
|
|
225
|
-
- vendor/ring/crypto/thread_pthread.c
|
|
226
|
-
- vendor/ring/crypto/thread_test.Windows.vcxproj
|
|
227
|
-
- vendor/ring/crypto/thread_test.c
|
|
228
|
-
- vendor/ring/crypto/thread_win.c
|
|
229
|
-
- vendor/ring/examples/checkdigest.rs
|
|
230
|
-
- vendor/ring/include/openssl/aes.h
|
|
231
|
-
- vendor/ring/include/openssl/arm_arch.h
|
|
232
|
-
- vendor/ring/include/openssl/base.h
|
|
233
|
-
- vendor/ring/include/openssl/bn.h
|
|
234
|
-
- vendor/ring/include/openssl/buffer.h
|
|
235
|
-
- vendor/ring/include/openssl/bytestring.h
|
|
236
|
-
- vendor/ring/include/openssl/chacha.h
|
|
237
|
-
- vendor/ring/include/openssl/cmac.h
|
|
238
|
-
- vendor/ring/include/openssl/cpu.h
|
|
239
|
-
- vendor/ring/include/openssl/crypto.h
|
|
240
|
-
- vendor/ring/include/openssl/curve25519.h
|
|
241
|
-
- vendor/ring/include/openssl/ec.h
|
|
242
|
-
- vendor/ring/include/openssl/ec_key.h
|
|
243
|
-
- vendor/ring/include/openssl/ecdh.h
|
|
244
|
-
- vendor/ring/include/openssl/ecdsa.h
|
|
245
|
-
- vendor/ring/include/openssl/err.h
|
|
246
|
-
- vendor/ring/include/openssl/mem.h
|
|
247
|
-
- vendor/ring/include/openssl/obj_mac.h
|
|
248
|
-
- vendor/ring/include/openssl/opensslfeatures.h
|
|
249
|
-
- vendor/ring/include/openssl/opensslv.h
|
|
250
|
-
- vendor/ring/include/openssl/ossl_typ.h
|
|
251
|
-
- vendor/ring/include/openssl/poly1305.h
|
|
252
|
-
- vendor/ring/include/openssl/rand.h
|
|
253
|
-
- vendor/ring/include/openssl/rsa.h
|
|
254
|
-
- vendor/ring/include/openssl/thread.h
|
|
255
|
-
- vendor/ring/include/openssl/type_check.h
|
|
256
|
-
- vendor/ring/mk/Common.props
|
|
257
|
-
- vendor/ring/mk/Windows.props
|
|
258
|
-
- vendor/ring/mk/WindowsTest.props
|
|
259
|
-
- vendor/ring/mk/appveyor.bat
|
|
260
|
-
- vendor/ring/mk/bottom_of_makefile.mk
|
|
261
|
-
- vendor/ring/mk/ring.mk
|
|
262
|
-
- vendor/ring/mk/top_of_makefile.mk
|
|
263
|
-
- vendor/ring/mk/travis.sh
|
|
264
|
-
- vendor/ring/mk/update-travis-yml.py
|
|
265
|
-
- vendor/ring/ring.sln
|
|
266
|
-
- vendor/ring/src/aead.rs
|
|
267
|
-
- vendor/ring/src/agreement.rs
|
|
268
|
-
- vendor/ring/src/c.rs
|
|
269
|
-
- vendor/ring/src/constant_time.rs
|
|
270
|
-
- vendor/ring/src/der.rs
|
|
271
|
-
- vendor/ring/src/digest.rs
|
|
272
|
-
- vendor/ring/src/digest_tests.txt
|
|
273
|
-
- vendor/ring/src/ecc.rs
|
|
274
|
-
- vendor/ring/src/ecc_build.rs
|
|
275
|
-
- vendor/ring/src/ecc_curves.rs
|
|
276
|
-
- vendor/ring/src/ed25519_tests.txt
|
|
277
|
-
- vendor/ring/src/exe_tests.rs
|
|
278
|
-
- vendor/ring/src/ffi.rs
|
|
279
|
-
- vendor/ring/src/file_test.rs
|
|
280
|
-
- vendor/ring/src/hkdf.rs
|
|
281
|
-
- vendor/ring/src/hkdf_tests.txt
|
|
282
|
-
- vendor/ring/src/hmac.rs
|
|
283
|
-
- vendor/ring/src/hmac_tests.txt
|
|
284
|
-
- vendor/ring/src/input.rs
|
|
285
|
-
- vendor/ring/src/lib.rs
|
|
286
|
-
- vendor/ring/src/pbkdf2.rs
|
|
287
|
-
- vendor/ring/src/pbkdf2_tests.txt
|
|
288
|
-
- vendor/ring/src/polyfill.rs
|
|
289
|
-
- vendor/ring/src/rand.rs
|
|
290
|
-
- vendor/ring/src/signature.rs
|
|
291
|
-
- vendor/ring/third-party/NIST/README.md
|
|
292
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA1LongMsg.rsp
|
|
293
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA1Monte.rsp
|
|
294
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA1ShortMsg.rsp
|
|
295
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA224LongMsg.rsp
|
|
296
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA224Monte.rsp
|
|
297
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA224ShortMsg.rsp
|
|
298
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA256LongMsg.rsp
|
|
299
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA256Monte.rsp
|
|
300
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA256ShortMsg.rsp
|
|
301
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA384LongMsg.rsp
|
|
302
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA384Monte.rsp
|
|
303
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA384ShortMsg.rsp
|
|
304
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA512LongMsg.rsp
|
|
305
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA512Monte.rsp
|
|
306
|
-
- vendor/ring/third-party/NIST/SHAVS/SHA512ShortMsg.rsp
|
|
307
|
-
- vendor/ring/third-party/NIST/sha256sums.txt
|
|
59
|
+
- vendor/ring-ffi/Cargo.lock
|
|
60
|
+
- vendor/ring-ffi/Cargo.toml
|
|
61
|
+
- vendor/ring-ffi/LICENSE
|
|
62
|
+
- vendor/ring-ffi/README.md
|
|
63
|
+
- vendor/ring-ffi/src/lib.rs
|
|
308
64
|
homepage: https://github.com/cryptosphere/ruby-ring
|
|
309
65
|
licenses:
|
|
310
66
|
- OpenSSL
|
|
@@ -330,4 +86,3 @@ signing_key:
|
|
|
330
86
|
specification_version: 4
|
|
331
87
|
summary: The *ring* cryptography library, packaged as a RubyGem
|
|
332
88
|
test_files: []
|
|
333
|
-
has_rdoc:
|