rubysl-openssl 0.0.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +0 -1
  3. data/.travis.yml +7 -0
  4. data/README.md +2 -2
  5. data/Rakefile +0 -1
  6. data/ext/rubysl/openssl/extconf.h +50 -0
  7. data/ext/rubysl/openssl/extconf.rb +144 -0
  8. data/ext/rubysl/openssl/openssl_missing.c +343 -0
  9. data/ext/rubysl/openssl/openssl_missing.h +191 -0
  10. data/ext/rubysl/openssl/ossl.c +552 -0
  11. data/ext/rubysl/openssl/ossl.h +233 -0
  12. data/ext/rubysl/openssl/ossl_asn1.c +1160 -0
  13. data/ext/rubysl/openssl/ossl_asn1.h +59 -0
  14. data/ext/rubysl/openssl/ossl_bio.c +86 -0
  15. data/ext/rubysl/openssl/ossl_bio.h +21 -0
  16. data/ext/rubysl/openssl/ossl_bn.c +852 -0
  17. data/ext/rubysl/openssl/ossl_bn.h +25 -0
  18. data/ext/rubysl/openssl/ossl_cipher.c +569 -0
  19. data/ext/rubysl/openssl/ossl_cipher.h +22 -0
  20. data/ext/rubysl/openssl/ossl_config.c +75 -0
  21. data/ext/rubysl/openssl/ossl_config.h +22 -0
  22. data/ext/rubysl/openssl/ossl_digest.c +259 -0
  23. data/ext/rubysl/openssl/ossl_digest.h +22 -0
  24. data/ext/rubysl/openssl/ossl_engine.c +411 -0
  25. data/ext/rubysl/openssl/ossl_engine.h +20 -0
  26. data/ext/rubysl/openssl/ossl_hmac.c +268 -0
  27. data/ext/rubysl/openssl/ossl_hmac.h +19 -0
  28. data/ext/rubysl/openssl/ossl_ns_spki.c +257 -0
  29. data/ext/rubysl/openssl/ossl_ns_spki.h +21 -0
  30. data/ext/rubysl/openssl/ossl_ocsp.c +769 -0
  31. data/ext/rubysl/openssl/ossl_ocsp.h +24 -0
  32. data/ext/rubysl/openssl/ossl_pkcs12.c +210 -0
  33. data/ext/rubysl/openssl/ossl_pkcs12.h +15 -0
  34. data/ext/rubysl/openssl/ossl_pkcs5.c +99 -0
  35. data/ext/rubysl/openssl/ossl_pkcs5.h +6 -0
  36. data/ext/rubysl/openssl/ossl_pkcs7.c +1039 -0
  37. data/ext/rubysl/openssl/ossl_pkcs7.h +22 -0
  38. data/ext/rubysl/openssl/ossl_pkey.c +240 -0
  39. data/ext/rubysl/openssl/ossl_pkey.h +141 -0
  40. data/ext/rubysl/openssl/ossl_pkey_dh.c +532 -0
  41. data/ext/rubysl/openssl/ossl_pkey_dsa.c +484 -0
  42. data/ext/rubysl/openssl/ossl_pkey_ec.c +1593 -0
  43. data/ext/rubysl/openssl/ossl_pkey_rsa.c +593 -0
  44. data/ext/rubysl/openssl/ossl_rand.c +202 -0
  45. data/ext/rubysl/openssl/ossl_rand.h +20 -0
  46. data/ext/rubysl/openssl/ossl_ssl.c +1484 -0
  47. data/ext/rubysl/openssl/ossl_ssl.h +36 -0
  48. data/ext/rubysl/openssl/ossl_ssl_session.c +307 -0
  49. data/ext/rubysl/openssl/ossl_version.h +16 -0
  50. data/ext/rubysl/openssl/ossl_x509.c +104 -0
  51. data/ext/rubysl/openssl/ossl_x509.h +114 -0
  52. data/ext/rubysl/openssl/ossl_x509attr.c +274 -0
  53. data/ext/rubysl/openssl/ossl_x509cert.c +764 -0
  54. data/ext/rubysl/openssl/ossl_x509crl.c +535 -0
  55. data/ext/rubysl/openssl/ossl_x509ext.c +458 -0
  56. data/ext/rubysl/openssl/ossl_x509name.c +399 -0
  57. data/ext/rubysl/openssl/ossl_x509req.c +466 -0
  58. data/ext/rubysl/openssl/ossl_x509revoked.c +229 -0
  59. data/ext/rubysl/openssl/ossl_x509store.c +625 -0
  60. data/ext/rubysl/openssl/ruby_missing.h +41 -0
  61. data/lib/openssl.rb +1 -0
  62. data/lib/openssl/bn.rb +35 -0
  63. data/lib/openssl/buffering.rb +241 -0
  64. data/lib/openssl/cipher.rb +65 -0
  65. data/lib/openssl/config.rb +316 -0
  66. data/lib/openssl/digest.rb +61 -0
  67. data/lib/openssl/net/ftptls.rb +53 -0
  68. data/lib/openssl/net/telnets.rb +251 -0
  69. data/lib/openssl/pkcs7.rb +25 -0
  70. data/lib/openssl/ssl-internal.rb +187 -0
  71. data/lib/openssl/ssl.rb +1 -0
  72. data/lib/openssl/x509-internal.rb +153 -0
  73. data/lib/openssl/x509.rb +1 -0
  74. data/lib/rubysl/openssl.rb +28 -0
  75. data/lib/rubysl/openssl/version.rb +5 -0
  76. data/rubysl-openssl.gemspec +19 -18
  77. data/spec/cipher_spec.rb +16 -0
  78. data/spec/config/freeze_spec.rb +17 -0
  79. data/spec/hmac/digest_spec.rb +15 -0
  80. data/spec/hmac/hexdigest_spec.rb +15 -0
  81. data/spec/random/pseudo_bytes_spec.rb +5 -0
  82. data/spec/random/random_bytes_spec.rb +5 -0
  83. data/spec/random/shared/random_bytes.rb +28 -0
  84. data/spec/shared/constants.rb +11 -0
  85. data/spec/x509/name/parse_spec.rb +47 -0
  86. metadata +153 -89
  87. data/lib/rubysl-openssl.rb +0 -7
  88. data/lib/rubysl-openssl/version.rb +0 -5
