krypt-provider-openssl 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/ext/krypt/provider/openssl/krypt-provider-ossl.h +5 -2
- data/ext/krypt/provider/openssl/krypt-provider.h +2 -6
- data/ext/krypt/provider/openssl/krypt_provider_ossl.c +20 -2
- data/lib/{krypt-provider-openssl.rb → krypt/provider/openssl.rb} +28 -1
- metadata +26 -15
- data/lib/kryptprovideropenssl.so +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 4a49d108af14bfc93b37ddfd78f793d818e0e4fc
|
4
|
+
data.tar.gz: 47c086c1bec091c894b284b03722df3ce70779d4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ec45052585088c6cdbccf9f667ebe70e7de9f87fafb8fead511d5b2294a4d6395d0d859d1d40e0ff3f57dc021cfe5d67095c4c609274d6397fe19e815c081b3a
|
7
|
+
data.tar.gz: 4cd0973daa001f597b511e625748841c228bf7554d041022cebc152003934c244be9764ddae4103daf813c5bcb338e9a82ed79a38d6ebfb5e897fbf127b7a990
|
@@ -49,9 +49,12 @@ extern "C" {
|
|
49
49
|
#include <openssl/ssl.h>
|
50
50
|
|
51
51
|
extern krypt_provider krypt_provider_ossl;
|
52
|
+
krypt_provider *krypt_ossl_provider_get(void);
|
52
53
|
|
53
|
-
|
54
|
-
|
54
|
+
void krypt_ossl_init(krypt_provider *provider, void *args);
|
55
|
+
void krypt_ossl_finalize(krypt_provider *provider);
|
56
|
+
krypt_md *krypt_ossl_md_new_oid(krypt_provider *provider, const char *oid);
|
57
|
+
krypt_md *krypt_ossl_md_new_name(krypt_provider *provider, const char *name);
|
55
58
|
|
56
59
|
#if defined(__cplusplus)
|
57
60
|
}
|
@@ -72,15 +72,11 @@ struct krypt_interface_md_st {
|
|
72
72
|
/* Provider */
|
73
73
|
struct krypt_provider_st {
|
74
74
|
const char *name;
|
75
|
+
void (*init)(krypt_provider *provider, void *args);
|
76
|
+
void (*finalize)(krypt_provider *provider);
|
75
77
|
krypt_md *(*md_new_oid)(krypt_provider *provider, const char *oid);
|
76
78
|
krypt_md *(*md_new_name)(krypt_provider *provider, const char *name);
|
77
79
|
};
|
78
80
|
|
79
|
-
/* Can be called from within a provider implementation to indicate errors */
|
80
|
-
extern void krypt_error_add(const char * format, ...);
|
81
|
-
|
82
|
-
/* May be used to register a singleton provider upon initialization */
|
83
|
-
extern void krypt_provider_register(krypt_provider *provider);
|
84
|
-
|
85
81
|
#endif /* _KRYPT_PROVIDER_H_ */
|
86
82
|
|
@@ -31,17 +31,35 @@
|
|
31
31
|
|
32
32
|
krypt_provider krypt_provider_ossl = {
|
33
33
|
"openssl",
|
34
|
+
krypt_ossl_init,
|
35
|
+
krypt_ossl_finalize,
|
34
36
|
krypt_ossl_md_new_oid,
|
35
37
|
krypt_ossl_md_new_name
|
36
38
|
};
|
37
39
|
|
40
|
+
krypt_provider *
|
41
|
+
krypt_ossl_get_provider(void) {
|
42
|
+
return &krypt_provider_ossl;
|
43
|
+
}
|
44
|
+
|
38
45
|
void
|
39
|
-
|
46
|
+
krypt_ossl_init(krypt_provider *provider, void *args)
|
40
47
|
{
|
41
48
|
OpenSSL_add_ssl_algorithms();
|
42
49
|
OpenSSL_add_all_algorithms();
|
43
50
|
ERR_load_crypto_strings();
|
44
51
|
SSL_load_error_strings();
|
52
|
+
}
|
53
|
+
|
54
|
+
void
|
55
|
+
krypt_ossl_finalize(krypt_provider *provider)
|
56
|
+
{
|
57
|
+
/* do nothing */
|
58
|
+
}
|
45
59
|
|
46
|
-
|
60
|
+
void
|
61
|
+
Init_kryptprovideropenssl(void)
|
62
|
+
{
|
63
|
+
/* do nothing */
|
47
64
|
}
|
65
|
+
|
@@ -30,5 +30,32 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
30
30
|
|
31
31
|
=end
|
32
32
|
|
33
|
-
require '
|
33
|
+
require 'ffi'
|
34
|
+
|
35
|
+
module Krypt
|
36
|
+
module Provider
|
37
|
+
|
38
|
+
class OpenSSL < Krypt::FFI::Provider
|
39
|
+
|
40
|
+
def initialize
|
41
|
+
super(Handle.krypt_ossl_get_provider)
|
42
|
+
end
|
43
|
+
|
44
|
+
module Handle
|
45
|
+
extend ::FFI::Library
|
46
|
+
|
47
|
+
# We cannot require the C extension in JRuby by default
|
48
|
+
if RUBY_PLATFORM =~ /java/
|
49
|
+
ffi_lib File.expand_path('../../kryptprovideropenssl.so', File.dirname(__FILE__))
|
50
|
+
else
|
51
|
+
require'kryptprovideropenssl.so'
|
52
|
+
ffi_lib ::FFI::CURRENT_PROCESS
|
53
|
+
end
|
54
|
+
|
55
|
+
attach_function :krypt_ossl_get_provider, [], :pointer
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
end
|
34
61
|
|
metadata
CHANGED
@@ -1,16 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: krypt-provider-openssl
|
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:
|
13
|
-
dependencies:
|
11
|
+
date: 2014-02-23 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: ffi
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
14
27
|
description: Implementation of the krypt-provider API using OpenSSL
|
15
28
|
email: Martin.Bosslet@gmail.com
|
16
29
|
executables: []
|
@@ -19,36 +32,34 @@ extensions:
|
|
19
32
|
extra_rdoc_files: []
|
20
33
|
files:
|
21
34
|
- LICENSE
|
22
|
-
- ext/krypt/provider/openssl/krypt_ossl_digest.c
|
23
35
|
- ext/krypt/provider/openssl/extconf.rb
|
24
|
-
- ext/krypt/provider/openssl/krypt_provider_ossl.c
|
25
36
|
- ext/krypt/provider/openssl/krypt-provider-ossl.h
|
26
37
|
- ext/krypt/provider/openssl/krypt-provider.h
|
27
|
-
-
|
28
|
-
-
|
38
|
+
- ext/krypt/provider/openssl/krypt_ossl_digest.c
|
39
|
+
- ext/krypt/provider/openssl/krypt_provider_ossl.c
|
40
|
+
- lib/krypt/provider/openssl.rb
|
29
41
|
homepage: https://github.com/krypt/krypt-provider-openssl
|
30
42
|
licenses:
|
31
43
|
- MIT
|
44
|
+
metadata: {}
|
32
45
|
post_install_message:
|
33
46
|
rdoc_options: []
|
34
47
|
require_paths:
|
35
48
|
- lib
|
36
49
|
required_ruby_version: !ruby/object:Gem::Requirement
|
37
|
-
none: false
|
38
50
|
requirements:
|
39
|
-
- -
|
51
|
+
- - ">="
|
40
52
|
- !ruby/object:Gem::Version
|
41
53
|
version: 1.9.3
|
42
54
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
55
|
requirements:
|
45
|
-
- -
|
56
|
+
- - ">"
|
46
57
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
58
|
+
version: 1.3.1
|
48
59
|
requirements: []
|
49
60
|
rubyforge_project:
|
50
|
-
rubygems_version:
|
61
|
+
rubygems_version: 2.2.0
|
51
62
|
signing_key:
|
52
|
-
specification_version:
|
63
|
+
specification_version: 4
|
53
64
|
summary: Default provider for C(++)-based Rubies
|
54
65
|
test_files: []
|
data/lib/kryptprovideropenssl.so
DELETED
Binary file
|