krypt-core 0.0.1 → 0.0.2.rc1
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 +7 -0
- data/README.rdoc +14 -0
- data/Rakefile +88 -0
- data/ext/krypt/core/krypt-core.c +1 -2
- data/ext/krypt/core/krypt-core.h +0 -12
- data/ext/krypt/core/krypt_asn1_parser.c +2 -2
- data/ext/krypt/core/krypt_missing.c +75 -0
- data/ext/krypt/core/krypt_missing.h +5 -0
- data/ext/krypt/core/krypt_pem.c +1 -1
- data/lib/{krypt-core.rb → krypt/core.rb} +8 -1
- metadata +40 -80
- data/ext/krypt/core/Makefile +0 -221
- data/ext/krypt/core/extconf.h +0 -8
- data/ext/krypt/core/krypt-core.o +0 -0
- data/ext/krypt/core/krypt-provider.h +0 -86
- data/ext/krypt/core/krypt_asn1-internal.o +0 -0
- data/ext/krypt/core/krypt_asn1.o +0 -0
- data/ext/krypt/core/krypt_asn1_codec.o +0 -0
- data/ext/krypt/core/krypt_asn1_in_adapter.o +0 -0
- data/ext/krypt/core/krypt_asn1_in_chunked.o +0 -0
- data/ext/krypt/core/krypt_asn1_in_definite.o +0 -0
- data/ext/krypt/core/krypt_asn1_parser.o +0 -0
- data/ext/krypt/core/krypt_asn1_template.o +0 -0
- data/ext/krypt/core/krypt_asn1_template_encoder.o +0 -0
- data/ext/krypt/core/krypt_asn1_template_parser.o +0 -0
- data/ext/krypt/core/krypt_b64.o +0 -0
- data/ext/krypt/core/krypt_digest.c +0 -391
- data/ext/krypt/core/krypt_digest.h +0 -51
- data/ext/krypt/core/krypt_digest.o +0 -0
- data/ext/krypt/core/krypt_error.o +0 -0
- data/ext/krypt/core/krypt_hex.o +0 -0
- data/ext/krypt/core/krypt_io.o +0 -0
- data/ext/krypt/core/krypt_io_in_pem.o +0 -0
- data/ext/krypt/core/krypt_missing.o +0 -0
- data/ext/krypt/core/krypt_pem.o +0 -0
- data/ext/krypt/core/krypt_provider-internal.h +0 -40
- data/ext/krypt/core/krypt_provider.c +0 -136
- data/ext/krypt/core/krypt_provider.o +0 -0
- data/ext/krypt/core/kryptcore.so +0 -0
- data/ext/krypt/core/mkmf.log +0 -130
- data/lib/krypt-core/version.rb +0 -3
- data/lib/kryptcore.so +0 -0
- data/spec/README +0 -2
- data/test/README +0 -2
- data/test/res/certificate.cer +0 -0
- data/test/resources.rb +0 -48
- data/test/scratch.rb +0 -17
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d544e2c899e9a8eb9b8b526d21086e7c90b5cca8
|
4
|
+
data.tar.gz: 5b4f288dbca756ba15e47631221c8133985b671f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e4ec5681d1746859827612c4d7b412e2dbb0b193a3f852822d566a1ecc449c621f92769c313a094736ce2517b5f4f415e383bc36a7e202276ff95a140b839ed4
|
7
|
+
data.tar.gz: 4a1a55537650dfa7c460ab2e95e87bc1de30566b907009caabab6da8d106eda06659a53a64098fd890c940e27915c9d18450dba112ce5083accacf46612e7723
|
data/README.rdoc
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
== krypt-core-c
|
2
|
+
|
3
|
+
The C implementation of the krypt-core API.
|
4
|
+
|
5
|
+
== krypt
|
6
|
+
|
7
|
+
For more information about krypt, please have a
|
8
|
+
look at the project and its wiki at
|
9
|
+
|
10
|
+
https://github.com/krypt/krypt
|
11
|
+
|
12
|
+
Copyright (c) 2011-2013
|
13
|
+
Hiroshi Nakamura <nahi@ruby-lang.org>
|
14
|
+
Martin Bosslet <Martin.Bosslet@gmail.com>
|
data/Rakefile
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'rake'
|
2
|
+
require 'rake/extensiontask'
|
3
|
+
require 'rspec/core/rake_task'
|
4
|
+
require 'rdoc/task'
|
5
|
+
|
6
|
+
KRYPT_HOME = '../krypt'
|
7
|
+
|
8
|
+
$config_options = []
|
9
|
+
|
10
|
+
task :default => :compile
|
11
|
+
|
12
|
+
task :clean do
|
13
|
+
rm_f FileList['*.gcov']
|
14
|
+
end
|
15
|
+
|
16
|
+
Rake::ExtensionTask.new('kryptcore') do |ext|
|
17
|
+
ext.ext_dir = "ext/krypt/core"
|
18
|
+
ext.lib_dir = "lib"
|
19
|
+
ext.config_options = $config_options
|
20
|
+
ext.cross_compile = true
|
21
|
+
ext.cross_platform = 'i386-mswin32'
|
22
|
+
end
|
23
|
+
|
24
|
+
RSpec::Core::RakeTask.new('spec-run') do |spec|
|
25
|
+
spec.pattern = File.join(KRYPT_HOME, 'spec/**/*_spec.rb')
|
26
|
+
spec.fail_on_error = false
|
27
|
+
end
|
28
|
+
|
29
|
+
task 'enable-coverage' do
|
30
|
+
# ugly, but we cannot define 2 ExtensionTasks for the same ext.name.
|
31
|
+
$config_options << '-g'
|
32
|
+
end
|
33
|
+
|
34
|
+
task 'enable-profiler' do
|
35
|
+
#to enable profiling run
|
36
|
+
#rake build:profiler -- --with-profiler-dir=<path_to>/gperftools/'
|
37
|
+
$config_options << '-p'
|
38
|
+
end
|
39
|
+
|
40
|
+
desc 'requires gcov and lcov in $PATH'
|
41
|
+
task 'report-coverage' do
|
42
|
+
outdir = File.dirname(Dir['tmp/**/Makefile'].first)
|
43
|
+
curdir = Dir.pwd
|
44
|
+
Dir.chdir(outdir) do
|
45
|
+
sh "lcov -c -i -d . -o kryptcore_base.info"
|
46
|
+
Dir.entries("#{curdir}/ext/krypt/core").each do |f|
|
47
|
+
next if File.directory? f || f !~ /\.[hc]$/
|
48
|
+
# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=535755
|
49
|
+
sh "gcov -o . #{f}"
|
50
|
+
end
|
51
|
+
sh "lcov -c -d . -o kryptcore.info"
|
52
|
+
sh "lcov -a kryptcore.info -a kryptcore_base.info -o kryptcore_total.info"
|
53
|
+
sh "lcov -r kryptcore_total.info ruby.h --output-file kryptcore_total.info"
|
54
|
+
sh "lcov -r kryptcore_total.info '*include*' --output-file kryptcore_total.info"
|
55
|
+
sh "genhtml -o coverage kryptcore_total.info"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
desc 'Build ext for coverage and generate a coverage report of spec.'
|
60
|
+
task 'coverage' => ['clean', 'enable-coverage', 'compile', 'spec-run', 'report-coverage']
|
61
|
+
|
62
|
+
desc 'Build and run RSpec code examples'
|
63
|
+
task 'spec' => ['compile', 'spec-run']
|
64
|
+
|
65
|
+
task 'build' => 'compile'
|
66
|
+
|
67
|
+
task 'build-debug' => ['enable-coverage', 'build']
|
68
|
+
task 'build-profiler' => ['enable-profiler', 'build']
|
69
|
+
|
70
|
+
Rake::RDocTask.new("doc") do |rdoc|
|
71
|
+
rdoc.rdoc_dir = 'doc'
|
72
|
+
rdoc.title = "Krypt-Core API"
|
73
|
+
rdoc.rdoc_files.include('README.rdoc')
|
74
|
+
rdoc.rdoc_files.include('ext/**/*')
|
75
|
+
end
|
76
|
+
|
77
|
+
desc 'Ensure that bundle is installed for spec run'
|
78
|
+
task 'bundler-install' do
|
79
|
+
sh 'bundle install'
|
80
|
+
end
|
81
|
+
|
82
|
+
desc 'Run the specs for valgrind analysis'
|
83
|
+
task 'valgrind-spec-run' do
|
84
|
+
sh 'valgrind --suppressions=.ruby.supp --leak-check=full --num-callers=50 --partial-loads-ok=yes --undef-value-errors=no --trace-children=yes bundle exec rake spec'
|
85
|
+
end
|
86
|
+
|
87
|
+
desc 'Build from scratch with debug symbols and run valgrind on a spec run (requires valgrind on PATH)'
|
88
|
+
task 'valgrind' => ['clean', 'build-debug', 'bundler-install', 'valgrind-spec-run']
|
data/ext/krypt/core/krypt-core.c
CHANGED
data/ext/krypt/core/krypt-core.h
CHANGED
@@ -29,8 +29,6 @@
|
|
29
29
|
#if !defined(_KRYPT_CORE_H_)
|
30
30
|
#define _KRYPT_CORE_H_
|
31
31
|
|
32
|
-
#include RUBY_EXTCONF_H
|
33
|
-
|
34
32
|
#if defined(__cplusplus)
|
35
33
|
extern "C" {
|
36
34
|
#endif
|
@@ -38,11 +36,6 @@ extern "C" {
|
|
38
36
|
#define RSTRING_NOT_MODIFIED 1
|
39
37
|
#define RUBY_READONLY_STRING 1
|
40
38
|
|
41
|
-
#include <ruby.h>
|
42
|
-
|
43
|
-
#if defined(HAVE_RUBY_IO_H)
|
44
|
-
#include <ruby/io.h>
|
45
|
-
#endif
|
46
39
|
|
47
40
|
/* This is just a precaution to take remind us of thread safety
|
48
41
|
* issues in case there would be no GVL */
|
@@ -60,17 +53,12 @@ extern ID sKrypt_ID_EQUALS;
|
|
60
53
|
extern ID sKrypt_ID_SORT_BANG;
|
61
54
|
extern ID sKrypt_ID_SORT;
|
62
55
|
|
63
|
-
/** krypt-provider interface */
|
64
|
-
#include "krypt-provider.h"
|
65
|
-
#include "krypt_provider-internal.h"
|
66
|
-
|
67
56
|
/** krypt-core headers **/
|
68
57
|
#include "krypt_error.h"
|
69
58
|
#include "krypt_missing.h"
|
70
59
|
#include "krypt_io.h"
|
71
60
|
#include "krypt_asn1.h"
|
72
61
|
#include "krypt_asn1_template.h"
|
73
|
-
#include "krypt_digest.h"
|
74
62
|
|
75
63
|
VALUE krypt_to_der_if_possible(VALUE obj);
|
76
64
|
VALUE krypt_to_der(VALUE obj);
|
@@ -105,8 +105,8 @@ int_asn1_header_new(binyo_instream *in, krypt_asn1_header *header)
|
|
105
105
|
parsed_header->tag_class = ID2SYM(tag_class);
|
106
106
|
parsed_header->constructed = header->is_constructed ? Qtrue : Qfalse;
|
107
107
|
parsed_header->infinite = header->is_infinite ? Qtrue : Qfalse;
|
108
|
-
parsed_header->length =
|
109
|
-
parsed_header->header_length =
|
108
|
+
parsed_header->length = SIZET2NUM(header->length);
|
109
|
+
parsed_header->header_length = SIZET2NUM(header->tag_len + header->length_len);
|
110
110
|
parsed_header->in = in;
|
111
111
|
parsed_header->header = header;
|
112
112
|
parsed_header->value = Qnil;
|
@@ -28,6 +28,9 @@
|
|
28
28
|
|
29
29
|
#include "krypt-core.h"
|
30
30
|
|
31
|
+
VALUE mKryptHelper;
|
32
|
+
VALUE mKryptHelperString;
|
33
|
+
|
31
34
|
#ifndef HAVE_RB_STR_ENCODE
|
32
35
|
VALUE
|
33
36
|
rb_str_encode(VALUE str, VALUE to, int ecflags, VALUE ecopts)
|
@@ -236,3 +239,75 @@ int krypt_asn1_decode_bignum(uint8_t *bytes, size_t len, VALUE *out)
|
|
236
239
|
}
|
237
240
|
#endif
|
238
241
|
|
242
|
+
static VALUE
|
243
|
+
krypt_helper_string_buffer(VALUE self, VALUE size)
|
244
|
+
{
|
245
|
+
return rb_str_buf_new(NUM2LONG(size));
|
246
|
+
}
|
247
|
+
|
248
|
+
static inline long
|
249
|
+
int_check_and_get_len(VALUE s1, VALUE s2)
|
250
|
+
{
|
251
|
+
long len = RSTRING_LEN(s1);
|
252
|
+
if (RSTRING_LEN(s2) != len) {
|
253
|
+
rb_raise(eKryptError, "String sizes don't match");
|
254
|
+
}
|
255
|
+
return len;
|
256
|
+
}
|
257
|
+
|
258
|
+
static inline void
|
259
|
+
int_xor(char *source1, char *source2, char *target, long len)
|
260
|
+
{
|
261
|
+
int i;
|
262
|
+
for (i = 0; i < len; i++) {
|
263
|
+
target[i] = source1[i] ^ source2[i];
|
264
|
+
}
|
265
|
+
}
|
266
|
+
|
267
|
+
|
268
|
+
static VALUE
|
269
|
+
krypt_helper_string_xor(VALUE self, VALUE s1, VALUE s2)
|
270
|
+
{
|
271
|
+
long len = int_check_and_get_len(s1, s2);
|
272
|
+
char *result = ALLOCA_N(char, len);
|
273
|
+
|
274
|
+
int_xor(RSTRING_PTR(s1), RSTRING_PTR(s2), result, len);
|
275
|
+
return rb_str_new(result, len);
|
276
|
+
}
|
277
|
+
|
278
|
+
static VALUE
|
279
|
+
krypt_helper_string_xor_bang(VALUE self, VALUE s1, VALUE s2)
|
280
|
+
{
|
281
|
+
long len = int_check_and_get_len(s1, s2);
|
282
|
+
#ifndef HAVE_RB_STR_PTR_READONLY
|
283
|
+
char *result = RSTRING_PTR(s1);
|
284
|
+
#else
|
285
|
+
/* Rubinius: We use RUBY_READ_ONLY_STRING, so we can't write to the
|
286
|
+
RSTRING_PTR directly */
|
287
|
+
char *result = rb_str_ptr(s1);
|
288
|
+
#endif
|
289
|
+
int_xor(result, RSTRING_PTR(s2), result, len);
|
290
|
+
return s1;
|
291
|
+
}
|
292
|
+
|
293
|
+
void Init_krypt_helper(void)
|
294
|
+
{
|
295
|
+
#if 0
|
296
|
+
mKrypt = rb_define_module("Krypt"); /* Let RDoc know */
|
297
|
+
#endif
|
298
|
+
|
299
|
+
mKryptHelper = rb_path2class("Krypt::Helper");
|
300
|
+
|
301
|
+
/*
|
302
|
+
* Document-module: Krypt::Helper::String
|
303
|
+
*
|
304
|
+
* Provides features not available in the String class itself to deal
|
305
|
+
* efficiently with binary data.
|
306
|
+
*/
|
307
|
+
mKryptHelperString = rb_define_module_under(mKryptHelper, "String");
|
308
|
+
|
309
|
+
rb_define_module_function(mKryptHelperString, "buffer", krypt_helper_string_buffer, 1);
|
310
|
+
rb_define_module_function(mKryptHelperString, "xor", krypt_helper_string_xor, 2);
|
311
|
+
rb_define_module_function(mKryptHelperString, "xor!", krypt_helper_string_xor_bang, 2);
|
312
|
+
}
|
313
|
+
|
@@ -55,6 +55,11 @@ struct tm *krypt_gmtime_r(const time_t *tp, struct tm *result);
|
|
55
55
|
#define gmtime_r(t, tm) krypt_gmtime_r((t), (tm))
|
56
56
|
#endif
|
57
57
|
|
58
|
+
extern VALUE mKryptHelper;
|
59
|
+
extern VALUE mKryptHelperString;
|
60
|
+
|
61
|
+
void Init_krypt_helper(void);
|
62
|
+
|
58
63
|
int krypt_asn1_encode_bignum(VALUE bignum, uint8_t **out, size_t *len);
|
59
64
|
int krypt_asn1_decode_bignum(uint8_t *bytes, size_t len, VALUE *out);
|
60
65
|
|
data/ext/krypt/core/krypt_pem.c
CHANGED
@@ -118,7 +118,7 @@ krypt_pem_decode(VALUE self, VALUE pem)
|
|
118
118
|
if (krypt_pem_get_last_name(in, &name, &len) == BINYO_ERR) goto error;
|
119
119
|
vname = rb_str_new((const char *) name, len);
|
120
120
|
xfree(name);
|
121
|
-
rb_yield_values(3, der, vname,
|
121
|
+
rb_yield_values(3, der, vname, SIZET2NUM(i++));
|
122
122
|
}
|
123
123
|
krypt_pem_continue_stream(in);
|
124
124
|
}
|
@@ -30,6 +30,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
30
30
|
|
31
31
|
=end
|
32
32
|
|
33
|
+
# The order is important - kryptcore.so depends on binyo
|
33
34
|
require 'binyo'
|
34
35
|
require 'kryptcore.so'
|
35
|
-
require 'krypt
|
36
|
+
require 'krypt/provider/openssl'
|
37
|
+
|
38
|
+
begin
|
39
|
+
ossl = Krypt::Provider::OpenSSL.new
|
40
|
+
Krypt::Provider.register(ossl)
|
41
|
+
end
|
42
|
+
|
metadata
CHANGED
@@ -1,48 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: krypt-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2.rc1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Hiroshi Nakamura, Martin Bosslet
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-02-23 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: binyo
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - '='
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.0.
|
19
|
+
version: 0.0.2.rc1
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - '='
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.0.
|
26
|
+
version: 0.0.2.rc1
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: krypt-provider-openssl
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - '='
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.0.
|
33
|
+
version: 0.0.2.rc1
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - '='
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.0.
|
40
|
+
version: 0.0.2.rc1
|
46
41
|
description: krypt-core API for C(++)-based Rubies
|
47
42
|
email: Martin.Bosslet@gmail.com
|
48
43
|
executables: []
|
@@ -51,100 +46,65 @@ extensions:
|
|
51
46
|
extra_rdoc_files: []
|
52
47
|
files:
|
53
48
|
- LICENSE
|
54
|
-
-
|
55
|
-
-
|
56
|
-
- ext/krypt/core/krypt_asn1_in_adapter.c
|
57
|
-
- ext/krypt/core/krypt_missing.h
|
58
|
-
- ext/krypt/core/krypt_asn1_in_definite.c
|
59
|
-
- ext/krypt/core/krypt-core.h
|
60
|
-
- ext/krypt/core/Makefile
|
61
|
-
- ext/krypt/core/binyo-io-buffer.h
|
62
|
-
- ext/krypt/core/krypt_asn1.h
|
63
|
-
- ext/krypt/core/krypt_io_in_pem.c
|
64
|
-
- ext/krypt/core/krypt_io_in_pem.o
|
65
|
-
- ext/krypt/core/krypt_hex.c
|
66
|
-
- ext/krypt/core/krypt_asn1_in_definite.o
|
67
|
-
- ext/krypt/core/krypt_asn1_template-internal.h
|
68
|
-
- ext/krypt/core/krypt_provider.c
|
69
|
-
- ext/krypt/core/krypt_b64.o
|
49
|
+
- README.rdoc
|
50
|
+
- Rakefile
|
70
51
|
- ext/krypt/core/binyo-error.h
|
71
|
-
- ext/krypt/core/
|
72
|
-
- ext/krypt/core/extconf.rb
|
73
|
-
- ext/krypt/core/krypt_asn1-internal.c
|
74
|
-
- ext/krypt/core/krypt_pem.o
|
75
|
-
- ext/krypt/core/krypt_hex.h
|
76
|
-
- ext/krypt/core/krypt_digest.h
|
52
|
+
- ext/krypt/core/binyo-io-buffer.h
|
77
53
|
- ext/krypt/core/binyo-io.h
|
78
|
-
- ext/krypt/core/
|
79
|
-
- ext/krypt/core/krypt_error.c
|
80
|
-
- ext/krypt/core/krypt_asn1_template_encoder.c
|
81
|
-
- ext/krypt/core/krypt_asn1_parser.c
|
82
|
-
- ext/krypt/core/krypt_b64.h
|
83
|
-
- ext/krypt/core/krypt_provider.o
|
54
|
+
- ext/krypt/core/extconf.rb
|
84
55
|
- ext/krypt/core/krypt-core.c
|
85
|
-
- ext/krypt/core/
|
86
|
-
- ext/krypt/core/krypt_asn1-internal.
|
56
|
+
- ext/krypt/core/krypt-core.h
|
57
|
+
- ext/krypt/core/krypt_asn1-internal.c
|
87
58
|
- ext/krypt/core/krypt_asn1-internal.h
|
88
|
-
- ext/krypt/core/
|
89
|
-
- ext/krypt/core/
|
90
|
-
- ext/krypt/core/
|
91
|
-
- ext/krypt/core/
|
92
|
-
- ext/krypt/core/
|
93
|
-
- ext/krypt/core/
|
94
|
-
- ext/krypt/core/
|
95
|
-
- ext/krypt/core/
|
96
|
-
- ext/krypt/core/krypt_missing.c
|
97
|
-
- ext/krypt/core/krypt_asn1_template_parser.c
|
59
|
+
- ext/krypt/core/krypt_asn1.c
|
60
|
+
- ext/krypt/core/krypt_asn1.h
|
61
|
+
- ext/krypt/core/krypt_asn1_codec.c
|
62
|
+
- ext/krypt/core/krypt_asn1_in_adapter.c
|
63
|
+
- ext/krypt/core/krypt_asn1_in_chunked.c
|
64
|
+
- ext/krypt/core/krypt_asn1_in_definite.c
|
65
|
+
- ext/krypt/core/krypt_asn1_parser.c
|
66
|
+
- ext/krypt/core/krypt_asn1_template-internal.h
|
98
67
|
- ext/krypt/core/krypt_asn1_template.c
|
99
|
-
- ext/krypt/core/
|
68
|
+
- ext/krypt/core/krypt_asn1_template.h
|
69
|
+
- ext/krypt/core/krypt_asn1_template_encoder.c
|
70
|
+
- ext/krypt/core/krypt_asn1_template_parser.c
|
100
71
|
- ext/krypt/core/krypt_b64-internal.h
|
101
|
-
- ext/krypt/core/kryptcore.so
|
102
|
-
- ext/krypt/core/krypt_hex.o
|
103
|
-
- ext/krypt/core/krypt_asn1_parser.o
|
104
|
-
- ext/krypt/core/krypt_pem.c
|
105
|
-
- ext/krypt/core/extconf.h
|
106
|
-
- ext/krypt/core/krypt_asn1_in_chunked.o
|
107
|
-
- ext/krypt/core/krypt_asn1_codec.c
|
108
|
-
- ext/krypt/core/krypt_missing.o
|
109
72
|
- ext/krypt/core/krypt_b64.c
|
73
|
+
- ext/krypt/core/krypt_b64.h
|
74
|
+
- ext/krypt/core/krypt_error.c
|
110
75
|
- ext/krypt/core/krypt_error.h
|
111
|
-
- ext/krypt/core/krypt_asn1_in_chunked.c
|
112
76
|
- ext/krypt/core/krypt_hex-internal.h
|
113
|
-
- ext/krypt/core/
|
114
|
-
- ext/krypt/core/
|
115
|
-
- ext/krypt/core/
|
116
|
-
- ext/krypt/core/
|
117
|
-
-
|
118
|
-
-
|
119
|
-
-
|
120
|
-
-
|
121
|
-
-
|
122
|
-
- test/README
|
123
|
-
- test/resources.rb
|
124
|
-
- test/res/certificate.cer
|
77
|
+
- ext/krypt/core/krypt_hex.c
|
78
|
+
- ext/krypt/core/krypt_hex.h
|
79
|
+
- ext/krypt/core/krypt_io.c
|
80
|
+
- ext/krypt/core/krypt_io.h
|
81
|
+
- ext/krypt/core/krypt_io_in_pem.c
|
82
|
+
- ext/krypt/core/krypt_missing.c
|
83
|
+
- ext/krypt/core/krypt_missing.h
|
84
|
+
- ext/krypt/core/krypt_pem.c
|
85
|
+
- lib/krypt/core.rb
|
125
86
|
homepage: https://github.com/krypt/krypt-core-c
|
126
87
|
licenses:
|
127
88
|
- MIT
|
89
|
+
metadata: {}
|
128
90
|
post_install_message:
|
129
91
|
rdoc_options: []
|
130
92
|
require_paths:
|
131
93
|
- lib
|
132
94
|
required_ruby_version: !ruby/object:Gem::Requirement
|
133
|
-
none: false
|
134
95
|
requirements:
|
135
|
-
- -
|
96
|
+
- - ">="
|
136
97
|
- !ruby/object:Gem::Version
|
137
98
|
version: 1.9.3
|
138
99
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
|
-
none: false
|
140
100
|
requirements:
|
141
|
-
- -
|
101
|
+
- - ">"
|
142
102
|
- !ruby/object:Gem::Version
|
143
|
-
version:
|
103
|
+
version: 1.3.1
|
144
104
|
requirements: []
|
145
105
|
rubyforge_project:
|
146
|
-
rubygems_version:
|
106
|
+
rubygems_version: 2.2.0
|
147
107
|
signing_key:
|
148
|
-
specification_version:
|
108
|
+
specification_version: 4
|
149
109
|
summary: C implementation of the krypt-core API
|
150
110
|
test_files: []
|