@@ -0,0 +1 @@
1
+ require 'openssl'
@@ -0,0 +1,153 @@
1
+ =begin
2
+ = $RCSfile$ -- Ruby-space definitions that completes C-space funcs for X509 and subclasses
3
+
4
+ = Info
5
+ 'OpenSSL for Ruby 2' project
6
+ Copyright (C) 2002 Michal Rokos <m.rokos@sh.cvut.cz>
7
+ All rights reserved.
8
+
9
+ = Licence
10
+ This program is licenced under the same licence as Ruby.
11
+ (See the file 'LICENCE'.)
12
+
13
+ = Version
14
+ $Id$
15
+ =end
16
+
17
+ module OpenSSL
18
+ module X509
19
+ class ExtensionFactory
20
+ def create_extension(*arg)
21
+ if arg.size > 1
22
+ create_ext(*arg)
23
+ else
24
+ send("create_ext_from_"+arg[0].class.name.downcase, arg[0])
25
+ end
26
+ end
27
+
28
+ def create_ext_from_array(ary)
29
+ raise ExtensionError, "unexpected array form" if ary.size > 3
30
+ create_ext(ary[0], ary[1], ary[2])
31
+ end
32
+
33
+ def create_ext_from_string(str) # "oid = critical, value"
34
+ oid, value = str.split(/=/, 2)
35
+ oid.strip!
36
+ value.strip!
37
+ create_ext(oid, value)
38
+ end
39
+
40
+ def create_ext_from_hash(hash)
41
+ create_ext(hash["oid"], hash["value"], hash["critical"])
42
+ end
43
+ end
44
+
45
+ class Extension
46
+ def to_s # "oid = critical, value"
47
+ str = self.oid
48
+ str << " = "
49
+ str << "critical, " if self.critical?
50
+ str << self.value.gsub(/\n/, ", ")
51
+ end
52
+
53
+ def to_h # {"oid"=>sn|ln, "value"=>value, "critical"=>true|false}
54
+ {"oid"=>self.oid,"value"=>self.value,"critical"=>self.critical?}
55
+ end
56
+
57
+ def to_a
58
+ [ self.oid, self.value, self.critical? ]
59
+ end
60
+ end
61
+
62
+ class Name
63
+ module RFC2253DN
64
+ Special = ',=+<>#;'
65
+ HexChar = /[0-9a-fA-F]/
66
+ HexPair = /#{HexChar}#{HexChar}/
67
+ HexString = /#{HexPair}+/
68
+ Pair = /\\(?:[#{Special}]|\\|"|#{HexPair})/
69
+ StringChar = /[^#{Special}\\"]/
70
+ QuoteChar = /[^\\"]/
71
+ AttributeType = /[a-zA-Z][0-9a-zA-Z]*|[0-9]+(?:\.[0-9]+)*/
72
+ AttributeValue = /
73
+ (?!["#])((?:#{StringChar}|#{Pair})*)|
74
+ \#(#{HexString})|
75
+ "((?:#{QuoteChar}|#{Pair})*)"
76
+ /x
77
+ TypeAndValue = /\A(#{AttributeType})=#{AttributeValue}/
78
+
79
+ module_function
80
+
81
+ def expand_pair(str)
82
+ return nil unless str
83
+ return str.gsub(Pair){
84
+ pair = $&
85
+ case pair.size
86
+ when 2 then pair[1,1]
87
+ when 3 then Integer("0x#{pair[1,2]}").chr
88
+ else raise OpenSSL::X509::NameError, "invalid pair: #{str}"
89
+ end
90
+ }
91
+ end
92
+
93
+ def expand_hexstring(str)
94
+ return nil unless str
95
+ der = str.gsub(HexPair){$&.to_i(16).chr }
96
+ a1 = OpenSSL::ASN1.decode(der)
97
+ return a1.value, a1.tag
98
+ end
99
+
100
+ def expand_value(str1, str2, str3)
101
+ value = expand_pair(str1)
102
+ value, tag = expand_hexstring(str2) unless value
103
+ value = expand_pair(str3) unless value
104
+ return value, tag
105
+ end
106
+
107
+ def scan(dn)
108
+ str = dn
109
+ ary = []
110
+ while true
111
+ if md = TypeAndValue.match(str)
112
+ matched = md.to_s
113
+ remain = md.post_match
114
+ type = md[1]
115
+ value, tag = expand_value(md[2], md[3], md[4]) rescue nil
116
+ if value
117
+ type_and_value = [type, value]
118
+ type_and_value.push(tag) if tag
119
+ ary.unshift(type_and_value)
120
+ if remain.length > 2 && remain[0] == ?,
121
+ str = remain[1..-1]
122
+ next
123
+ elsif remain.length > 2 && remain[0] == ?+
124
+ raise OpenSSL::X509::NameError,
125
+ "multi-valued RDN is not supported: #{dn}"
126
+ elsif remain.empty?
127
+ break
128
+ end
129
+ end
130
+ end
131
+ msg_dn = dn[0, dn.length - str.length] + " =>" + str
132
+ raise OpenSSL::X509::NameError, "malformed RDN: #{msg_dn}"
133
+ end
134
+ return ary
135
+ end
136
+ end
137
+
138
+ class <<self
139
+ def parse_rfc2253(str, template=OBJECT_TYPE_TEMPLATE)
140
+ ary = OpenSSL::X509::Name::RFC2253DN.scan(str)
141
+ self.new(ary, template)
142
+ end
143
+
144
+ def parse_openssl(str, template=OBJECT_TYPE_TEMPLATE)
145
+ ary = str.scan(/\s*([^\/,]+)\s*/).collect{|i| i[0].split("=", 2) }
146
+ self.new(ary, template)
147
+ end
148
+
149
+ alias parse parse_openssl
150
+ end
151
+ end
152
+ end
153
+ end
@@ -0,0 +1 @@
1
+ require 'openssl'
@@ -0,0 +1,28 @@
1
+ =begin
2
+ = $RCSfile$ -- Loader for all OpenSSL C-space and Ruby-space definitions
3
+
4
+ = Info
5
+ 'OpenSSL for Ruby 2' project
6
+ Copyright (C) 2002 Michal Rokos <m.rokos@sh.cvut.cz>
7
+ All rights reserved.
8
+
9
+ = Licence
10
+ This program is licenced under the same licence as Ruby.
11
+ (See the file 'LICENCE'.)
12
+
13
+ = Version
14
+ $Id: openssl.rb 29856 2010-11-22 07:21:45Z shyouhei $
15
+ =end
16
+
17
+ require 'thread'
18
+ require 'openssl/openssl'
19
+
20
+ require 'openssl/bn'
21
+ require 'openssl/cipher'
22
+ require 'openssl/config'
23
+ require 'openssl/digest'
24
+ require 'openssl/pkcs7'
25
+ require 'openssl/ssl-internal'
26
+ require 'openssl/x509-internal'
27
+
28
+ require 'rubysl/openssl/version'
@@ -0,0 +1,5 @@
1
+ module RubySL
2
+ module OpenSSL
3
+ VERSION = "1.0.1"
4
+ end
5
+ end
@@ -1,22 +1,23 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/rubysl-openssl/version', __FILE__)
1
+ # coding: utf-8
2
+ require './lib/rubysl/openssl/version'
3
3
 
4
- Gem::Specification.new do |gem|
5
- gem.authors = ["Brian Shirai"]
6
- gem.email = ["brixen@gmail.com"]
7
- gem.description = %q{Ruby Standard Library - openssl}
8
- gem.summary = %q{Ruby Standard Library - openssl}
9
- gem.homepage = ""
4
+ Gem::Specification.new do |spec|
5
+ spec.name = "rubysl-openssl"
6
+ spec.version = RubySL::OpenSSL::VERSION
7
+ spec.authors = ["Brian Shirai"]
8
+ spec.email = ["brixen@gmail.com"]
9
+ spec.description = %q{Ruby standard library OpenSSL.}
10
+ spec.summary = %q{Ruby standard library OpenSSL.}
11
+ spec.homepage = "https://github.com/rubysl/rubysl-openssl"
12
+ spec.license = "BSD"
10
13
 
11
- gem.files = `git ls-files`.split($\)
12
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
- gem.name = "rubysl-openssl"
15
- gem.require_paths = ["lib"]
16
- gem.version = RubySL::Openssl::VERSION
14
+ spec.files = `git ls-files`.split($/)
15
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
+ spec.extensions = ["ext/rubysl/openssl/extconf.rb"]
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ["lib"]
17
19
 
18
- gem.add_runtime_dependency "redcard", "~> 1.0"
19
-
20
- gem.add_development_dependency "rake", "~> 10.0"
21
- gem.add_development_dependency "mspec", "~> 1.5"
20
+ spec.add_development_dependency "bundler", "~> 1.3"
21
+ spec.add_development_dependency "rake", "~> 10.0"
22
+ spec.add_development_dependency "mspec", "~> 1.5"
22
23
  end
@@ -0,0 +1,16 @@
1
+ require File.expand_path('../shared/constants', __FILE__)
2
+ require 'openssl'
3
+
4
+ describe "OpenSSL::Cipher's CipherError" do
5
+ ruby_version_is "" ... "1.8.7" do
6
+ it "exists under OpenSSL namespace" do
7
+ OpenSSL.should have_constant :CipherError
8
+ end
9
+ end
10
+
11
+ ruby_version_is "1.8.7" do
12
+ it "exists under OpenSSL::Cipher namespace" do
13
+ OpenSSL::Cipher.should have_constant :CipherError
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ require File.expand_path('../../shared/constants', __FILE__)
2
+
3
+ require 'openssl'
4
+
5
+ describe "OpenSSL::Config#freeze" do
6
+ it "needs to be reviewed for completeness"
7
+
8
+ ruby_bug "redmine:484", "1.8.7" do
9
+ it "freezes" do
10
+ c = OpenSSL::Config.new
11
+ lambda{c['foo'] = [ ['key', 'value'] ]}.should_not raise_error
12
+ c.freeze
13
+ c.frozen?.should be_true
14
+ lambda{c['foo'] = [ ['key', 'value'] ]}.should raise_error
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ require File.expand_path('../../shared/constants', __FILE__)
2
+ require 'openssl'
3
+
4
+ describe "OpenSSL::HMAC.digest" do
5
+ it "returns an SHA1 digest" do
6
+ cur_digest = OpenSSL::Digest::Digest.new('SHA1')
7
+ cur_digest.digest.should == HMACConstants::BlankSHA1Digest
8
+ digest = OpenSSL::HMAC.digest(cur_digest,
9
+ HMACConstants::Key,
10
+ HMACConstants::Contents)
11
+ digest.should == HMACConstants::SHA1Digest
12
+ end
13
+ end
14
+
15
+ # Should add in similar specs for MD5, RIPEMD160, and SHA256
@@ -0,0 +1,15 @@
1
+ require File.expand_path('../../shared/constants', __FILE__)
2
+ require 'openssl'
3
+
4
+ describe "OpenSSL::HMAC.hexdigest" do
5
+ it "returns an SHA1 hex digest" do
6
+ cur_digest = OpenSSL::Digest::Digest.new('SHA1')
7
+ cur_digest.hexdigest.should == HMACConstants::BlankSHA1HexDigest
8
+ hexdigest = OpenSSL::HMAC.hexdigest(cur_digest,
9
+ HMACConstants::Key,
10
+ HMACConstants::Contents)
11
+ hexdigest.should == HMACConstants::SHA1Hexdigest
12
+ end
13
+ end
14
+
15
+ # Should add in similar specs for MD5, RIPEMD160, and SHA256
@@ -0,0 +1,5 @@
1
+ require File.expand_path('../shared/random_bytes.rb', __FILE__)
2
+
3
+ describe "OpenSSL::Random#pseudo_bytes" do
4
+ it_behaves_like :openssl_random_bytes, :pseudo_bytes
5
+ end
@@ -0,0 +1,5 @@
1
+ require File.expand_path('../shared/random_bytes.rb', __FILE__)
2
+
3
+ describe "OpenSSL::Random#random_bytes" do
4
+ it_behaves_like :openssl_random_bytes, :random_bytes
5
+ end
@@ -0,0 +1,28 @@
1
+ require 'openssl'
2
+
3
+ describe :openssl_random_bytes, :shared => true do |cmd|
4
+ it "generates a random binary string of specified length" do
5
+ (1..64).each do |idx|
6
+ bytes = OpenSSL::Random.pseudo_bytes(idx)
7
+ bytes.should be_kind_of(String)
8
+ bytes.length.should == idx
9
+ end
10
+ end
11
+
12
+ it "generates different binary strings with subsequent invocations" do
13
+ # quick and dirty check, but good enough
14
+ values = []
15
+ 256.times do
16
+ val = OpenSSL::Random.pseudo_bytes(16)
17
+ # make sure the random bytes are not repeating
18
+ values.include?(val).should == false
19
+ values << val
20
+ end
21
+ end
22
+
23
+ it "raises ArgumentError on negative arguments" do
24
+ lambda {
25
+ OpenSSL::Random.pseudo_bytes(-1)
26
+ }.should raise_error(ArgumentError)
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ # -*- encoding: US-ASCII -*-
2
+ module HMACConstants
3
+
4
+ Contents = "Ipsum is simply dummy text of the printing and typesetting industry. \nLorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. \nIt has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. \nIt was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."
5
+ Key = 'sekrit'
6
+
7
+ BlankSHA1Digest = "\3329\243\356^kK\r2U\277\357\225`\030\220\257\330\a\t"
8
+ SHA1Digest = "\236\022\323\341\037\236\262n\344\t\372:\004J\242\330\257\270\363\264"
9
+ BlankSHA1HexDigest = "da39a3ee5e6b4b0d3255bfef95601890afd80709"
10
+ SHA1Hexdigest = "9e12d3e11f9eb26ee409fa3a044aa2d8afb8f3b4"
11
+ end
@@ -0,0 +1,47 @@
1
+ require 'openssl'
2
+
3
+ describe "OpenSSL::X509::Name.parse" do
4
+ it "parses a /-delimited string of key-value pairs into a Name" do
5
+ dn = "/DC=org/DC=ruby-lang/CN=www.ruby-lang.org"
6
+ name = OpenSSL::X509::Name.parse(dn)
7
+
8
+ name.to_s.should == dn
9
+
10
+ ary = name.to_a
11
+
12
+ ary[0][0].should == "DC"
13
+ ary[1][0].should == "DC"
14
+ ary[2][0].should == "CN"
15
+ ary[0][1].should == "org"
16
+ ary[1][1].should == "ruby-lang"
17
+ ary[2][1].should == "www.ruby-lang.org"
18
+ ary[0][2].should == OpenSSL::ASN1::IA5STRING
19
+ ary[1][2].should == OpenSSL::ASN1::IA5STRING
20
+ ary[2][2].should == OpenSSL::ASN1::UTF8STRING
21
+ end
22
+
23
+ it "parses a comma-delimited string of key-value pairs into a name" do
24
+ dn = "DC=org, DC=ruby-lang, CN=www.ruby-lang.org"
25
+ name = OpenSSL::X509::Name.parse(dn)
26
+
27
+ name.to_s.should == "/DC=org/DC=ruby-lang/CN=www.ruby-lang.org"
28
+
29
+ ary = name.to_a
30
+
31
+ ary[0][1].should == "org"
32
+ ary[1][1].should == "ruby-lang"
33
+ ary[2][1].should == "www.ruby-lang.org"
34
+ end
35
+
36
+ it "raises TypeError if the given string contains no key/value pairs" do
37
+ lambda do
38
+ OpenSSL::X509::Name.parse("hello")
39
+ end.should raise_error(TypeError)
40
+ end
41
+
42
+ it "raises OpenSSL::X509::NameError if the given string contains invalid keys" do
43
+ lambda do
44
+ OpenSSL::X509::Name.parse("hello=goodbye")
45
+ end.should raise_error(OpenSSL::X509::NameError)
46
+ end
47
+ end
metadata CHANGED
@@ -1,118 +1,182 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rubysl-openssl
3
- version: !ruby/object:Gem::Version
4
- hash: 856480538658449761
5
- prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 1
10
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Brian Shirai
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2013-04-15 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: redcard
11
+ date: 2013-08-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
22
21
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
26
24
  - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 4428665182548103036
29
- segments:
30
- - 1
31
- - 0
32
- version: "1.0"
33
- type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
36
28
  name: rake
37
- prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
41
31
  - - ~>
42
- - !ruby/object:Gem::Version
43
- hash: 1510892033553700768
44
- segments:
45
- - 10
46
- - 0
47
- version: "10.0"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
48
34
  type: :development
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: mspec
52
35
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
56
38
  - - ~>
57
- - !ruby/object:Gem::Version
58
- hash: 1660815245844205030
59
- segments:
60
- - 1
61
- - 5
62
- version: "1.5"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: mspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '1.5'
63
48
  type: :development
64
- version_requirements: *id003
65
- description: Ruby Standard Library - openssl
66
- email:
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '1.5'
55
+ description: Ruby standard library OpenSSL.
56
+ email:
67
57
  - brixen@gmail.com
68
58
  executables: []
69
-
70
- extensions: []
71
-
59
+ extensions:
60
+ - ext/rubysl/openssl/extconf.rb
72
61
  extra_rdoc_files: []
73
-
74
- files:
62
+ files:
75
63
  - .gitignore
64
+ - .travis.yml
76
65
  - Gemfile
77
66
  - LICENSE
78
67
  - README.md
79
68
  - Rakefile
80
- - lib/rubysl-openssl.rb
81
- - lib/rubysl-openssl/version.rb
69
+ - ext/rubysl/openssl/extconf.h
70
+ - ext/rubysl/openssl/extconf.rb
71
+ - ext/rubysl/openssl/openssl_missing.c
72
+ - ext/rubysl/openssl/openssl_missing.h
73
+ - ext/rubysl/openssl/ossl.c
74
+ - ext/rubysl/openssl/ossl.h
75
+ - ext/rubysl/openssl/ossl_asn1.c
76
+ - ext/rubysl/openssl/ossl_asn1.h
77
+ - ext/rubysl/openssl/ossl_bio.c
78
+ - ext/rubysl/openssl/ossl_bio.h
79
+ - ext/rubysl/openssl/ossl_bn.c
80
+ - ext/rubysl/openssl/ossl_bn.h
81
+ - ext/rubysl/openssl/ossl_cipher.c
82
+ - ext/rubysl/openssl/ossl_cipher.h
83
+ - ext/rubysl/openssl/ossl_config.c
84
+ - ext/rubysl/openssl/ossl_config.h
85
+ - ext/rubysl/openssl/ossl_digest.c
86
+ - ext/rubysl/openssl/ossl_digest.h
87
+ - ext/rubysl/openssl/ossl_engine.c
88
+ - ext/rubysl/openssl/ossl_engine.h
89
+ - ext/rubysl/openssl/ossl_hmac.c
90
+ - ext/rubysl/openssl/ossl_hmac.h
91
+ - ext/rubysl/openssl/ossl_ns_spki.c
92
+ - ext/rubysl/openssl/ossl_ns_spki.h
93
+ - ext/rubysl/openssl/ossl_ocsp.c
94
+ - ext/rubysl/openssl/ossl_ocsp.h
95
+ - ext/rubysl/openssl/ossl_pkcs12.c
96
+ - ext/rubysl/openssl/ossl_pkcs12.h
97
+ - ext/rubysl/openssl/ossl_pkcs5.c
98
+ - ext/rubysl/openssl/ossl_pkcs5.h
99
+ - ext/rubysl/openssl/ossl_pkcs7.c
100
+ - ext/rubysl/openssl/ossl_pkcs7.h
101
+ - ext/rubysl/openssl/ossl_pkey.c
102
+ - ext/rubysl/openssl/ossl_pkey.h
103
+ - ext/rubysl/openssl/ossl_pkey_dh.c
104
+ - ext/rubysl/openssl/ossl_pkey_dsa.c
105
+ - ext/rubysl/openssl/ossl_pkey_ec.c
106
+ - ext/rubysl/openssl/ossl_pkey_rsa.c
107
+ - ext/rubysl/openssl/ossl_rand.c
108
+ - ext/rubysl/openssl/ossl_rand.h
109
+ - ext/rubysl/openssl/ossl_ssl.c
110
+ - ext/rubysl/openssl/ossl_ssl.h
111
+ - ext/rubysl/openssl/ossl_ssl_session.c
112
+ - ext/rubysl/openssl/ossl_version.h
113
+ - ext/rubysl/openssl/ossl_x509.c
114
+ - ext/rubysl/openssl/ossl_x509.h
115
+ - ext/rubysl/openssl/ossl_x509attr.c
116
+ - ext/rubysl/openssl/ossl_x509cert.c
117
+ - ext/rubysl/openssl/ossl_x509crl.c
118
+ - ext/rubysl/openssl/ossl_x509ext.c
119
+ - ext/rubysl/openssl/ossl_x509name.c
120
+ - ext/rubysl/openssl/ossl_x509req.c
121
+ - ext/rubysl/openssl/ossl_x509revoked.c
122
+ - ext/rubysl/openssl/ossl_x509store.c
123
+ - ext/rubysl/openssl/ruby_missing.h
124
+ - lib/openssl.rb
125
+ - lib/openssl/bn.rb
126
+ - lib/openssl/buffering.rb
127
+ - lib/openssl/cipher.rb
128
+ - lib/openssl/config.rb
129
+ - lib/openssl/digest.rb
130
+ - lib/openssl/net/ftptls.rb
131
+ - lib/openssl/net/telnets.rb
132
+ - lib/openssl/pkcs7.rb
133
+ - lib/openssl/ssl-internal.rb
134
+ - lib/openssl/ssl.rb
135
+ - lib/openssl/x509-internal.rb
136
+ - lib/openssl/x509.rb
137
+ - lib/rubysl/openssl.rb
138
+ - lib/rubysl/openssl/version.rb
82
139
  - rubysl-openssl.gemspec
83
- homepage: ""
84
- licenses: []
85
-
140
+ - spec/cipher_spec.rb
141
+ - spec/config/freeze_spec.rb
142
+ - spec/hmac/digest_spec.rb
143
+ - spec/hmac/hexdigest_spec.rb
144
+ - spec/random/pseudo_bytes_spec.rb
145
+ - spec/random/random_bytes_spec.rb
146
+ - spec/random/shared/random_bytes.rb
147
+ - spec/shared/constants.rb
148
+ - spec/x509/name/parse_spec.rb
149
+ homepage: https://github.com/rubysl/rubysl-openssl
150
+ licenses:
151
+ - BSD
152
+ metadata: {}
86
153
  post_install_message:
87
154
  rdoc_options: []
88
-
89
- require_paths:
155
+ require_paths:
90
156
  - lib
91
- required_ruby_version: !ruby/object:Gem::Requirement
92
- none: false
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- hash: 2002549777813010636
97
- segments:
98
- - 0
99
- version: "0"
100
- required_rubygems_version: !ruby/object:Gem::Requirement
101
- none: false
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- hash: 2002549777813010636
106
- segments:
107
- - 0
108
- version: "0"
157
+ required_ruby_version: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - '>='
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ required_rubygems_version: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
109
167
  requirements: []
110
-
111
168
  rubyforge_project:
112
- rubygems_version: 1.8.25
169
+ rubygems_version: 2.0.3
113
170
  signing_key:
114
- specification_version: 3
115
- summary: Ruby Standard Library - openssl
116
- test_files: []
117
-
118
- has_rdoc:
171
+ specification_version: 4
172
+ summary: Ruby standard library OpenSSL.
173
+ test_files:
174
+ - spec/cipher_spec.rb
175
+ - spec/config/freeze_spec.rb
176
+ - spec/hmac/digest_spec.rb
177
+ - spec/hmac/hexdigest_spec.rb
178
+ - spec/random/pseudo_bytes_spec.rb
179
+ - spec/random/random_bytes_spec.rb
180
+ - spec/random/shared/random_bytes.rb
181
+ - spec/shared/constants.rb
182
+ - spec/x509/name/parse_spec.rb