spectus 2.1.2 → 2.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/README.md +23 -15
- data/VERSION.semver +1 -1
- data/certs/gem-fixrb-public_cert.pem +21 -0
- data/checksum/spectus-2.0.0.gem.sha512 +1 -0
- data/checksum/spectus-2.0.1.gem.sha512 +1 -0
- data/checksum/spectus-2.0.2.gem.sha512 +1 -0
- data/checksum/spectus-2.0.3.gem.sha512 +1 -0
- data/checksum/spectus-2.0.4.gem.sha512 +1 -0
- data/checksum/spectus-2.1.0.gem.sha512 +1 -0
- data/checksum/spectus-2.1.1.gem.sha512 +1 -0
- data/checksum/spectus-2.1.2.gem.sha512 +1 -0
- data/pkg_checksum +11 -0
- data/spectus.gemspec +4 -6
- metadata +27 -18
- metadata.gz.sig +0 -0
- data/spectus-gem-public_cert.pem +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a312e78b039e7c9918d904c9181ccc7a1f27c3cc
|
4
|
+
data.tar.gz: 64ad093824b550c74ada53baa5103e66f5bdf9b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 833b4df309519b4902d4c37c76dd583ac6f4e8335e243508740dc401a59ab68ed47845c68016f7cc2cb8d23eefda087d78275ebe92a59450e3acb8f07b38f52c
|
7
|
+
data.tar.gz: e57d7f00a15dabe3b4474fc9f748ae48effa27be357d3605b5ba62747c53e233b114e6d9a9d63dae229c2c7c22937b94c565c3fa1947f4bbe95279b123187097
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/README.md
CHANGED
@@ -1,8 +1,3 @@
|
|
1
|
-
[gem]: https://rubygems.org/gems/spectus
|
2
|
-
[travis]: https://travis-ci.org/fixrb/spectus
|
3
|
-
[inchpages]: http://inch-ci.org/github/fixrb/spectus/
|
4
|
-
[rubydoc]: http://rubydoc.info/gems/spectus/frames
|
5
|
-
|
6
1
|
# Spectus
|
7
2
|
|
8
3
|
[![Build Status](https://travis-ci.org/fixrb/spectus.svg?branch=master)][travis]
|
@@ -26,19 +21,14 @@
|
|
26
21
|
|
27
22
|
## Installation
|
28
23
|
|
29
|
-
|
30
|
-
|
31
|
-
```ruby
|
32
|
-
gem 'spectus'
|
33
|
-
```
|
34
|
-
|
35
|
-
And then execute:
|
24
|
+
__Spectus__ is cryptographically signed.
|
36
25
|
|
37
|
-
|
26
|
+
To be sure the gem you install hasn't been tampered with, add my public key (if you haven't already) as a trusted certificate:
|
38
27
|
|
39
|
-
|
28
|
+
$ gem cert --add <(curl -Ls https://raw.github.com/fixrb/spectus/master/certs/gem-fixrb-public_cert.pem)
|
29
|
+
$ gem install spectus -P HighSecurity
|
40
30
|
|
41
|
-
|
31
|
+
The `HighSecurity` trust profile will verify all gems. All of __Spectus__'s dependencies are signed.
|
42
32
|
|
43
33
|
## Expectation
|
44
34
|
|
@@ -118,6 +108,19 @@ Spectus.this { 'foo'.blank? }.MAY :BeFalse
|
|
118
108
|
|
119
109
|
The optional `blank?` method is not implemented (unlike in [Ruby on Rails](http://api.rubyonrails.org/classes/Object.html#method-i-blank-3F), for instance), so the result of the test shows that the spec passed.
|
120
110
|
|
111
|
+
## Security
|
112
|
+
|
113
|
+
As a basic form of security __Spectus__ provides a set of SHA512 checksums for
|
114
|
+
every Gem release. These checksums can be found in the `checksum/` directory.
|
115
|
+
Although these checksums do not prevent malicious users from tampering with a
|
116
|
+
built Gem they can be used for basic integrity verification purposes.
|
117
|
+
|
118
|
+
The checksum of a file can be checked using the `sha512sum` command. For
|
119
|
+
example:
|
120
|
+
|
121
|
+
$ sha512sum pkg/spectus-2.0.0.gem
|
122
|
+
e00ef19cbae209816410c1b0e4b032a59ba70ab2e43367c934ad723d3e23a9c50c457c0963fab7d46743d82ab21f9482dbd8ceb7cab23617e37be26823d846cd pkg/spectus-2.0.0.gem
|
123
|
+
|
121
124
|
## Versioning
|
122
125
|
|
123
126
|
__Spectus__ follows [Semantic Versioning 2.0](http://semver.org/).
|
@@ -133,3 +136,8 @@ __Spectus__ follows [Semantic Versioning 2.0](http://semver.org/).
|
|
133
136
|
## License
|
134
137
|
|
135
138
|
See `LICENSE.md` file.
|
139
|
+
|
140
|
+
[gem]: https://rubygems.org/gems/spectus
|
141
|
+
[travis]: https://travis-ci.org/fixrb/spectus
|
142
|
+
[inchpages]: http://inch-ci.org/github/fixrb/spectus/
|
143
|
+
[rubydoc]: http://rubydoc.info/gems/spectus/frames
|
data/VERSION.semver
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.3
|
@@ -0,0 +1,21 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDdDCCAlygAwIBAgIBATANBgkqhkiG9w0BAQUFADBAMRAwDgYDVQQDDAdjb250
|
3
|
+
YWN0MRUwEwYKCZImiZPyLGQBGRYFY3lyaWwxFTATBgoJkiaJk/IsZAEZFgVlbWFp
|
4
|
+
bDAeFw0xNTA3MzExMjExMDZaFw0xNjA3MzAxMjExMDZaMEAxEDAOBgNVBAMMB2Nv
|
5
|
+
bnRhY3QxFTATBgoJkiaJk/IsZAEZFgVjeXJpbDEVMBMGCgmSJomT8ixkARkWBWVt
|
6
|
+
YWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6hUEYoxnn1mtoaiK
|
7
|
+
NiwjzVPqPgQCR9ZeYdWjLJ3UUG2h5Q6awJCnbaGr8LGGcKtveCDbOJRjtdKNuOTH
|
8
|
+
O2FLTkf46nrMGiF+6/j//qh8o0EQHBRKIVMYkxZxZe4Fcqtdf1bWNMZuXeyoDjdt
|
9
|
+
4yiGfizbbTOu0gBf7Yrsv5DsL0a5CU/We7zxMfgGXCVb9PYkD+OWUMcTARYDKfYa
|
10
|
+
nN9ECI7CFm/yXcsof/eIQA5EmJNmQnhx8B+8L6jDqQeSUAUrBZnC9CdloKOoqmEL
|
11
|
+
weqM2g6LM932Ba74rEl4QlFRYDcs8kjr71UcvseHRCUkFr36j26OU8+gKelsTNdO
|
12
|
+
7OZNKQIDAQABo3kwdzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
|
13
|
+
LSJTN9h29D6bqOhp+vyvhyM0AF4wHgYDVR0RBBcwFYETY29udGFjdEBjeXJpbC5l
|
14
|
+
bWFpbDAeBgNVHRIEFzAVgRNjb250YWN0QGN5cmlsLmVtYWlsMA0GCSqGSIb3DQEB
|
15
|
+
BQUAA4IBAQArqCC1rUyGJlF0DF9ZhUOgggyROvO0/WroSI5zWgzdB8EU7RJpsDIV
|
16
|
+
caGnpji7h0rQIGWQuJ6TL2fTFLfeGRFdIzRZwWC7TeXhcXngJHZxSjDBt2OpfM8A
|
17
|
+
P5eElSQS9iJCetBGGMyt354PfgZkg3URaC+JA6mdEisdtEdo64ElnMsLg9shCqye
|
18
|
+
JSR3BbejbyPVva0/MHKD+dR6RswlcM9KMiYOXQml7a/kH6huOHvVq9gj5xC2ih8W
|
19
|
+
dzJvWzQ1+dJU6WQv75E9ddSkaQrK3nhdgQVu+/wgvGSrsMvOGNz+LXaSDxQqZuwX
|
20
|
+
0KNQFuIukfrdk8URwRnHoAnvx4U93iUw
|
21
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1 @@
|
|
1
|
+
e00ef19cbae209816410c1b0e4b032a59ba70ab2e43367c934ad723d3e23a9c50c457c0963fab7d46743d82ab21f9482dbd8ceb7cab23617e37be26823d846cd
|
@@ -0,0 +1 @@
|
|
1
|
+
9e53bf80d2c965ad554b7250434aa110eb02af57df8099c72c88bb904713fbcb6561161854085bdd21192193b813c7fe2385bf29908309ef5a033c6e217fda89
|
@@ -0,0 +1 @@
|
|
1
|
+
099ab4633acf7a95dd4c4ee103ca23bea5c61e3c4f6e2d999608f802b575b42e35f6caa5688a94e556797ce44f2f331d29f6091030c3ffbcd48d66e4c106309b
|
@@ -0,0 +1 @@
|
|
1
|
+
940e7cd57595b988c887d78dfa3e09ddbc77e2f387fe3432dea085a1377b0b2cdde327aa1955ddfd98a41a7a3f5c07b42f2872a6a6b08dc9f85b04923ef6536b
|
@@ -0,0 +1 @@
|
|
1
|
+
6e76d7fa5d2a6aa49db44430ffb45e7a87e25abd2aa75ea8d26438959956d722a053ef777e286821086d94f279b986f46004677efe38026676ce70ec6428a46c
|
@@ -0,0 +1 @@
|
|
1
|
+
b0c21b8994071c60473dcb8744a6f5cd7666cfc9f6c682b39b27b45fd24ca6ff742b47c2c195a1b114bbb21bf843597a853e7ed48c4cc4d9992b8642f922b40a
|
@@ -0,0 +1 @@
|
|
1
|
+
01c0dc2a88f74f7696443426153f7d025ac796b29ef122c4330675c736e7c3021762185a6c34e34340f1a139cc59dae63e571a0d18c4cba068a6f2a9c357a431
|
@@ -0,0 +1 @@
|
|
1
|
+
630355ae4fb971f56f52b83d8cc112c2f8b3a38fedde269f527641c54581abaf230536532f1d3fb5b926dd0d4034dc886e8c5c1f0fcf59d31ed49b4ba2548fdd
|
data/pkg_checksum
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'digest/sha2'
|
4
|
+
|
5
|
+
gemname = :spectus
|
6
|
+
ARGV[0] = File.read('VERSION.semver').chomp if ARGV[0].nil?
|
7
|
+
built_gem_path = "pkg/#{gemname}-#{ARGV[0]}.gem"
|
8
|
+
checksum = Digest::SHA512.new.hexdigest(File.read(built_gem_path))
|
9
|
+
checksum_path = "checksum/#{gemname}-#{ARGV[0]}.gem.sha512"
|
10
|
+
|
11
|
+
File.open(checksum_path, 'w') { |f| f.write("#{checksum}\n") }
|
data/spectus.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = 'spectus'
|
3
|
-
spec.version = File.read('VERSION.semver')
|
3
|
+
spec.version = File.read('VERSION.semver').chomp
|
4
4
|
spec.authors = ['Cyril Wack']
|
5
5
|
spec.email = ['contact@cyril.email']
|
6
6
|
|
@@ -22,9 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_development_dependency 'simplecov', '~> 0.10'
|
23
23
|
spec.add_development_dependency 'rubocop', '~> 0.32'
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
spec.cert_chain = ['spectus-gem-public_cert.pem']
|
29
|
-
end
|
25
|
+
spec.cert_chain = ['certs/gem-fixrb-public_cert.pem']
|
26
|
+
private_key = File.expand_path('~/.ssh/gem-fixrb-private_key.pem')
|
27
|
+
spec.signing_key = private_key if File.exist?(private_key)
|
30
28
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spectus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cyril Wack
|
@@ -12,25 +12,25 @@ cert_chain:
|
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIDdDCCAlygAwIBAgIBATANBgkqhkiG9w0BAQUFADBAMRAwDgYDVQQDDAdjb250
|
14
14
|
YWN0MRUwEwYKCZImiZPyLGQBGRYFY3lyaWwxFTATBgoJkiaJk/IsZAEZFgVlbWFp
|
15
|
-
|
15
|
+
bDAeFw0xNTA3MzExMjExMDZaFw0xNjA3MzAxMjExMDZaMEAxEDAOBgNVBAMMB2Nv
|
16
16
|
bnRhY3QxFTATBgoJkiaJk/IsZAEZFgVjeXJpbDEVMBMGCgmSJomT8ixkARkWBWVt
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
17
|
+
YWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6hUEYoxnn1mtoaiK
|
18
|
+
NiwjzVPqPgQCR9ZeYdWjLJ3UUG2h5Q6awJCnbaGr8LGGcKtveCDbOJRjtdKNuOTH
|
19
|
+
O2FLTkf46nrMGiF+6/j//qh8o0EQHBRKIVMYkxZxZe4Fcqtdf1bWNMZuXeyoDjdt
|
20
|
+
4yiGfizbbTOu0gBf7Yrsv5DsL0a5CU/We7zxMfgGXCVb9PYkD+OWUMcTARYDKfYa
|
21
|
+
nN9ECI7CFm/yXcsof/eIQA5EmJNmQnhx8B+8L6jDqQeSUAUrBZnC9CdloKOoqmEL
|
22
|
+
weqM2g6LM932Ba74rEl4QlFRYDcs8kjr71UcvseHRCUkFr36j26OU8+gKelsTNdO
|
23
|
+
7OZNKQIDAQABo3kwdzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
|
24
|
+
LSJTN9h29D6bqOhp+vyvhyM0AF4wHgYDVR0RBBcwFYETY29udGFjdEBjeXJpbC5l
|
25
25
|
bWFpbDAeBgNVHRIEFzAVgRNjb250YWN0QGN5cmlsLmVtYWlsMA0GCSqGSIb3DQEB
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
26
|
+
BQUAA4IBAQArqCC1rUyGJlF0DF9ZhUOgggyROvO0/WroSI5zWgzdB8EU7RJpsDIV
|
27
|
+
caGnpji7h0rQIGWQuJ6TL2fTFLfeGRFdIzRZwWC7TeXhcXngJHZxSjDBt2OpfM8A
|
28
|
+
P5eElSQS9iJCetBGGMyt354PfgZkg3URaC+JA6mdEisdtEdo64ElnMsLg9shCqye
|
29
|
+
JSR3BbejbyPVva0/MHKD+dR6RswlcM9KMiYOXQml7a/kH6huOHvVq9gj5xC2ih8W
|
30
|
+
dzJvWzQ1+dJU6WQv75E9ddSkaQrK3nhdgQVu+/wgvGSrsMvOGNz+LXaSDxQqZuwX
|
31
|
+
0KNQFuIukfrdk8URwRnHoAnvx4U93iUw
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2015-07-
|
33
|
+
date: 2015-07-31 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: matchi
|
@@ -135,6 +135,15 @@ files:
|
|
135
135
|
- VERSION.semver
|
136
136
|
- bin/console
|
137
137
|
- bin/setup
|
138
|
+
- certs/gem-fixrb-public_cert.pem
|
139
|
+
- checksum/spectus-2.0.0.gem.sha512
|
140
|
+
- checksum/spectus-2.0.1.gem.sha512
|
141
|
+
- checksum/spectus-2.0.2.gem.sha512
|
142
|
+
- checksum/spectus-2.0.3.gem.sha512
|
143
|
+
- checksum/spectus-2.0.4.gem.sha512
|
144
|
+
- checksum/spectus-2.1.0.gem.sha512
|
145
|
+
- checksum/spectus-2.1.1.gem.sha512
|
146
|
+
- checksum/spectus-2.1.2.gem.sha512
|
138
147
|
- lib/spectus.rb
|
139
148
|
- lib/spectus/challenge.rb
|
140
149
|
- lib/spectus/expectation_target.rb
|
@@ -146,7 +155,7 @@ files:
|
|
146
155
|
- lib/spectus/result/fail.rb
|
147
156
|
- lib/spectus/result/pass.rb
|
148
157
|
- lib/spectus/sandbox.rb
|
149
|
-
-
|
158
|
+
- pkg_checksum
|
150
159
|
- spectus.gemspec
|
151
160
|
homepage: https://github.com/fixrb/spectus
|
152
161
|
licenses:
|
metadata.gz.sig
CHANGED
Binary file
|
data/spectus-gem-public_cert.pem
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIDdDCCAlygAwIBAgIBATANBgkqhkiG9w0BAQUFADBAMRAwDgYDVQQDDAdjb250
|
3
|
-
YWN0MRUwEwYKCZImiZPyLGQBGRYFY3lyaWwxFTATBgoJkiaJk/IsZAEZFgVlbWFp
|
4
|
-
bDAeFw0xNTA3MjUxNjUzMDhaFw0xNjA3MjQxNjUzMDhaMEAxEDAOBgNVBAMMB2Nv
|
5
|
-
bnRhY3QxFTATBgoJkiaJk/IsZAEZFgVjeXJpbDEVMBMGCgmSJomT8ixkARkWBWVt
|
6
|
-
YWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvrrzDqZmwp4Kdu2+
|
7
|
-
mi1hAtJ4wtD6FbZh9F2me5Sl4y7nozjQ1+4E285RVtPjdH6L3BEr4HcaUsT+Zkim
|
8
|
-
qTf90SMI1oa2wRSXZ3FpkNkt2zHs6Vx1PH7UYqK5cNMcywCDSW5rKhC1ZBxDMdZP
|
9
|
-
vmG5ZHXwDum2wEM+z0nGTFcp3/aEmrc/kyEIgiPboDJbfTLLBMH6zXURC4d4Fit+
|
10
|
-
DVuSXI9VTyfvYiYCdZa7w4VPRof+k+uqy3chz7sYxwbCwwXaxTmjEqPtCx3Er/SU
|
11
|
-
4P/OH73dE0r/luRBifNuSMuZrClZmIKu39Vm0DzfacXP3k8KLzK6CIK2YqVpKkAl
|
12
|
-
fKDmnwIDAQABo3kwdzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
|
13
|
-
yvG9fvKk8CFLsqnjWQfemuO6wOUwHgYDVR0RBBcwFYETY29udGFjdEBjeXJpbC5l
|
14
|
-
bWFpbDAeBgNVHRIEFzAVgRNjb250YWN0QGN5cmlsLmVtYWlsMA0GCSqGSIb3DQEB
|
15
|
-
BQUAA4IBAQB7+BSUipu068bkbiUNoilqtyELOxd2egDgjKb+puPXGM+2nPKro5xQ
|
16
|
-
y8zaftDVmNTqC1EP2j6euDfVhWO4sv/89nLTL1A2WdTfodRkGHFekUHHVT4LFm0q
|
17
|
-
yF3vfuowYcV9M/fbrdi5GSs22SitzLZ3IvMy++mcIY57Qv2aI7WsxcefPBobnGMM
|
18
|
-
4PzLjKhqmU1NbXIokO49Zn2AoK4/DcbJ6fFhifnTL+vPUjPezAhjcuEE4dX5Nikp
|
19
|
-
kzblEabZ6jLr4iWRcl78m6nxsbKfUO7asR+InRweD1avTJSxAXMC9Ci7aePuxb8G
|
20
|
-
hdd2B5+neMHAKByDubyca9oN65msUDrY
|
21
|
-
-----END CERTIFICATE-----
|