ezcrypto 0.5 → 0.6
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.
- data/CHANGELOG +6 -0
- data/README +1 -1
- data/lib/ezsig.rb +446 -0
- data/rakefile +2 -1
- data/test/debug.log +707 -0
- data/test/dsakey.pem +12 -0
- data/test/dsapubkey.pem +12 -0
- data/test/dsig_test.rb +238 -0
- data/test/protectedsigner.pem +12 -0
- data/test/sf_issuing.crt +25 -0
- data/test/testchild.pem +15 -0
- data/test/testchild.req +12 -0
- data/test/testpub.pem +4 -0
- data/test/testsigner.cert +20 -0
- data/test/testsigner.pem +9 -0
- data/test/valicert_class2_root.crt +18 -0
- data/test/wideword.net.cert +27 -0
- metadata +20 -3
data/test/dsakey.pem
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-----BEGIN DSA PRIVATE KEY-----
|
|
2
|
+
MIIBugIBAAKBgQCGwFYmCsY6XeXmC2vB2VwGy7N4jV0vjwTh22VAXLlMtKrjJJ0k
|
|
3
|
+
WW/QI7wYWqttUIDQ1//ETRlW5+uV9E9WF1EtMo/Dv48LU/c1YCDjA5EAp2Wu/CnU
|
|
4
|
+
Qgd6ibLNTvkzSDdiZhryuq3nv0s1hLR6cysMOWg/l6usiwU5jgWDXrMK2wIVAJS8
|
|
5
|
+
gadASb6W8ZL6Ua4EqIFdYCdbAoGAWzwV5WF157O/oZeOmNv6IuV8MLD0m3JkJNkZ
|
|
6
|
+
DrY0G0M7YIVryCkmvCOuu8PLu7M+GGp9hEKV/wrpWJgiOlWAz0C0yxwxMyz3GFbx
|
|
7
|
+
ipqEL0CqKkl4QVMpKAhL1h2iIL+yI7p/8whcfeMnQXb0iIMD7AVvF++AJ/LAzulb
|
|
8
|
+
zZXdfP8CgYApedgToseniE9KWVrV3CMXrkwf3Er5CgcVF2JJWAfBbm8/PI2wX5GU
|
|
9
|
+
zT5++k+2sPISPQV3RFZiVKwdFNdft41KNNdfFPEC/4KhgHbK4nCJ3ReLiy2+MkHi
|
|
10
|
+
msgzvxAg8WRc+0aZKNFlNyqsIezE6ufs8e9YvKZJ2d30ggOqCHTBtgIUZ6jIgX60
|
|
11
|
+
PmOeqfRh32svQkP1p/E=
|
|
12
|
+
-----END DSA PRIVATE KEY-----
|
data/test/dsapubkey.pem
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-----BEGIN PUBLIC KEY-----
|
|
2
|
+
MIIBtjCCASsGByqGSM44BAEwggEeAoGBAIbAViYKxjpd5eYLa8HZXAbLs3iNXS+P
|
|
3
|
+
BOHbZUBcuUy0quMknSRZb9AjvBhaq21QgNDX/8RNGVbn65X0T1YXUS0yj8O/jwtT
|
|
4
|
+
9zVgIOMDkQCnZa78KdRCB3qJss1O+TNIN2JmGvK6ree/SzWEtHpzKww5aD+Xq6yL
|
|
5
|
+
BTmOBYNeswrbAhUAlLyBp0BJvpbxkvpRrgSogV1gJ1sCgYBbPBXlYXXns7+hl46Y
|
|
6
|
+
2/oi5XwwsPSbcmQk2RkOtjQbQztghWvIKSa8I667w8u7sz4Yan2EQpX/CulYmCI6
|
|
7
|
+
VYDPQLTLHDEzLPcYVvGKmoQvQKoqSXhBUykoCEvWHaIgv7Ijun/zCFx94ydBdvSI
|
|
8
|
+
gwPsBW8X74An8sDO6VvNld18/wOBhAACgYApedgToseniE9KWVrV3CMXrkwf3Er5
|
|
9
|
+
CgcVF2JJWAfBbm8/PI2wX5GUzT5++k+2sPISPQV3RFZiVKwdFNdft41KNNdfFPEC
|
|
10
|
+
/4KhgHbK4nCJ3ReLiy2+MkHimsgzvxAg8WRc+0aZKNFlNyqsIezE6ufs8e9YvKZJ
|
|
11
|
+
2d30ggOqCHTBtg==
|
|
12
|
+
-----END PUBLIC KEY-----
|
data/test/dsig_test.rb
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
$:.unshift(File.dirname(__FILE__) + "/../lib/")
|
|
2
|
+
|
|
3
|
+
require 'test/unit'
|
|
4
|
+
require 'fileutils'
|
|
5
|
+
require 'ezsig'
|
|
6
|
+
require 'base64'
|
|
7
|
+
|
|
8
|
+
class EzCryptoTest < Test::Unit::TestCase
|
|
9
|
+
|
|
10
|
+
def setup
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def _test_generate_key #very slow so not run by default
|
|
14
|
+
signer=EzCrypto::Signer.generate
|
|
15
|
+
assert signer.rsa?
|
|
16
|
+
assert !signer.dsa?
|
|
17
|
+
|
|
18
|
+
assert_signer(signer)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_from_file
|
|
22
|
+
signer=EzCrypto::Signer.from_file File.dirname(__FILE__) + "/testsigner.pem"
|
|
23
|
+
assert signer.rsa?
|
|
24
|
+
assert !signer.dsa?
|
|
25
|
+
assert_signer(signer)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_dsa_from_file
|
|
29
|
+
signer=EzCrypto::Signer.from_file File.dirname(__FILE__) + "/dsakey.pem"
|
|
30
|
+
assert signer.dsa?
|
|
31
|
+
assert !signer.rsa?
|
|
32
|
+
assert_signer(signer)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_from_password_protected_file
|
|
36
|
+
signer=EzCrypto::Signer.from_file File.dirname(__FILE__) + "/protectedsigner.pem","secret"
|
|
37
|
+
assert signer.rsa?
|
|
38
|
+
assert !signer.dsa?
|
|
39
|
+
assert_signer(signer)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_public_key_read
|
|
43
|
+
signer=EzCrypto::Signer.from_file File.dirname(__FILE__) + "/testsigner.pem"
|
|
44
|
+
verifier=EzCrypto::Verifier.from_file File.dirname(__FILE__) + "/testpub.pem"
|
|
45
|
+
assert verifier
|
|
46
|
+
sig=signer.sign "test this rsa"
|
|
47
|
+
assert sig
|
|
48
|
+
assert verifier.verify( sig,"test this rsa")
|
|
49
|
+
|
|
50
|
+
assert !verifier.cert?
|
|
51
|
+
assert_equal signer.public_key.to_s, verifier.public_key.to_s
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def test_dsa_public_key_read
|
|
55
|
+
signer=EzCrypto::Signer.from_file File.dirname(__FILE__) + "/dsakey.pem"
|
|
56
|
+
verifier=EzCrypto::Verifier.from_file File.dirname(__FILE__) + "/dsapubkey.pem"
|
|
57
|
+
|
|
58
|
+
assert verifier
|
|
59
|
+
sig=signer.sign "test this dsa"
|
|
60
|
+
assert sig
|
|
61
|
+
assert verifier.verify( sig,"test this dsa")
|
|
62
|
+
|
|
63
|
+
assert !verifier.cert?
|
|
64
|
+
|
|
65
|
+
# This fails as it seems like it returns an incorrect public key
|
|
66
|
+
assert_equal signer.public_key.to_s, verifier.public_key.to_s
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def test_certificate_reader
|
|
70
|
+
signer=EzCrypto::Signer.from_file File.dirname(__FILE__) + "/testsigner.pem"
|
|
71
|
+
cert=EzCrypto::Verifier.from_file File.dirname(__FILE__) + "/testsigner.cert"
|
|
72
|
+
assert cert
|
|
73
|
+
assert cert.cert?
|
|
74
|
+
assert_instance_of EzCrypto::Certificate, cert
|
|
75
|
+
assert_equal signer.public_key.to_s, cert.public_key.to_s
|
|
76
|
+
|
|
77
|
+
sig=signer.sign "hello"
|
|
78
|
+
assert sig
|
|
79
|
+
assert cert.verify( sig,"hello")
|
|
80
|
+
|
|
81
|
+
assert_equal "/C=DK/ST=Denmark/L=Copenhagen/O=EzCrypto Test Certificate/OU=testing/CN=EzCrypto Testing/emailAddress=pelleb@gmail.com",cert.subject.to_s
|
|
82
|
+
assert_equal "/C=DK/ST=Denmark/L=Copenhagen/O=EzCrypto Test Certificate/OU=testing/CN=EzCrypto Testing/emailAddress=pelleb@gmail.com",cert.issuer.to_s
|
|
83
|
+
|
|
84
|
+
assert_kind_of EzCrypto::Name,cert.issuer
|
|
85
|
+
assert_kind_of EzCrypto::Name,cert.subject
|
|
86
|
+
assert cert.serial
|
|
87
|
+
assert cert.not_after
|
|
88
|
+
assert cert.not_before
|
|
89
|
+
assert cert.valid?
|
|
90
|
+
|
|
91
|
+
assert_equal cert.subject[:emailAddress],"pelleb@gmail.com"
|
|
92
|
+
assert_equal cert.subject[:C],"DK"
|
|
93
|
+
assert_equal cert.subject[:ST],"Denmark"
|
|
94
|
+
assert_equal cert.subject[:L],"Copenhagen"
|
|
95
|
+
assert_equal cert.subject[:OU],"testing"
|
|
96
|
+
assert_equal cert.subject[:O],"EzCrypto Test Certificate"
|
|
97
|
+
assert_equal cert.subject[:CN],"EzCrypto Testing"
|
|
98
|
+
|
|
99
|
+
assert_equal cert.subject.emailAddress,"pelleb@gmail.com"
|
|
100
|
+
assert_equal cert.subject.C,"DK"
|
|
101
|
+
assert_equal cert.subject.ST,"Denmark"
|
|
102
|
+
assert_equal cert.subject.L,"Copenhagen"
|
|
103
|
+
assert_equal cert.subject.OU,"testing"
|
|
104
|
+
assert_equal cert.subject.O,"EzCrypto Test Certificate"
|
|
105
|
+
assert_equal cert.subject.CN,"EzCrypto Testing"
|
|
106
|
+
|
|
107
|
+
assert_equal cert.subject.email,"pelleb@gmail.com"
|
|
108
|
+
assert_equal cert.subject.c,"DK"
|
|
109
|
+
assert_equal cert.subject.st,"Denmark"
|
|
110
|
+
assert_equal cert.subject.l,"Copenhagen"
|
|
111
|
+
assert_equal cert.subject.ou,"testing"
|
|
112
|
+
assert_equal cert.subject.o,"EzCrypto Test Certificate"
|
|
113
|
+
assert_equal cert.subject.cn,"EzCrypto Testing"
|
|
114
|
+
|
|
115
|
+
assert_equal cert.subject.country,"DK"
|
|
116
|
+
assert_equal cert.subject.state,"Denmark"
|
|
117
|
+
assert_equal cert.subject.locality,"Copenhagen"
|
|
118
|
+
assert_equal cert.subject.organisational_unit,"testing"
|
|
119
|
+
assert_equal cert.subject.organisation,"EzCrypto Test Certificate"
|
|
120
|
+
assert_equal cert.subject.organizational_unit,"testing"
|
|
121
|
+
assert_equal cert.subject.organization,"EzCrypto Test Certificate"
|
|
122
|
+
assert_equal cert.subject.name,"EzCrypto Testing"
|
|
123
|
+
assert_equal cert.subject.common_name,"EzCrypto Testing"
|
|
124
|
+
|
|
125
|
+
assert_equal cert.emailAddress,"pelleb@gmail.com"
|
|
126
|
+
assert_equal cert.C,"DK"
|
|
127
|
+
assert_equal cert.ST,"Denmark"
|
|
128
|
+
assert_equal cert.L,"Copenhagen"
|
|
129
|
+
assert_equal cert.OU,"testing"
|
|
130
|
+
assert_equal cert.O,"EzCrypto Test Certificate"
|
|
131
|
+
assert_equal cert.CN,"EzCrypto Testing"
|
|
132
|
+
|
|
133
|
+
assert_equal cert.email,"pelleb@gmail.com"
|
|
134
|
+
assert_equal cert.c,"DK"
|
|
135
|
+
assert_equal cert.st,"Denmark"
|
|
136
|
+
assert_equal cert.l,"Copenhagen"
|
|
137
|
+
assert_equal cert.ou,"testing"
|
|
138
|
+
assert_equal cert.o,"EzCrypto Test Certificate"
|
|
139
|
+
assert_equal cert.cn,"EzCrypto Testing"
|
|
140
|
+
|
|
141
|
+
assert_equal cert.country,"DK"
|
|
142
|
+
assert_equal cert.state,"Denmark"
|
|
143
|
+
assert_equal cert.locality,"Copenhagen"
|
|
144
|
+
assert_equal cert.organisational_unit,"testing"
|
|
145
|
+
assert_equal cert.organisation,"EzCrypto Test Certificate"
|
|
146
|
+
assert_equal cert.organizational_unit,"testing"
|
|
147
|
+
assert_equal cert.organization,"EzCrypto Test Certificate"
|
|
148
|
+
assert_equal cert.name,"EzCrypto Testing"
|
|
149
|
+
assert_equal cert.common_name,"EzCrypto Testing"
|
|
150
|
+
|
|
151
|
+
assert_equal cert.issuer[:emailAddress],"pelleb@gmail.com"
|
|
152
|
+
assert_equal cert.issuer[:C],"DK"
|
|
153
|
+
assert_equal cert.issuer[:ST],"Denmark"
|
|
154
|
+
assert_equal cert.issuer[:L],"Copenhagen"
|
|
155
|
+
assert_equal cert.issuer[:OU],"testing"
|
|
156
|
+
assert_equal cert.issuer[:O],"EzCrypto Test Certificate"
|
|
157
|
+
assert_equal cert.issuer[:CN],"EzCrypto Testing"
|
|
158
|
+
|
|
159
|
+
assert_equal cert.issuer.emailAddress,"pelleb@gmail.com"
|
|
160
|
+
assert_equal cert.issuer.C,"DK"
|
|
161
|
+
assert_equal cert.issuer.ST,"Denmark"
|
|
162
|
+
assert_equal cert.issuer.L,"Copenhagen"
|
|
163
|
+
assert_equal cert.issuer.OU,"testing"
|
|
164
|
+
assert_equal cert.issuer.O,"EzCrypto Test Certificate"
|
|
165
|
+
assert_equal cert.issuer.CN,"EzCrypto Testing"
|
|
166
|
+
|
|
167
|
+
assert_equal cert.issuer.email,"pelleb@gmail.com"
|
|
168
|
+
assert_equal cert.issuer.c,"DK"
|
|
169
|
+
assert_equal cert.issuer.st,"Denmark"
|
|
170
|
+
assert_equal cert.issuer.l,"Copenhagen"
|
|
171
|
+
assert_equal cert.issuer.ou,"testing"
|
|
172
|
+
assert_equal cert.issuer.o,"EzCrypto Test Certificate"
|
|
173
|
+
assert_equal cert.issuer.cn,"EzCrypto Testing"
|
|
174
|
+
assert_equal cert.issuer.country,"DK"
|
|
175
|
+
assert_equal cert.issuer.state,"Denmark"
|
|
176
|
+
assert_equal cert.issuer.locality,"Copenhagen"
|
|
177
|
+
assert_equal cert.issuer.organisational_unit,"testing"
|
|
178
|
+
assert_equal cert.issuer.organisation,"EzCrypto Test Certificate"
|
|
179
|
+
assert_equal cert.issuer.organizational_unit,"testing"
|
|
180
|
+
assert_equal cert.issuer.organization,"EzCrypto Test Certificate"
|
|
181
|
+
assert_equal cert.issuer.name,"EzCrypto Testing"
|
|
182
|
+
assert_equal cert.issuer.common_name,"EzCrypto Testing"
|
|
183
|
+
|
|
184
|
+
## Extensions
|
|
185
|
+
|
|
186
|
+
assert cert.extensions
|
|
187
|
+
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
def test_in_memory_store
|
|
191
|
+
trust=EzCrypto::TrustStore.new
|
|
192
|
+
cert=EzCrypto::Verifier.from_file File.dirname(__FILE__) + "/testsigner.cert"
|
|
193
|
+
assert !trust.verify(cert)
|
|
194
|
+
trust.add cert
|
|
195
|
+
assert trust.verify(cert)
|
|
196
|
+
|
|
197
|
+
valicert=EzCrypto::Verifier.from_file File.dirname(__FILE__) + "/valicert_class2_root.crt"
|
|
198
|
+
assert !trust.verify(valicert)
|
|
199
|
+
starfield=EzCrypto::Verifier.from_file File.dirname(__FILE__) + "/sf_issuing.crt"
|
|
200
|
+
assert !trust.verify(starfield)
|
|
201
|
+
wideword=EzCrypto::Verifier.from_file File.dirname(__FILE__) + "/wideword.net.cert"
|
|
202
|
+
assert !trust.verify(wideword)
|
|
203
|
+
|
|
204
|
+
trust.add valicert
|
|
205
|
+
assert trust.verify(valicert)
|
|
206
|
+
assert trust.verify(starfield)
|
|
207
|
+
assert !trust.verify(wideword)
|
|
208
|
+
|
|
209
|
+
trust.add starfield
|
|
210
|
+
assert trust.verify(wideword)
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
def test_disk_store
|
|
214
|
+
trust=EzCrypto::TrustStore.new File.dirname(__FILE__) + "/store"
|
|
215
|
+
valicert=EzCrypto::Verifier.from_file File.dirname(__FILE__) + "/valicert_class2_root.crt"
|
|
216
|
+
assert trust.verify(valicert)
|
|
217
|
+
starfield=EzCrypto::Verifier.from_file File.dirname(__FILE__) + "/sf_issuing.crt"
|
|
218
|
+
assert trust.verify(starfield)
|
|
219
|
+
wideword=EzCrypto::Verifier.from_file File.dirname(__FILE__) + "/wideword.net.cert"
|
|
220
|
+
assert trust.verify(wideword)
|
|
221
|
+
|
|
222
|
+
cert=EzCrypto::Verifier.from_file File.dirname(__FILE__) + "/testsigner.cert"
|
|
223
|
+
assert !trust.verify(cert)
|
|
224
|
+
trust.add cert
|
|
225
|
+
assert trust.verify(cert)
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
def assert_signer(signer)
|
|
229
|
+
assert signer
|
|
230
|
+
assert signer.public_key
|
|
231
|
+
|
|
232
|
+
sig=signer.sign "hello"
|
|
233
|
+
assert sig
|
|
234
|
+
assert signer.verifier
|
|
235
|
+
assert signer.verifier.verify( sig,"hello")
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
Proc-Type: 4,ENCRYPTED
|
|
3
|
+
DEK-Info: DES-EDE3-CBC,C730C2D8284C5EC8
|
|
4
|
+
|
|
5
|
+
DU3RsKWpbDaiFA4DUu+5VBCbF5FQvNxQJXZ9s7qw8Odk/gTbI3WFWygaZSS1FGxr
|
|
6
|
+
lFYz04hQB6Zm31EKqwBlvhJdEkDlpWAI1VCTOHFjfzA/fmiv1W5v0Cj7jm3KHQqo
|
|
7
|
+
lmmDyIT9fbUKgiHBb9oCLn0N34DhbqQ4lSsGzwI9bTl+CWd593f+SFqq2SLAZ+gw
|
|
8
|
+
wfaedG0PSjdylXMyUuLQtOe5T1F0Y+MfFmVE4CvBYlKl/qnVz3nn8iL1RkdQkvHB
|
|
9
|
+
Z/JZEhjtu/FD0AvjCZD8frO+Le1vBxBCO+vx+tKiDeFpJTxWZM6kLBHvvFYtdvce
|
|
10
|
+
ktQhyLLn40LiP4lj7Dq/IbqW+OWEge91ioC8uOAACTqmxLVyKPE9IiOHqoDb3gfw
|
|
11
|
+
jCgYGLJdDhYdnD/f/8nuDJErflhKyAHh6OdbqREMRMg=
|
|
12
|
+
-----END RSA PRIVATE KEY-----
|
data/test/sf_issuing.crt
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIEQTCCA6qgAwIBAgICAQQwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1Zh
|
|
3
|
+
bGlDZXJ0IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIElu
|
|
4
|
+
Yy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIgUG9saWN5IFZhbGlkYXRpb24g
|
|
5
|
+
QXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAe
|
|
6
|
+
BgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTA0MDExNDIxMDUyMVoX
|
|
7
|
+
DTI0MDEwOTIxMDUyMVowgewxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25h
|
|
8
|
+
MRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVjaG5v
|
|
9
|
+
bG9naWVzLCBJbmMuMTAwLgYDVQQLEydodHRwOi8vd3d3LnN0YXJmaWVsZHRlY2gu
|
|
10
|
+
Y29tL3JlcG9zaXRvcnkxMTAvBgNVBAMTKFN0YXJmaWVsZCBTZWN1cmUgQ2VydGlm
|
|
11
|
+
aWNhdGlvbiBBdXRob3JpdHkxKjAoBgkqhkiG9w0BCQEWG3ByYWN0aWNlc0BzdGFy
|
|
12
|
+
ZmllbGR0ZWNoLmNvbTCBnTANBgkqhkiG9w0BAQEFAAOBiwAwgYcCgYEA2xFDa9zR
|
|
13
|
+
aXhZSehudBQIdBFsfrcqqCLYQjx6z59QskaupmcaIyK+D7M0+6yskKpbKMJw9raK
|
|
14
|
+
gCrgm5xS4JGocqAW4cROfREJs5651POyUMRtSAi9vCqXDG2jimo8ms9KNNwe3upa
|
|
15
|
+
JsChooKpSvuGIhKQOrKC1JKRn6lFn8Ok2/sCAQOjggEhMIIBHTAMBgNVHRMEBTAD
|
|
16
|
+
AQH/MAsGA1UdDwQEAwIBBjBKBgNVHR8EQzBBMD+gPaA7hjlodHRwOi8vY2VydGlm
|
|
17
|
+
aWNhdGVzLnN0YXJmaWVsZHRlY2guY29tL3JlcG9zaXRvcnkvcm9vdC5jcmwwTwYD
|
|
18
|
+
VR0gBEgwRjBEBgtghkgBhvhFAQcXAzA1MDMGCCsGAQUFBwIBFidodHRwOi8vd3d3
|
|
19
|
+
LnN0YXJmaWVsZHRlY2guY29tL3JlcG9zaXRvcnkwOQYIKwYBBQUHAQEELTArMCkG
|
|
20
|
+
CCsGAQUFBzABhh1odHRwOi8vb2NzcC5zdGFyZmllbGR0ZWNoLmNvbTAdBgNVHQ4E
|
|
21
|
+
FgQUrFXet+oT6/yYaOJTYB7xJT6M7ucwCQYDVR0jBAIwADANBgkqhkiG9w0BAQUF
|
|
22
|
+
AAOBgQB+HJi+rQONJYXufJCIIiv+J/RCsux/tfxyaAWkfZHvKNF9IDk7eQg3aBhS
|
|
23
|
+
1Y8D0olPHhHR6aV0S/xfZ2WEcYR4WbfWydfXkzXmE6uUPI6TQImMwNfy5wdS0XCP
|
|
24
|
+
mIzroG3RNlOQoI8WMB7ew79/RqWVKvnI3jvbd/TyMrEzYaIwNQ==
|
|
25
|
+
-----END CERTIFICATE-----
|
data/test/testchild.pem
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIICXgIBAAKBgQC6tQ2LfDcjyqlOLodJUUux+l4Gw/jkacpW6kwhfvV03QJzRaz8
|
|
3
|
+
OrGkf+WKLPfQnCLma40aL2hpleTTd7SEiLSd3d77hySJ842rcYFlBfj0ldFyf9D3
|
|
4
|
+
PUf1qpK/9f24C19bQwcSIDHBJOj7vlaW8rWtk0J5YOfRCTKD+tqTA400eQIDAQAB
|
|
5
|
+
AoGBAJWqgxQYW78mOvfAFpSwRWSDVZJI0CCRqTBpGuQS+MJYVBmBdfyvNC2wlJli
|
|
6
|
+
GLkyIEvjVTXzYNia3tahc6R2TYmL/9vQxXfoOOgbhJ0VgNofvXsU0vEcuomqDhHS
|
|
7
|
+
ZeH1EJnM27/Yk5o2/WOY3iexRY1urjrpBMNWLiH7wizfmM9tAkEA5x0ViHInGzv5
|
|
8
|
+
X2GB3TpJNhE2+5Kxw+keuBWsEiyBjOarJfHOPMHGBlssIIKM0k24pDOPuyhc5N6h
|
|
9
|
+
F4XOMPdLXwJBAM7P2v0d2cVJTENi8OK7DjbBu/YBv/AHPyC5bz7cHySlUeNewWYy
|
|
10
|
+
HXYBdSnpdVHJizMYjajjO+TQ+9BKsYHi5ycCQDm/0rmdjJgJjG6A9upIvjJ8arjC
|
|
11
|
+
FxlVDxAAmlaQOG701J9OpLIZ2VmNPqGA/Z8vPIwLNkcV9uBZoPc3wCYMJRECQQDJ
|
|
12
|
+
1rBaIjz8P4oPpkuEbJz1seRYtuJ1Rw1ESdYZmklGwZYG+t5zd+uq1MddTTyzwqh5
|
|
13
|
+
CLiQoJ0+tvtcENnm8uU3AkEA2EIbaxJaadxUO71+banckjCFmv8H2fKAA391ev1/
|
|
14
|
+
HTI088ych8V3sIUIAELhEo2K83fticAGgIdf7nPhDVgdpQ==
|
|
15
|
+
-----END RSA PRIVATE KEY-----
|
data/test/testchild.req
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE REQUEST-----
|
|
2
|
+
MIIBujCCASMCAQAwejELMAkGA1UEBhMCREsxEDAOBgNVBAgTB0Rlbm1hcmsxEzAR
|
|
3
|
+
BgNVBAcTCkNvcGVuaGFnZW4xETAPBgNVBAoTCEV6Q3J5cHRvMRAwDgYDVQQLEwdU
|
|
4
|
+
ZXN0aW5nMR8wHQYDVQQDExZUZXN0IENoaWxkIENlcnRpZmljYXRlMIGfMA0GCSqG
|
|
5
|
+
SIb3DQEBAQUAA4GNADCBiQKBgQC6tQ2LfDcjyqlOLodJUUux+l4Gw/jkacpW6kwh
|
|
6
|
+
fvV03QJzRaz8OrGkf+WKLPfQnCLma40aL2hpleTTd7SEiLSd3d77hySJ842rcYFl
|
|
7
|
+
Bfj0ldFyf9D3PUf1qpK/9f24C19bQwcSIDHBJOj7vlaW8rWtk0J5YOfRCTKD+tqT
|
|
8
|
+
A400eQIDAQABoAAwDQYJKoZIhvcNAQEFBQADgYEAYKpGkiS4mXsD9SWtS0bvaMG8
|
|
9
|
+
4UzHnZmhL4B6x3f45r5guy4c7/xIJUkxixFr/oAkOF86MGiFxNY4sZjBnrckWNzD
|
|
10
|
+
CWirSMYmrc1XQwA3C9Nu5LYqUzJ6bVlXh1ySzXJo08+9JJb1vklBh5QMl/KvGsee
|
|
11
|
+
RFW1LcQJ7XdwRxPyUlo=
|
|
12
|
+
-----END CERTIFICATE REQUEST-----
|
data/test/testpub.pem
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDWDCCAwKgAwIBAgIJALUoIN839aaAMA0GCSqGSIb3DQEBBQUAMIGmMQswCQYD
|
|
3
|
+
VQQGEwJESzEQMA4GA1UECBMHRGVubWFyazETMBEGA1UEBxMKQ29wZW5oYWdlbjEi
|
|
4
|
+
MCAGA1UEChMZRXpDcnlwdG8gVGVzdCBDZXJ0aWZpY2F0ZTEQMA4GA1UECxMHdGVz
|
|
5
|
+
dGluZzEZMBcGA1UEAxMQRXpDcnlwdG8gVGVzdGluZzEfMB0GCSqGSIb3DQEJARYQ
|
|
6
|
+
cGVsbGViQGdtYWlsLmNvbTAeFw0wNjA3MzEyMTQ1NTVaFw0wNzA3MzEyMTQ1NTVa
|
|
7
|
+
MIGmMQswCQYDVQQGEwJESzEQMA4GA1UECBMHRGVubWFyazETMBEGA1UEBxMKQ29w
|
|
8
|
+
ZW5oYWdlbjEiMCAGA1UEChMZRXpDcnlwdG8gVGVzdCBDZXJ0aWZpY2F0ZTEQMA4G
|
|
9
|
+
A1UECxMHdGVzdGluZzEZMBcGA1UEAxMQRXpDcnlwdG8gVGVzdGluZzEfMB0GCSqG
|
|
10
|
+
SIb3DQEJARYQcGVsbGViQGdtYWlsLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgC
|
|
11
|
+
QQDBgez5h2DRFKs8abR3zQ08y8S0Wu4iI+2hCjp/qM6i1AwhaOVE0uUpGU3VL/xQ
|
|
12
|
+
mFwDX80mYA2Sxi2QfGRybgpBAgMBAAGjggEPMIIBCzAdBgNVHQ4EFgQUNdcj4z5p
|
|
13
|
+
YRKfpdfN+Y+EeklG7n0wgdsGA1UdIwSB0zCB0IAUNdcj4z5pYRKfpdfN+Y+EeklG
|
|
14
|
+
7n2hgaykgakwgaYxCzAJBgNVBAYTAkRLMRAwDgYDVQQIEwdEZW5tYXJrMRMwEQYD
|
|
15
|
+
VQQHEwpDb3BlbmhhZ2VuMSIwIAYDVQQKExlFekNyeXB0byBUZXN0IENlcnRpZmlj
|
|
16
|
+
YXRlMRAwDgYDVQQLEwd0ZXN0aW5nMRkwFwYDVQQDExBFekNyeXB0byBUZXN0aW5n
|
|
17
|
+
MR8wHQYJKoZIhvcNAQkBFhBwZWxsZWJAZ21haWwuY29tggkAtSgg3zf1poAwDAYD
|
|
18
|
+
VR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAANBABOyoG6oY7rtWIw8ffKV5XSeVLzU
|
|
19
|
+
HyNQJYK7D2JN17vwgHPhilbeFKi7tT9HuUHt0o2Fxg1rikRJbFPiky348ww=
|
|
20
|
+
-----END CERTIFICATE-----
|
data/test/testsigner.pem
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIIBOgIBAAJBAMGB7PmHYNEUqzxptHfNDTzLxLRa7iIj7aEKOn+ozqLUDCFo5UTS
|
|
3
|
+
5SkZTdUv/FCYXANfzSZgDZLGLZB8ZHJuCkECAwEAAQJBAK9EHb54xtE49ku2tjWY
|
|
4
|
+
LPg228g7X9reTdoBqLB91gMVlXwNAVyHMTHakhIC73K3qq9k4H1D59w1wjzx4nXJ
|
|
5
|
+
/v0CIQD1R0vhhdlY2GqC+1EFCm+rPjamixcszDF2XSNp4WcwXwIhAMn3Td4aIpf6
|
|
6
|
+
A9O4SIbisZaOm0DlfO2O5GMkaF+eqElfAiBHcjcmQCjpelC8Spx1DW8twHeG16ku
|
|
7
|
+
gWQ/CC5SnzfBnQIgIvo3fB2enB9qhkJGHUYpZ1+vN6AG8MVsfFcT1GuPzZUCIEbx
|
|
8
|
+
VUGyBYwuUfvCG88KM0NznR8xFtWD4WQ8SQejX5AN
|
|
9
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0
|
|
3
|
+
IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz
|
|
4
|
+
BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y
|
|
5
|
+
aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG
|
|
6
|
+
9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMTk1NFoXDTE5MDYy
|
|
7
|
+
NjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y
|
|
8
|
+
azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
|
|
9
|
+
YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw
|
|
10
|
+
Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl
|
|
11
|
+
cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOOnHK5avIWZJV16vY
|
|
12
|
+
dA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVCCSRrCl6zfN1SLUzm1NZ9
|
|
13
|
+
WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7RfZHM047QS
|
|
14
|
+
v4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9v
|
|
15
|
+
UJSZSWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTu
|
|
16
|
+
IYEZoDJJKPTEjlbVUjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwC
|
|
17
|
+
W/POuZ6lcg5Ktz885hZo+L7tdEy8W9ViH0Pd
|
|
18
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIEZTCCA86gAwIBAgIDPSALMA0GCSqGSIb3DQEBBQUAMIHsMQswCQYDVQQGEwJV
|
|
3
|
+
UzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTElMCMGA1UE
|
|
4
|
+
ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEwMC4GA1UECxMnaHR0cDov
|
|
5
|
+
L3d3dy5zdGFyZmllbGR0ZWNoLmNvbS9yZXBvc2l0b3J5MTEwLwYDVQQDEyhTdGFy
|
|
6
|
+
ZmllbGQgU2VjdXJlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSowKAYJKoZIhvcN
|
|
7
|
+
AQkBFhtwcmFjdGljZXNAc3RhcmZpZWxkdGVjaC5jb20wHhcNMDUxMTAyMDkzODQ0
|
|
8
|
+
WhcNMDYxMTAyMDkzODQ0WjBRMRUwEwYDVQQKEwx3aWRld29yZC5uZXQxITAfBgNV
|
|
9
|
+
BAsTGERvbWFpbiBDb250cm9sIFZhbGlkYXRlZDEVMBMGA1UEAxMMd2lkZXdvcmQu
|
|
10
|
+
bmV0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC85wfsbuWTbjotWBAHbLPO
|
|
11
|
+
0RZANUe3ONycloBTEmEN96YBIhB69CC/4TGZb+q1cCwi3jW9YXaVbMBNYQ8nJ51S
|
|
12
|
+
PHmcFV8N4F/TM9YXYPOoX9KIbv5J9U0LoyS5g/XvAes5PTFoZ3mZM6QLtpeNcqnm
|
|
13
|
+
sA4TrxG6PXc+oYgbKGTh3wIDAQABo4IBrTCCAakwCQYDVR0TBAIwADALBgNVHQ8E
|
|
14
|
+
BAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMFYGA1UdHwRPME0w
|
|
15
|
+
S6BJoEeGRWh0dHA6Ly9jZXJ0aWZpY2F0ZXMuc3RhcmZpZWxkdGVjaC5jb20vcmVw
|
|
16
|
+
b3NpdG9yeS9zdGFyZmllbGRpc3N1aW5nLmNybDBPBgNVHSAESDBGMEQGC2CGSAGG
|
|
17
|
+
+EUBBxcDMDUwMwYIKwYBBQUHAgEWJ2h0dHA6Ly93d3cuc3RhcmZpZWxkdGVjaC5j
|
|
18
|
+
b20vcmVwb3NpdG9yeTCBhgYIKwYBBQUHAQEEejB4MCkGCCsGAQUFBzABhh1odHRw
|
|
19
|
+
Oi8vb2NzcC5zdGFyZmllbGR0ZWNoLmNvbTBLBggrBgEFBQcwAoY/aHR0cDovL2Nl
|
|
20
|
+
cnRpZmljYXRlcy5zdGFyZmllbGR0ZWNoLmNvbS9yZXBvc2l0b3J5L3NmX2lzc3Vp
|
|
21
|
+
bmcuY3J0MB0GA1UdDgQWBBRoDkSFlTpkGWuTfvDEimvMJQfHjzAfBgNVHSMEGDAW
|
|
22
|
+
gBSsVd636hPr/Jho4lNgHvElPozu5zANBgkqhkiG9w0BAQUFAAOBgQDRDKSZgvMM
|
|
23
|
+
zkpTmgXgOrklU34D4QQjQUL0RMHX/p3nBxEiCH79jixPP2vGky4Pqq/sb6Qw1Xp6
|
|
24
|
+
nysWzjuMy1oetO56m85IPSgzJ7tc3tYnADGeJ9VKFq0nUuE4ogXIZkez+kfXVJxF
|
|
25
|
+
2IXm/GhToNNEWO+flC7qWP43Sj+AJoBonw==
|
|
26
|
+
-----END CERTIFICATE-----
|
|
27
|
+
|
metadata
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
|
-
rubygems_version: 0.
|
|
2
|
+
rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
|
4
4
|
name: ezcrypto
|
|
5
5
|
version: !ruby/object:Gem::Version
|
|
6
|
-
version: "0.
|
|
7
|
-
date: 2006-
|
|
6
|
+
version: "0.6"
|
|
7
|
+
date: 2006-08-09 00:00:00 -03:00
|
|
8
8
|
summary: Simplified encryption library.
|
|
9
9
|
require_paths:
|
|
10
10
|
- lib
|
|
@@ -23,6 +23,9 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
|
23
23
|
version: 0.0.0
|
|
24
24
|
version:
|
|
25
25
|
platform: ruby
|
|
26
|
+
signing_key:
|
|
27
|
+
cert_chain:
|
|
28
|
+
post_install_message:
|
|
26
29
|
authors:
|
|
27
30
|
- Pelle Braendgaard
|
|
28
31
|
files:
|
|
@@ -34,14 +37,28 @@ files:
|
|
|
34
37
|
- init.rb
|
|
35
38
|
- lib/active_crypto.rb
|
|
36
39
|
- lib/ezcrypto.rb
|
|
40
|
+
- lib/ezsig.rb
|
|
37
41
|
- test/active_crypto_test.rb
|
|
38
42
|
- test/association_key_holder_test.rb
|
|
39
43
|
- test/database.yml
|
|
40
44
|
- test/debug.log
|
|
45
|
+
- test/dsakey.pem
|
|
46
|
+
- test/dsapubkey.pem
|
|
47
|
+
- test/dsig_test.rb
|
|
41
48
|
- test/encrypt_test.rb
|
|
42
49
|
- test/ezcrypto_test.rb
|
|
43
50
|
- test/key_holder_test.rb
|
|
51
|
+
- test/protectedsigner.pem
|
|
52
|
+
- test/sf_issuing.crt
|
|
53
|
+
- test/store
|
|
44
54
|
- test/test_helper.rb
|
|
55
|
+
- test/testchild.pem
|
|
56
|
+
- test/testchild.req
|
|
57
|
+
- test/testpub.pem
|
|
58
|
+
- test/testsigner.cert
|
|
59
|
+
- test/testsigner.pem
|
|
60
|
+
- test/valicert_class2_root.crt
|
|
61
|
+
- test/wideword.net.cert
|
|
45
62
|
test_files: []
|
|
46
63
|
|
|
47
64
|
rdoc_options: []
|