r509 1.0 → 1.0.1
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 +4 -4
- data/{CONTRIBUTING.mdown → CONTRIBUTING.md} +0 -0
- data/{README.mdown → README.md} +44 -38
- data/doc/R509.html +4 -4
- data/doc/R509/ASN1.html +2 -2
- data/doc/R509/ASN1/GeneralName.html +2 -2
- data/doc/R509/ASN1/GeneralNames.html +2 -2
- data/doc/R509/CRL.html +3 -3
- data/doc/R509/CRL/Administrator.html +2 -2
- data/doc/R509/CRL/FileReaderWriter.html +2 -2
- data/doc/R509/CRL/ReaderWriter.html +2 -2
- data/doc/R509/CRL/SQLiteReaderWriter.html +2 -2
- data/doc/R509/CRL/SignedList.html +2 -2
- data/doc/R509/CSR.html +2 -2
- data/doc/R509/Cert.html +3 -3
- data/doc/R509/Cert/Extensions.html +3 -3
- data/doc/R509/Cert/Extensions/AuthorityInfoAccess.html +2 -2
- data/doc/R509/Cert/Extensions/AuthorityKeyIdentifier.html +2 -2
- data/doc/R509/Cert/Extensions/BasicConstraints.html +2 -2
- data/doc/R509/Cert/Extensions/CRLDistributionPoints.html +2 -2
- data/doc/R509/Cert/Extensions/CertificatePolicies.html +2 -2
- data/doc/R509/Cert/Extensions/ExtendedKeyUsage.html +2 -2
- data/doc/R509/Cert/Extensions/GeneralNamesMixin.html +2 -2
- data/doc/R509/Cert/Extensions/InhibitAnyPolicy.html +2 -2
- data/doc/R509/Cert/Extensions/KeyUsage.html +2 -2
- data/doc/R509/Cert/Extensions/NameConstraints.html +2 -2
- data/doc/R509/Cert/Extensions/NoticeReference.html +2 -2
- data/doc/R509/Cert/Extensions/OCSPNoCheck.html +2 -2
- data/doc/R509/Cert/Extensions/PolicyConstraints.html +2 -2
- data/doc/R509/Cert/Extensions/PolicyInformation.html +2 -2
- data/doc/R509/Cert/Extensions/PolicyQualifiers.html +2 -2
- data/doc/R509/Cert/Extensions/SubjectAlternativeName.html +2 -2
- data/doc/R509/Cert/Extensions/SubjectKeyIdentifier.html +2 -2
- data/doc/R509/Cert/Extensions/UserNotice.html +2 -2
- data/doc/R509/Cert/Extensions/ValidationMixin.html +2 -2
- data/doc/R509/CertificateAuthority.html +2 -2
- data/doc/R509/CertificateAuthority/OptionsBuilder.html +2 -2
- data/doc/R509/CertificateAuthority/Signer.html +2 -2
- data/doc/R509/Config.html +2 -2
- data/doc/R509/Config/CAConfig.html +2 -2
- data/doc/R509/Config/CAConfigPool.html +2 -2
- data/doc/R509/Config/CertProfile.html +2 -2
- data/doc/R509/Config/SubjectItemPolicy.html +2 -2
- data/doc/R509/Engine.html +2 -2
- data/doc/R509/Helpers.html +2 -2
- data/doc/R509/MessageDigest.html +3 -3
- data/doc/R509/NameSanitizer.html +2 -2
- data/doc/R509/OCSP.html +2 -2
- data/doc/R509/OCSP/Request.html +2 -2
- data/doc/R509/OCSP/Request/Nonce.html +2 -2
- data/doc/R509/OCSP/Response.html +2 -2
- data/doc/R509/OIDMapper.html +26 -16
- data/doc/R509/PrivateKey.html +2 -2
- data/doc/R509/R509Error.html +2 -2
- data/doc/R509/SPKI.html +2 -2
- data/doc/R509/Subject.html +2 -2
- data/doc/R509/Validity.html +2 -2
- data/doc/R509/Validity/Checker.html +2 -2
- data/doc/R509/Validity/DefaultChecker.html +2 -2
- data/doc/R509/Validity/DefaultWriter.html +2 -2
- data/doc/R509/Validity/Status.html +2 -2
- data/doc/R509/Validity/Writer.html +2 -2
- data/doc/_index.html +2 -8
- data/doc/file.LICENSE.html +2 -2
- data/doc/file.README.html +15 -7
- data/doc/file.r509.html +2 -2
- data/doc/file_list.html +0 -10
- data/doc/index.html +15 -7
- data/doc/method_list.html +300 -300
- data/doc/top-level-namespace.html +2 -2
- data/lib/r509/message_digest.rb +1 -3
- data/lib/r509/oid_mapper.rb +6 -1
- data/lib/r509/version.rb +1 -1
- data/spec/csr_spec.rb +6 -6
- data/spec/fixtures/csr4.pem +25 -25
- data/spec/message_digest_spec.rb +0 -15
- data/spec/oid_mapper_spec.rb +5 -0
- data/spec/spki_spec.rb +1 -1
- metadata +14 -35
- checksums.yaml.gz.sig +0 -1
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
@@ -196,9 +196,9 @@
|
|
196
196
|
</div>
|
197
197
|
|
198
198
|
<div id="footer">
|
199
|
-
Generated on
|
199
|
+
Generated on Thu Nov 2 12:48:00 2017 by
|
200
200
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
201
|
-
0.9.5 (ruby-2.4.
|
201
|
+
0.9.5 (ruby-2.4.2).
|
202
202
|
</div>
|
203
203
|
|
204
204
|
</div>
|
data/lib/r509/message_digest.rb
CHANGED
@@ -4,7 +4,7 @@ module R509
|
|
4
4
|
# MessageDigest allows you to specify MDs in a more friendly fashion
|
5
5
|
class MessageDigest
|
6
6
|
# a list of message digests that this class understands
|
7
|
-
KNOWN_MDS = ['SHA1', 'SHA224', 'SHA256', 'SHA384', 'SHA512', '
|
7
|
+
KNOWN_MDS = ['SHA1', 'SHA224', 'SHA256', 'SHA384', 'SHA512', 'MD5']
|
8
8
|
|
9
9
|
# this constant defines the default message digest if it is not supplied
|
10
10
|
# or an invalid digest is passed
|
@@ -37,7 +37,6 @@ module R509
|
|
37
37
|
when 'sha384' then OpenSSL::Digest::SHA384.new
|
38
38
|
when 'sha512' then OpenSSL::Digest::SHA512.new
|
39
39
|
when 'md5' then OpenSSL::Digest::MD5.new
|
40
|
-
when 'dss1' then OpenSSL::Digest::DSS1.new
|
41
40
|
else
|
42
41
|
@name = DEFAULT_MD.downcase
|
43
42
|
translate_name_to_digest
|
@@ -53,7 +52,6 @@ module R509
|
|
53
52
|
when OpenSSL::Digest::SHA384 then 'sha384'
|
54
53
|
when OpenSSL::Digest::SHA512 then 'sha512'
|
55
54
|
when OpenSSL::Digest::MD5 then 'md5'
|
56
|
-
when OpenSSL::Digest::DSS1 then 'dss1'
|
57
55
|
else
|
58
56
|
raise ArgumentError, "Unknown digest"
|
59
57
|
end
|
data/lib/r509/oid_mapper.rb
CHANGED
@@ -12,7 +12,12 @@ module R509
|
|
12
12
|
if long_name.nil?
|
13
13
|
long_name = short_name
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
|
+
begin
|
17
|
+
OpenSSL::ASN1::ObjectId.register(oid, short_name, long_name)
|
18
|
+
rescue OpenSSL::ASN1::ASN1Error
|
19
|
+
false
|
20
|
+
end
|
16
21
|
end
|
17
22
|
|
18
23
|
# Register a batch of OIDs so we have friendly short names
|
data/lib/r509/version.rb
CHANGED
data/spec/csr_spec.rb
CHANGED
@@ -78,18 +78,18 @@ describe R509::CSR do
|
|
78
78
|
it "raises an exception if you provide a list of domains with an existing CSR" do
|
79
79
|
expect { R509::CSR.new(:csr => @csr, :san_names => ['moredomainsiwanttoadd.com']) }.to raise_error(ArgumentError, 'You can\'t add domains to an existing CSR')
|
80
80
|
end
|
81
|
-
it "changes the message_digest to
|
81
|
+
it "changes the message_digest to SHA256 when passed a DSA key" do
|
82
82
|
csr = R509::CSR.new(:subject => [["CN", "dsasigned.com"]], :key => @dsa_key)
|
83
|
-
expect(csr.message_digest.name).to eq('
|
84
|
-
expect(csr.signature_algorithm).to eq('
|
83
|
+
expect(csr.message_digest.name).to eq('sha256')
|
84
|
+
expect(csr.signature_algorithm).to eq('dsa_with_SHA256')
|
85
85
|
# dss1 is actually the same as SHA1
|
86
86
|
# Yes this is confusing
|
87
87
|
# see http://www.ruby-doc.org/stdlib-1.9.3/libdoc/openssl/rdoc/OpenSSL/PKey/DSA.html
|
88
88
|
end
|
89
|
-
it "changes the message_digest to
|
89
|
+
it "changes the message_digest to SHA256 when creating a DSA key" do
|
90
90
|
csr = R509::CSR.new(:subject => [["CN", "dsasigned.com"]], :type => "dsa", :bit_length => 512)
|
91
|
-
expect(csr.message_digest.name).to eq('
|
92
|
-
expect(csr.signature_algorithm).to eq('
|
91
|
+
expect(csr.message_digest.name).to eq('sha256')
|
92
|
+
expect(csr.signature_algorithm).to eq('dsa_with_SHA256')
|
93
93
|
# dss1 is actually the same as SHA1
|
94
94
|
# Yes this is confusing
|
95
95
|
# see http://www.ruby-doc.org/stdlib-1.9.3/libdoc/openssl/rdoc/OpenSSL/PKey/DSA.html
|
data/spec/fixtures/csr4.pem
CHANGED
@@ -1,25 +1,25 @@
|
|
1
|
-
-----BEGIN CERTIFICATE REQUEST-----
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
-----END CERTIFICATE REQUEST-----
|
1
|
+
-----BEGIN NEW CERTIFICATE REQUEST-----
|
2
|
+
MIIEKjCCAxICAQAwgYoxCzAJBgNVBAYTAlVTMR0wGwYDVQQIDBREaXN0cmljdCBP
|
3
|
+
ZiBDb2x1bWJpYTETMBEGA1UEBwwKV2FzaGluZ3RvbjERMA8GA1UECwwIT3JnIFVu
|
4
|
+
aXQxEzARBgNVBAoMCk15IENvbXBhbnkxHzAdBgNVBAMMFmNvbmNlbnRyYXRvci52
|
5
|
+
cG4ubG9jYWwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5WNJl0Oxh
|
6
|
+
pu8A5uybAWjjOyQDr/UXeu+/xylNR3C7y7WEPsA5IUv8aa83lw8ag5+OZjN1lpIw
|
7
|
+
dy2yHCm9wzfBaxwd4GnU1jQf8hi9wAQsGrJI194eG0gUEHtVVUEmZAEvbiySfGH8
|
8
|
+
9+tL+iemD9Ua1YwDOCErSeqNg9ROZLHw31NuzJawByf5EoKwbZ0G7Rm0T5qUXGW2
|
9
|
+
Is8iIq74o2l7haEPSpWeQEXAigyEhB8l2Rr8icuhmVC/IEdz6B2rPe20psMO6vzF
|
10
|
+
Apx+WTgm7XzuSfqz0Tv7NABy63dRwGUW3yZn+3yN6EfC5CtkOzm1w2Na1I6wRlVH
|
11
|
+
XDJZlj3UxwzTAgMBAAGgggFYMBoGCisGAQQBgjcNAgMxDBYKNi4xLjc2MDEuMjBL
|
12
|
+
BgkrBgEEAYI3FRQxPjA8AgEFDBxWQ0hJLUVOLVJHRkZUMS50cnVzdHdhdmUuY29t
|
13
|
+
DBBUUlVTVFdBVkVcZGxhbXBhDAdNTUMuRVhFMHIGCisGAQQBgjcNAgIxZDBiAgEB
|
14
|
+
HloATQBpAGMAcgBvAHMAbwBmAHQAIABSAFMAQQAgAFMAQwBoAGEAbgBuAGUAbAAg
|
15
|
+
AEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIDAQAw
|
16
|
+
eQYJKoZIhvcNAQkOMWwwajA8BgNVHREENTAzggthZG9tYWluLmNvbYIRYW5vdGhl
|
17
|
+
cmRvbWFpbi5jb22CEWp1c3RhbmV4YW1wbGUuY29tMB0GA1UdDgQWBBQ6Y8EqbqGM
|
18
|
+
hQZOg6Z8u5ro9HvFwTALBgNVHQ8EBAMCBSAwDQYJKoZIhvcNAQEFBQADggEBAGdu
|
19
|
+
Cz9tnTWtkGSdUjG3u8RlIWtnwNI+lsw2wYperb2r/eWMYCa8o2k/HsmWbISWiqWO
|
20
|
+
HmS5VHoItUTimItRpaMwjDHpz1xrpILRW5vY2RZMh6+/DbZJFnXHuIIQF2gk1G8f
|
21
|
+
Z4rYm71EGnvETy7xdbQfMIZegvzyBCdWuT/67OrbBWhPL2VIqkqAn5eEfl2nKv30
|
22
|
+
SFyz9Yy63b4bBqYDOkmGlAZxFuPIMuxeiwlqzmXavV4mIB8e+qZnvjTzTjk7VnGb
|
23
|
+
b9r4r/Dl4nzFq1c6iii5EBGBcPTDBa/6uanM03nPXSudPEDpT33epUotM9+rsQX9
|
24
|
+
dPth/F/Do0QBAyOCyS0=
|
25
|
+
-----END NEW CERTIFICATE REQUEST-----
|
data/spec/message_digest_spec.rb
CHANGED
@@ -53,16 +53,6 @@ describe R509::MessageDigest do
|
|
53
53
|
expect(md.name).to eq("md5")
|
54
54
|
expect(md.digest.is_a?(OpenSSL::Digest::MD5)).to eq(true)
|
55
55
|
end
|
56
|
-
it "translates dss1 name -> digest" do
|
57
|
-
md = R509::MessageDigest.new("dss1")
|
58
|
-
expect(md.name).to eq("dss1")
|
59
|
-
expect(md.digest.is_a?(OpenSSL::Digest::DSS1)).to eq(true)
|
60
|
-
end
|
61
|
-
it "translates DSS1 name -> digest" do
|
62
|
-
md = R509::MessageDigest.new("DSS1")
|
63
|
-
expect(md.name).to eq("dss1")
|
64
|
-
expect(md.digest.is_a?(OpenSSL::Digest::DSS1)).to eq(true)
|
65
|
-
end
|
66
56
|
it "translates unknown name -> digest" do
|
67
57
|
md = R509::MessageDigest.new("unknown")
|
68
58
|
expect(md.name).to eq("sha256")
|
@@ -98,11 +88,6 @@ describe R509::MessageDigest do
|
|
98
88
|
expect(md.name).to eq("md5")
|
99
89
|
expect(md.digest.is_a?(OpenSSL::Digest::MD5)).to eq(true)
|
100
90
|
end
|
101
|
-
it "translates dss1 digest -> name" do
|
102
|
-
md = R509::MessageDigest.new(OpenSSL::Digest::DSS1.new)
|
103
|
-
expect(md.name).to eq("dss1")
|
104
|
-
expect(md.digest.is_a?(OpenSSL::Digest::DSS1)).to eq(true)
|
105
|
-
end
|
106
91
|
it "creates a default digest with no params or nil" do
|
107
92
|
md = R509::MessageDigest.new
|
108
93
|
expect(md.name).to eq(R509::MessageDigest::DEFAULT_MD.downcase)
|
data/spec/oid_mapper_spec.rb
CHANGED
@@ -17,6 +17,11 @@ describe R509::OIDMapper do
|
|
17
17
|
expect(subject_new['myOIDName']).to eq('random_oid')
|
18
18
|
end
|
19
19
|
|
20
|
+
it "returns false when registering an oid that already exists" do
|
21
|
+
allow(OpenSSL::ASN1::ObjectId).to receive(:register).and_raise(OpenSSL::ASN1::ASN1Error)
|
22
|
+
expect(R509::OIDMapper.register('1.4.3.2.1.2.7.4.4.4.4', 'someOtherName')).to eq(false)
|
23
|
+
end
|
24
|
+
|
20
25
|
it "registers a batch of new oids" do
|
21
26
|
expect { R509::Subject.new [['testOIDName', 'random_oid']] }.to raise_error(OpenSSL::X509::NameError, 'invalid field name')
|
22
27
|
expect { R509::Subject.new [['anotherOIDName', 'second_random']] }.to raise_error(OpenSSL::X509::NameError, 'invalid field name')
|
data/spec/spki_spec.rb
CHANGED
@@ -22,7 +22,7 @@ shared_examples_for "create spki with private key" do
|
|
22
22
|
when @key.rsa?
|
23
23
|
expect(spki.signature_algorithm).to(match(/sha256/i))
|
24
24
|
when @key.dsa?
|
25
|
-
expect(spki.signature_algorithm).to(match(/
|
25
|
+
expect(spki.signature_algorithm).to(match(/sha256/i))
|
26
26
|
end
|
27
27
|
spki.verify_signature
|
28
28
|
end
|
metadata
CHANGED
@@ -1,35 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r509
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul Kehrer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIDPDCCAiSgAwIBAgIBAzANBgkqhkiG9w0BAQUFADBEMRYwFAYDVQQDDA1wYXVs
|
14
|
-
Lmwua2VocmVyMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZ
|
15
|
-
FgNjb20wHhcNMTYxMjA2MTUzMDAyWhcNMTcxMjA2MTUzMDAyWjBEMRYwFAYDVQQD
|
16
|
-
DA1wYXVsLmwua2VocmVyMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJ
|
17
|
-
k/IsZAEZFgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDLVC6U
|
18
|
-
0ZyX4C4HllJxHW0Uq39bvRvfNXc0RXMSvIRklxjupx3EICVATpAJzg4qBxbpxRTe
|
19
|
-
XcsmuYfaZAriSH2M97C2sBJnVEAr63ws2vmBQKw9cXHV3RjQTeqQUTQudE790DTI
|
20
|
-
7pc1ObprB4pM2j3O6JtPVzmJ/PGACjtyg4bys6bx7JQJW5liunK26mS6w6mAAcAV
|
21
|
-
scAz7oh6fmOI0OSS45l3ycOEh5sb42cZzs7TNzcvVmEppTRa4wBP4/eDTuohxlPH
|
22
|
-
skuIPWcdU6YTo2LWwqEaGgUItj8lRqXGDcEZ1FhKyZ6HUD3l1zPGxojW8BKr0Svj
|
23
|
-
/cMP+y0YH5OeoD+vAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0G
|
24
|
-
A1UdDgQWBBRG/XG7L1orNzHDGQaIv97hRgJYajANBgkqhkiG9w0BAQUFAAOCAQEA
|
25
|
-
nhyFPJjIrxxka6vXSxaeSSLAJ6q/oeRqHxoJtT46JYPWeeT7j/vjFwS96oY5gWJk
|
26
|
-
STjSuGp+wFKKrdttswO2+GzpoTrOabQMw6kg1Y0hYXjJ5O52EDHmDPFKXK+yOYkK
|
27
|
-
GOAQZ8KXEnczOXTWiigLkwkEI5eH+vCMYSSvVpYlSmsgj6nYjl0K+XxWfXseBLv2
|
28
|
-
rLKOPJOyqpW2fuOxutEfQ3ZvgjeuzUnjXSuOuwZNrQSOODC2sYXyebd7UbjU+AsD
|
29
|
-
eJKxcHs4mnzJUqy/5FZbS/i8lMYMDy0elcc44zd+qDsY7zreRzpoB2XinMWV99vd
|
30
|
-
rHOwDzJDt8KFQ4zf0Bsrvg==
|
31
|
-
-----END CERTIFICATE-----
|
32
|
-
date: 2016-12-06 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-11-02 00:00:00.000000000 Z
|
33
12
|
dependencies:
|
34
13
|
- !ruby/object:Gem::Dependency
|
35
14
|
name: rspec
|
@@ -82,9 +61,9 @@ executables:
|
|
82
61
|
extensions: []
|
83
62
|
extra_rdoc_files: []
|
84
63
|
files:
|
85
|
-
- CONTRIBUTING.
|
64
|
+
- CONTRIBUTING.md
|
86
65
|
- LICENSE
|
87
|
-
- README.
|
66
|
+
- README.md
|
88
67
|
- Rakefile
|
89
68
|
- bin/r509
|
90
69
|
- bin/r509-parse
|
@@ -356,7 +335,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
356
335
|
requirements:
|
357
336
|
- - ">="
|
358
337
|
- !ruby/object:Gem::Version
|
359
|
-
version:
|
338
|
+
version: '2.0'
|
360
339
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
361
340
|
requirements:
|
362
341
|
- - ">="
|
@@ -364,20 +343,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
364
343
|
version: '0'
|
365
344
|
requirements: []
|
366
345
|
rubyforge_project:
|
367
|
-
rubygems_version: 2.6.
|
346
|
+
rubygems_version: 2.6.14
|
368
347
|
signing_key:
|
369
348
|
specification_version: 4
|
370
349
|
summary: A (relatively) simple X.509 certification authority API
|
371
350
|
test_files:
|
351
|
+
- spec/oid_mapper_spec.rb
|
372
352
|
- spec/asn1_spec.rb
|
373
353
|
- spec/cert_spec.rb
|
374
|
-
- spec/csr_spec.rb
|
375
|
-
- spec/engine_spec.rb
|
376
|
-
- spec/message_digest_spec.rb
|
377
|
-
- spec/ocsp_spec.rb
|
378
|
-
- spec/oid_mapper_spec.rb
|
379
354
|
- spec/private_key_spec.rb
|
355
|
+
- spec/ocsp_spec.rb
|
356
|
+
- spec/validity_spec.rb
|
357
|
+
- spec/subject_spec.rb
|
380
358
|
- spec/r509_spec.rb
|
359
|
+
- spec/engine_spec.rb
|
360
|
+
- spec/csr_spec.rb
|
361
|
+
- spec/message_digest_spec.rb
|
381
362
|
- spec/spki_spec.rb
|
382
|
-
- spec/subject_spec.rb
|
383
|
-
- spec/validity_spec.rb
|
checksums.yaml.gz.sig
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
���EwX�Y�����թ"�}R'֔W2`���:ՙnL5�CW���ڼB����N�q+�y.wYFR!&C�*=}=uY�[�':�e����c��Z�K`�T'W��F�y��F%�^KUZ��+�+�&��ؙ�����贳�P��UN8+I8��n�Ctp�'9ۨ(���Z��P�8/`���2���{H���n �D��YO�
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
Binary file
|