Browse Source

Generate crypto material for tests

new-scoring
aeris 2 years ago
parent
commit
9abcc3365a

+ 5
- 1
Makefile View File

@@ -44,6 +44,7 @@ build/$(OPENSSL_NAME).tar.gz: | build/
44 44
 $(OPENSSL_DIR)/: build/$(OPENSSL_NAME).tar.gz build/chacha-poly.patch
45 45
 	tar -C build -xf build/$(OPENSSL_NAME).tar.gz
46 46
 	patch -d $(OPENSSL_DIR) -p1 < build/chacha-poly.patch
47
+	patch -d $(OPENSSL_DIR) -p1 < disable_digest_check.path
47 48
 
48 49
 $(OPENSSL_DIR)/Makefile: | $(OPENSSL_DIR)/
49 50
 	#cd $(OPENSSL_DIR) && ./Configure enable-ssl2 enable-ssl3 enable-weak-ssl-ciphers enable-zlib enable-rc5 enable-rc2 enable-gost enable-md2 enable-mdc2 enable-shared linux-x86_64
@@ -91,10 +92,13 @@ $(RUBY_OPENSSL_EXT_DIR)/Makefile: libs | $(RUBY_DIR)/
91 92
 	patch -d $(RUBY_DIR)/ -p1 < multiple_certs.patch
92 93
 	cd $(RUBY_OPENSSL_EXT_DIR) && ruby extconf.rb
93 94
 
94
-$(RUBY_OPENSSL_EXT_DIR)/openssl.so: $(LIBS) #$(RUBY_OPENSSL_EXT_DIR)/Makefile
95
+$(RUBY_OPENSSL_EXT_DIR)/openssl.so: $(LIBS) $(RUBY_OPENSSL_EXT_DIR)/Makefile
95 96
 	top_srcdir=../.. $(MAKE) -C $(RUBY_OPENSSL_EXT_DIR)
96 97
 
97 98
 lib/openssl.so: $(RUBY_OPENSSL_EXT_DIR)/openssl.so
98 99
 	cp $< $@
99 100
 
100 101
 ext: lib/openssl.so
102
+
103
+test-material:
104
+	bin/generate-test-material.rb

+ 144
- 0
bin/generate-test-material.rb View File

@@ -0,0 +1,144 @@
1
+#!/usr/bin/env ruby
2
+$:.unshift File.expand_path File.join File.dirname(__FILE__), '../lib'
3
+require 'rubygems'
4
+require 'bundler/setup'
5
+require 'openssl'
6
+require 'socket'
7
+require 'cryptcheck'
8
+
9
+LOG       = ::CryptCheck::Logger
10
+LOG.level = ENV['LOG'] || :info
11
+
12
+OpenSSL::PKey::EC.send :alias_method, :private?, :private_key?
13
+
14
+CA_KEY_USAGE            = %w(keyCertSign cRLSign)
15
+CA_EXTENDED_KEY_USAGE   = []
16
+CA_NETSCAPE_CERT_TYPE = %w(sslCA)
17
+RSA_KEY_USAGE           = %w(digitalSignature)
18
+ECDSA_KEY_USAGE         = %w(digitalSignature)
19
+CERT_EXTENDED_KEY_USAGE = %w(serverAuth)
20
+CERT_NETSCAPE_CERT_TYPE = %w(server)
21
+
22
+
23
+def certificate(key, subject, san: %w(DNS:localhost),
24
+				from: Time.utc(2000, 1, 1), to: Time.utc(2001, 1, 1),
25
+				issuer: nil, ca: false,
26
+				key_usage: ECDSA_KEY_USAGE, extended_key_usage: CERT_EXTENDED_KEY_USAGE,
27
+				netscape_cert_type: CERT_NETSCAPE_CERT_TYPE,
28
+				hash: OpenSSL::Digest::SHA512, extensions: [])
29
+	cert            = OpenSSL::X509::Certificate.new
30
+	cert.version    = 3
31
+	cert.serial     = rand 2**63 .. 2**64
32
+	cert.not_before = from if from
33
+	cert.not_after  = to if to
34
+
35
+	cert.public_key = case key
36
+						  when OpenSSL::PKey::EC
37
+							  curve             = key.group.curve_name
38
+							  public            = OpenSSL::PKey::EC.new curve
39
+							  public.public_key = key.public_key
40
+							  public
41
+						  else
42
+							  key.public_key
43
+					  end
44
+
45
+	name         = OpenSSL::X509::Name.parse subject
46
+	cert.subject = name
47
+
48
+	issuer       = { cert: cert, key: key } unless issuer
49
+	cert.issuer  = issuer[:cert].subject
50
+
51
+	extension_factory                     = OpenSSL::X509::ExtensionFactory.new nil, cert
52
+	extension_factory.subject_certificate = cert
53
+	extension_factory.issuer_certificate  = issuer[:cert]
54
+
55
+	cert.add_extension extension_factory.create_extension 'basicConstraints', "CA:#{ca.to_s.upcase}", true
56
+	cert.add_extension extension_factory.create_extension 'keyUsage', key_usage.uniq.join(','), true unless key_usage.empty?
57
+	cert.add_extension extension_factory.create_extension 'extendedKeyUsage', extended_key_usage.uniq.join(','), true unless extended_key_usage.empty?
58
+	cert.add_extension extension_factory.create_extension 'nsCertType', netscape_cert_type.uniq.join(',') unless netscape_cert_type.empty?
59
+	cert.add_extension extension_factory.create_extension 'subjectKeyIdentifier', 'hash'
60
+	cert.add_extension extension_factory.create_extension 'authorityKeyIdentifier', 'keyid:always'
61
+	cert.add_extension extension_factory.create_extension 'subjectAltName', san.uniq.join(',') unless san.empty?
62
+
63
+	extensions.each { |e| cert.add_extension e }
64
+
65
+	cert.sign issuer[:key], hash.new
66
+
67
+	cert
68
+end
69
+
70
+def generate_dh(size)
71
+	filename = "spec/resources/dh-#{size}.pem"
72
+	return if File.exist? filename
73
+	LOG.info "Generate dh-#{size}"
74
+	File.write filename, OpenSSL::PKey::DH.new(size).to_pem
75
+end
76
+
77
+def generate_material(name, key, cert)
78
+	key_file = "spec/resources/#{name}.pem"
79
+	key      = if File.exists?(key_file)
80
+				   OpenSSL::PKey.read File.read key_file
81
+			   else
82
+				   LOG.info "Generate #{name} key"
83
+				   key = key.call
84
+				   File.write key_file, key.to_pem
85
+				   key
86
+			   end
87
+
88
+	cert_file = "spec/resources/#{name}.crt"
89
+	cert      = if File.exist?(cert_file)
90
+					OpenSSL::X509::Certificate.new File.read cert_file
91
+				else
92
+					LOG.info "Generate #{name} cert"
93
+					cert = cert.call key
94
+					File.write cert_file, cert.to_pem
95
+					cert
96
+				end
97
+
98
+	[key, cert]
99
+end
100
+
101
+ca_key, ca_cert = generate_material 'ca',
102
+									-> () { OpenSSL::PKey::EC.new('secp384r1').generate_key },
103
+									-> (k) { certificate k, '/CN=ca', ca: true, key_usage: CA_KEY_USAGE, extended_key_usage: CA_EXTENDED_KEY_USAGE, netscape_cert_type: CA_NETSCAPE_CERT_TYPE }
104
+
105
+intermediate_key, intermediate_cert = generate_material 'intermediate',
106
+														-> () { OpenSSL::PKey::EC.new('secp384r1').generate_key },
107
+														-> (key) { certificate key, '/CN=intermediate', ca: true, issuer: { cert: ca_cert, key: ca_key }, key_usage: CA_KEY_USAGE, extended_key_usage: CA_EXTENDED_KEY_USAGE, netscape_cert_type: CA_NETSCAPE_CERT_TYPE }
108
+issuer                              = { cert: intermediate_cert, key: intermediate_key }
109
+
110
+[512, 768, 1024, 2048, 3072, 4096].each do |s|
111
+	generate_material "rsa-#{s}",
112
+					  -> () { OpenSSL::PKey::RSA.new s },
113
+					  -> (key) { certificate key, "/CN=rsa-#{s}", issuer: issuer, key_usage: RSA_KEY_USAGE }
114
+	generate_dh s
115
+end
116
+
117
+CryptCheck::Tls::Curve.each do |c|
118
+	c = c.name
119
+	generate_material "ecdsa-#{c}",
120
+					  -> () { OpenSSL::PKey::EC.new(c).generate_key },
121
+					  -> (key) { certificate key, "/CN=ecdsa-#{c}", issuer: issuer }
122
+end
123
+
124
+generate_material 'self-signed',
125
+				  -> { OpenSSL::PKey::EC.new('prime256v1').generate_key },
126
+				  -> (key) { certificate key, '/CN=self-signed', ca: true,
127
+										 key_usage:                  CA_KEY_USAGE+ECDSA_KEY_USAGE,
128
+										 extended_key_usage:         CA_EXTENDED_KEY_USAGE + CERT_EXTENDED_KEY_USAGE,
129
+										 netscape_cert_type: CA_NETSCAPE_CERT_TYPE + CERT_NETSCAPE_CERT_TYPE }
130
+
131
+# Require patched OpenSSL to be able to issue MD5 certificates
132
+generate_material 'md5',
133
+				  -> { OpenSSL::PKey::EC.new('prime256v1').generate_key },
134
+				  -> (key) { certificate key, '/CN=md5', issuer: issuer, hash: OpenSSL::Digest::MD5 }
135
+
136
+# Require patched OpenSSL to be able to issue SHA1 certificates
137
+generate_material 'sha1',
138
+				  -> { OpenSSL::PKey::EC.new('prime256v1').generate_key },
139
+				  -> (key) { certificate key, '/CN=sha1', issuer: issuer, hash: OpenSSL::Digest::SHA1 }
140
+
141
+must_staple = OpenSSL::X509::Extension.new '1.3.6.1.5.5.7.1.24', '0', true
142
+generate_material 'must-staple',
143
+				  -> () { OpenSSL::PKey::EC.new('prime256v1').generate_key },
144
+				  -> (key) { certificate key, '/CN=must-staple', issuer: issuer, extensions: [must_staple] }

+ 76
- 0
disable_digest_check.path View File

@@ -0,0 +1,76 @@
1
+diff --git a/crypto/dsa/dsa_pmeth.c b/crypto/dsa/dsa_pmeth.c
2
+index 42b8bb0..baaa76f 100644
3
+--- a/crypto/dsa/dsa_pmeth.c
4
++++ b/crypto/dsa/dsa_pmeth.c
5
+@@ -174,26 +174,26 @@ static int pkey_dsa_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
6
+         return 1;
7
+ 
8
+     case EVP_PKEY_CTRL_DSA_PARAMGEN_MD:
9
+-        if (EVP_MD_type((const EVP_MD *)p2) != NID_sha1 &&
10
+-            EVP_MD_type((const EVP_MD *)p2) != NID_sha224 &&
11
+-            EVP_MD_type((const EVP_MD *)p2) != NID_sha256) {
12
+-            DSAerr(DSA_F_PKEY_DSA_CTRL, DSA_R_INVALID_DIGEST_TYPE);
13
+-            return 0;
14
+-        }
15
++        // if (EVP_MD_type((const EVP_MD *)p2) != NID_sha1 &&
16
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_sha224 &&
17
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_sha256) {
18
++        //     DSAerr(DSA_F_PKEY_DSA_CTRL, DSA_R_INVALID_DIGEST_TYPE);
19
++        //     return 0;
20
++        // }
21
+         dctx->md = p2;
22
+         return 1;
23
+ 
24
+     case EVP_PKEY_CTRL_MD:
25
+-        if (EVP_MD_type((const EVP_MD *)p2) != NID_sha1 &&
26
+-            EVP_MD_type((const EVP_MD *)p2) != NID_dsa &&
27
+-            EVP_MD_type((const EVP_MD *)p2) != NID_dsaWithSHA &&
28
+-            EVP_MD_type((const EVP_MD *)p2) != NID_sha224 &&
29
+-            EVP_MD_type((const EVP_MD *)p2) != NID_sha256 &&
30
+-            EVP_MD_type((const EVP_MD *)p2) != NID_sha384 &&
31
+-            EVP_MD_type((const EVP_MD *)p2) != NID_sha512) {
32
+-            DSAerr(DSA_F_PKEY_DSA_CTRL, DSA_R_INVALID_DIGEST_TYPE);
33
+-            return 0;
34
+-        }
35
++        // if (EVP_MD_type((const EVP_MD *)p2) != NID_sha1 &&
36
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_dsa &&
37
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_dsaWithSHA &&
38
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_sha224 &&
39
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_sha256 &&
40
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_sha384 &&
41
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_sha512) {
42
++        //     DSAerr(DSA_F_PKEY_DSA_CTRL, DSA_R_INVALID_DIGEST_TYPE);
43
++        //     return 0;
44
++        // }
45
+         dctx->md = p2;
46
+         return 1;
47
+ 
48
+diff --git a/crypto/ec/ec_pmeth.c b/crypto/ec/ec_pmeth.c
49
+index b767490..70eea17 100644
50
+--- a/crypto/ec/ec_pmeth.c
51
++++ b/crypto/ec/ec_pmeth.c
52
+@@ -379,15 +379,15 @@ static int pkey_ec_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
53
+         return dctx->kdf_ukmlen;
54
+ 
55
+     case EVP_PKEY_CTRL_MD:
56
+-        if (EVP_MD_type((const EVP_MD *)p2) != NID_sha1 &&
57
+-            EVP_MD_type((const EVP_MD *)p2) != NID_ecdsa_with_SHA1 &&
58
+-            EVP_MD_type((const EVP_MD *)p2) != NID_sha224 &&
59
+-            EVP_MD_type((const EVP_MD *)p2) != NID_sha256 &&
60
+-            EVP_MD_type((const EVP_MD *)p2) != NID_sha384 &&
61
+-            EVP_MD_type((const EVP_MD *)p2) != NID_sha512) {
62
+-            ECerr(EC_F_PKEY_EC_CTRL, EC_R_INVALID_DIGEST_TYPE);
63
+-            return 0;
64
+-        }
65
++        // if (EVP_MD_type((const EVP_MD *)p2) != NID_sha1 &&
66
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_ecdsa_with_SHA1 &&
67
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_sha224 &&
68
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_sha256 &&
69
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_sha384 &&
70
++        //     EVP_MD_type((const EVP_MD *)p2) != NID_sha512) {
71
++        //     ECerr(EC_F_PKEY_EC_CTRL, EC_R_INVALID_DIGEST_TYPE);
72
++        //     return 0;
73
++        // }
74
+         dctx->md = p2;
75
+         return 1;
76
+ 

+ 10
- 11
spec/resources/ca.crt View File

@@ -1,13 +1,12 @@
1 1
 -----BEGIN CERTIFICATE-----
2
-MIIB7zCCAXWgAwIBAgIJAKFu2k3vOIffMAoGCCqGSM49BAMEMBIxEDAOBgNVBAMM
3
-B3Rlc3QtY2EwHhcNMTcwMTIyMTg1NTUxWhcNMTgwMTIyMTg1NTUxWjASMRAwDgYD
4
-VQQDDAd0ZXN0LWNhMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEhVE2pSx4GG922yqA
5
-z0W0usG8dFdY4qtTD5mwwBzRhu9NegzQmaE5oHNzQrQE8v0/ShrSHNdID6Phty9K
6
-lPYoenUmpH0sdJDqQ5cVUDkmw0+f+XpROtCiBcN8kTmiVXQ5o4GWMIGTMA8GA1Ud
7
-EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgL0MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
8
-BgEFBQcDAjAdBgNVHQ4EFgQU2saIfk29nr+adaNemnS2AaNjXJEwHwYDVR0jBBgw
9
-FoAU2saIfk29nr+adaNemnS2AaNjXJEwFAYDVR0RBA0wC4IJbG9jYWxob3N0MAoG
10
-CCqGSM49BAMEA2gAMGUCMQCzxeexb5HauoM8OQPBK7MWxzganLfVoi1GCsbvjUQy
11
-AB8AAVijIPwT/MGcigge4z8CMFimJXl934AtL8iM+Jd9ykvNXXxzSn9YRm9aLD3K
12
-w6vam+k+gA4sdijDbRC/Tc/3NQ==
2
+MIIBwzCCAUqgAwIBAwIJAKlvU4MMj9FAMAoGCCqGSM49BAMEMA0xCzAJBgNVBAMM
3
+AmNhMB4XDTAwMDEwMTAwMDAwMFoXDTAxMDEwMTAwMDAwMFowDTELMAkGA1UEAwwC
4
+Y2EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASeQcdqy/n+tsyX4MIFD2kA/6T/IMOV
5
+tuJIHFUdWa6hOvozb0O18EXP7ZKxIn5WzOOsLMZRk/hxPTmrKxDL9taeZUHw+UGT
6
+KIU8ECJ2WtIvMsySPZGPM50Y9MA3Plizby2jdjB0MA8GA1UdEwEB/wQFMAMBAf8w
7
+DgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwICBDAdBgNVHQ4EFgQURRb1
8
+3Y5HR1QFOXMFZykLelX/p1AwHwYDVR0jBBgwFoAURRb13Y5HR1QFOXMFZykLelX/
9
+p1AwCgYIKoZIzj0EAwQDZwAwZAIwJ7SSvTdCuvmX2WUjNboVgELYt//kLc1vYED5
10
+R9U2z+9b4ZixtnA5y+o+uUzDI/4kAjAUpyGlrM8ts/NNSdCe8f12llg7VUPgFZ7g
11
+aasnq3YijB+lawuzV3sVVzWp+VDdHcw=
13 12
 -----END CERTIFICATE-----

+ 0
- 13
spec/resources/custom.crt View File

@@ -1,13 +0,0 @@
1
------BEGIN CERTIFICATE-----
2
-MIIB6jCCAXCgAwIBAgIJAKyx4KGEOyVdMAoGCCqGSM49BAMEMBwxGjAYBgNVBAMM
3
-EXRlc3QtaW50ZXJtZWRpYXRlMB4XDTE3MDEyMjE4NTU1MVoXDTE4MDEyMjE4NTU1
4
-MVowFDESMBAGA1UEAwwJdGVzdC1sZWFmMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE
5
-kZFi7jp4Z+3m1lR/aIHuNalLQtjaCErIgrWhFL7oUjzWMN1dR3nAmmosKlCSRc7A
6
-Xazs+CC0QB1LgsZCFFPhPqUd5456iwCHaSVQ3maESrZtzJo78v/fE9HRuuh5fFiL
7
-o4GFMIGCMAsGA1UdDwQEAwIE8DAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH
8
-AwIwHQYDVR0OBBYEFB54cEd+wLKHpMKYkYCxmSgWERrQMB8GA1UdIwQYMBaAFMgN
9
-6Mqlnk3ZRmp4RrAXXKeC3yVHMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDAKBggqhkjO
10
-PQQDBANoADBlAjEAwbhbwXjekyl3esK9ywh+jKCVhf7BzaF4H7LAxUE1PmXTORrZ
11
-tqz2MXK3/zYfe1bXAjAuan+xZ4d5zCgBvnFO2/LMEX07SFQJT3l1hKAZjpbdNm/K
12
-MY23IR6iLWkPlG1u+Wo=
13
------END CERTIFICATE-----

+ 12
- 0
spec/resources/ecdsa-brainpoolP256r1.crt View File

@@ -0,0 +1,12 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIBzDCCAVKgAwIBAwIJAPr1Hn25EiltMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHFxLQty
5
+7xhy4VNRwiEDQKZsW7LJtCLyTjdRWhouxNloIYipXMlS37km9UEdrsd42FDFDfTt
6
+KG6uCEVEGZzBoCWjgYwwgYkwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4Aw
7
+FgYDVR0lAQH/BAwwCgYIKwYBBQUHAwEwEQYJYIZIAYb4QgEBBAQDAgZAMB0GA1Ud
8
+DgQWBBR83waQCLiJ+QFYrLsXxHS2CYzYODAfBgNVHSMEGDAWgBQAeFKgmR+RS4S6
9
+aGaGjlA/5PWD+zAKBggqhkjOPQQDBANoADBlAjBmqsTwClBDF483fguALG+50Fn3
10
+ftYiZf8lPnj32A0H9ZqZTjQ2Gz5gAjSfp8Pw5gQCMQCUrJEWHPAScQn9Yjv1uYvZ
11
+pchlKHlqijnVVjYKQale+Xp5wwwZ08iXyvv/Z7cPUXM=
12
+-----END CERTIFICATE-----

+ 13
- 0
spec/resources/ecdsa-brainpoolP384r1.crt View File

@@ -0,0 +1,13 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIB7DCCAXKgAwIBAwIJALTXGe8d5mhaMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIiO142r
5
+cv9Tz6PTp/Jhr3ohNMkZ5TjA+nsOyRbFLBxs+MguJthE/QtrwgyRDHtvEl2oJpGU
6
+ExAtgnCi1q3GcjLrcbT8Zho5u5PLjqr9KdyWh7ouwufm4mAkkcRSOwexGaOBjDCB
7
+iTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAWBgNVHSUBAf8EDDAKBggr
8
+BgEFBQcDATARBglghkgBhvhCAQEEBAMCBkAwHQYDVR0OBBYEFP31WrC65Yw3JWl5
9
+k4z+1MPji2HOMB8GA1UdIwQYMBaAFAB4UqCZH5FLhLpoZoaOUD/k9YP7MAoGCCqG
10
+SM49BAMEA2gAMGUCMQDpPfanlncn4nDqMB0d4mq3NLpE8aMP+9ugAzKomfyK0TkB
11
+w5X54IdJ0gXci9MdJLoCMCacRwcRNQKmk843/aQbLQla+g+pr0Hhs13iHtulFG1M
12
++m0NNmS5fhNFFXWzq6nq4Q==
13
+-----END CERTIFICATE-----

+ 14
- 0
spec/resources/ecdsa-brainpoolP512r1.crt View File

@@ -0,0 +1,14 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIICDTCCAZSgAwIBAwIJAKHV+4wDmpfrMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAETU4L
5
+RaMd+CLdfZABdjY3Wk3VcvkO135O9rKoCsFvzW3tCNPTLy6TJ6yg8/S7QKbzfrHn
6
+pMWz6kpzvofAQdoM8WyBzjkwXciqLBfN6unTT25IQ4l6splIwrhAIkGToJaCLJ86
7
+YK80gWTWSvO6swR126rNwrZmnifqjIYFWf/8xM6jgYwwgYkwDAYDVR0TAQH/BAIw
8
+ADAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwEwEQYJYIZI
9
+AYb4QgEBBAQDAgZAMB0GA1UdDgQWBBQYhVlcLpuKWQ345i5CnTlEUkyxajAfBgNV
10
+HSMEGDAWgBQAeFKgmR+RS4S6aGaGjlA/5PWD+zAKBggqhkjOPQQDBANnADBkAjB5
11
+Zq9An3M1jOLoQWgJ7IlLDodV30rSA/gceVgQTCJf3RqvJM8HBTdR3uuSRNu7Hx4C
12
+MF9VI9fbjV+NZMmIIMrvhnJNKXUigRhoLf/ndp9CGewoH3u0EDgJl9Tp6LYKUD0d
13
+TQ==
14
+-----END CERTIFICATE-----

+ 12
- 0
spec/resources/ecdsa-prime192v1.crt View File

@@ -0,0 +1,12 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIBvDCCAUGgAwIBAwIJAJM3S+91lkEaMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMEkwEwYHKoZIzj0CAQYIKoZIzj0DAQEDMgAEh5mjpf7u
5
+mEKpZ3WifMfHaVYLgI8n1OweEzlBFq6Gaa0QSvXjg4yWUTQXjN41Oifro4GMMIGJ
6
+MAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMBYGA1UdJQEB/wQMMAoGCCsG
7
+AQUFBwMBMBEGCWCGSAGG+EIBAQQEAwIGQDAdBgNVHQ4EFgQUpjXAQYVTSb9/xILg
8
+vIv45Iqc8i4wHwYDVR0jBBgwFoAUAHhSoJkfkUuEumhmho5QP+T1g/swCgYIKoZI
9
+zj0EAwQDaQAwZgIxAIwa5GSlj2256H9kpDm+sHs67EUxt1qBVxEvl7oKEz84z7YX
10
+bzEOH+we/5yabN7XXQIxAOtPQAOt1c/oPFbvucY4YcyTGudbkd415PSbnY8r0GnF
11
+zzJLr8jwEpZhqDqYo2qASg==
12
+-----END CERTIFICATE-----

+ 12
- 0
spec/resources/ecdsa-prime256v1.crt View File

@@ -0,0 +1,12 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIByzCCAVGgAwIBAwIJAMeS8IDc/lmbMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEz/BWOEKE
5
+xDBUxv4k9QEWUtFgAVxMPVz9tDwY3JXgiK4E7hlWJwzeH4kTQ7vDzwCKNOwO+y6Y
6
+8KKPYuUeT7UlKKOBjDCBiTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAW
7
+BgNVHSUBAf8EDDAKBggrBgEFBQcDATARBglghkgBhvhCAQEEBAMCBkAwHQYDVR0O
8
+BBYEFGeM4UHnDNjeBalqpCPL8NqBK2pMMB8GA1UdIwQYMBaAFAB4UqCZH5FLhLpo
9
+ZoaOUD/k9YP7MAoGCCqGSM49BAMEA2gAMGUCMFXt4/1sekantuaN3W3jcSn/bngN
10
+zGfT3MWpfFJ/8qK7VWY6bwQ4EoXw7QkIt0dTqgIxAILGucxtGr6A/CxYCooB8jPH
11
+Z87CYJy9bFjfAbv2ApcqvFycs92yME6AebsKKrVgpg==
12
+-----END CERTIFICATE-----

+ 12
- 0
spec/resources/ecdsa-secp256k1.crt View File

@@ -0,0 +1,12 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIByDCCAU6gAwIBAwIJANprzzZg6AHxMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEJmjt/BjILXkJ
5
+l+CMx9/87cRSUl1vnuN5Dd+em4ArBqDgyGZ9X9lao/Z7T+F4gIjfzzhglKVpnT/W
6
+wJ47hppl5qOBjDCBiTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAWBgNV
7
+HSUBAf8EDDAKBggrBgEFBQcDATARBglghkgBhvhCAQEEBAMCBkAwHQYDVR0OBBYE
8
+FPeZAAyGbmiTZQgscj0iBquxgZWFMB8GA1UdIwQYMBaAFAB4UqCZH5FLhLpoZoaO
9
+UD/k9YP7MAoGCCqGSM49BAMEA2gAMGUCMBsY93/5lijFLI20Mktd7RIZBsJUjjLl
10
+2N2+bd+NDAF7VmS5PJmmpefF0YZgukkXZgIxAP4eyjI763RCYpAUVuTMlBrEI/Je
11
+jCD2UjcKphq3k5Z06Sk1Ia8ZCS7ffsrGDGekgw==
12
+-----END CERTIFICATE-----

+ 13
- 0
spec/resources/ecdsa-secp384r1.crt View File

@@ -0,0 +1,13 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIB6TCCAW6gAwIBAwIJAP7v5hy58sn+MAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3qt0llDfBV2H
5
+z9aq6keDMZFpFDGVtc27VaveVGkAE8LkcSh2OxnFFA/PeJQIRdi5AYX1lms4Abfa
6
+FWpchvHj8kazY7u29AX6KHPHRiQn9xXmkxuE2LP3uIbncGXM1z90o4GMMIGJMAwG
7
+A1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMBYGA1UdJQEB/wQMMAoGCCsGAQUF
8
+BwMBMBEGCWCGSAGG+EIBAQQEAwIGQDAdBgNVHQ4EFgQUE2LMlSwxKfiuh483u0H5
9
+G+xT7BMwHwYDVR0jBBgwFoAUAHhSoJkfkUuEumhmho5QP+T1g/swCgYIKoZIzj0E
10
+AwQDaQAwZgIxAIkh6xE41g15p5E/lpSUWDhofFVRsxaIX+Uk9v8+0NZRFTSAQ6mI
11
+aQbQqd4za7MiPQIxANGjaL2H//Gm1WvqZ2Ej66ZmYh+bdV5MK3DdgLbMX67UrdJq
12
+rDtcfdXyHfhxneNJNQ==
13
+-----END CERTIFICATE-----

+ 14
- 0
spec/resources/ecdsa-secp521r1.crt View File

@@ -0,0 +1,14 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIICDzCCAZSgAwIBAwIJAJKnWaLDsHmbMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAXpCE3Hta
5
+PqnG21p5aKXM/iRAsqL80WQ8vU3yjs3Vo7JY9gmeK9cG3bEBh5ZkeTI6RM2KOU/d
6
+ZaI85CgXBP3ITSYBYdF0Yvt4IQadWYcEAJh4OWV5YYB7GezpKBYa+7b41XTah4WX
7
+NAKzlsGnBD2/Ia1inNbmqt+vBiwY+zPzq7OlGRKjgYwwgYkwDAYDVR0TAQH/BAIw
8
+ADAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwEwEQYJYIZI
9
+AYb4QgEBBAQDAgZAMB0GA1UdDgQWBBTOnqsJXwUmyKTluwMDC421HLZQOjAfBgNV
10
+HSMEGDAWgBQAeFKgmR+RS4S6aGaGjlA/5PWD+zAKBggqhkjOPQQDBANpADBmAjEA
11
+pjb+OcGjt/XWPgF/o4eYXadjaRWEnK05YRlqoCz9GO70OeYGDZRTM/A6CfcNY70l
12
+AjEA8/zaj035DO9L8kUW5EGTCEdXafOsdWHVPcLmDvShRcG04iDYn8ImaLXp/v9q
13
+NBg5
14
+-----END CERTIFICATE-----

+ 12
- 0
spec/resources/ecdsa-sect283k1.crt View File

@@ -0,0 +1,12 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIBzzCCAVagAwIBAwIJAN+djpDGt4laMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMF4wEAYHKoZIzj0CAQYFK4EEABADSgAEBsLWcHZaX2za
5
+WzgKQcnN2jlAMM4kiY+SShj9a6jorRPAtRqjAYuLRWUajcd0qWr8IoRwqiag32Ur
6
+cPzF0qQkTh0+XrLIGRMWo4GMMIGJMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQD
7
+AgeAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMBMBEGCWCGSAGG+EIBAQQEAwIGQDAd
8
+BgNVHQ4EFgQU6LaUN9GzOtUtE8BHaUJ65Dax1eQwHwYDVR0jBBgwFoAUAHhSoJkf
9
+kUuEumhmho5QP+T1g/swCgYIKoZIzj0EAwQDZwAwZAIwWk7yzMu4wdzge81r+/rR
10
+uf7riBOZem/d+bCkdeD9RmvKS6ZOLBMmc1afKz+l9kmmAjAIkfNaBGQJq9rH0W/7
11
+5ZNb9GCMU9OTH3I0xvR4oMzKWAppxSyd7eeEpkyrj2bvSoc=
12
+-----END CERTIFICATE-----

+ 12
- 0
spec/resources/ecdsa-sect283r1.crt View File

@@ -0,0 +1,12 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIB0DCCAVagAwIBAwIJAN/6y0kK9I+mMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMF4wEAYHKoZIzj0CAQYFK4EEABEDSgAEBp5QVA6vH3LX
5
+996ssT9bep3FQ0AbIoJoeX/U/FGtW63ivgK5A7cQJ+/O+QFD9uSSZZvvK2oKnUvI
6
+C/8I5DhEXilWQafSu6jko4GMMIGJMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQD
7
+AgeAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMBMBEGCWCGSAGG+EIBAQQEAwIGQDAd
8
+BgNVHQ4EFgQUQYK9NgeJBZ7DnLvETOYZo3tzTwowHwYDVR0jBBgwFoAUAHhSoJkf
9
+kUuEumhmho5QP+T1g/swCgYIKoZIzj0EAwQDaAAwZQIwf8GaosiWKKTbXr3BrNW2
10
+EyM/R0OCIXf+wFXUusL22uYQFB2fMmZX0TP+TUYFhDQKAjEAlSnlGtHrl5HhJcYm
11
+jhzdbJOlobI9htHvHLYaMMucwfPoPY06uFCfpYc9O7uLsCEs
12
+-----END CERTIFICATE-----

+ 13
- 0
spec/resources/ecdsa-sect409k1.crt View File

@@ -0,0 +1,13 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIB7zCCAXagAwIBAwIJAPEERwFmhX16MAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMH4wEAYHKoZIzj0CAQYFK4EEACQDagAEAJVMaHl6+yvp
5
+1wPQp+vwxPlwuS7YWZ1M0lE5OofWyQbIUA13amAvEHoozJ/ZrMMPEE4XhAGvyuiV
6
+HRK5B7gsJY/i5tLcNgvxPcbRj9/S3Xs72emMAgVc8cRyRgc8rdfdFkUpCtiQJZij
7
+gYwwgYkwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAww
8
+CgYIKwYBBQUHAwEwEQYJYIZIAYb4QgEBBAQDAgZAMB0GA1UdDgQWBBQ14wJcU+Lb
9
+H5cng3keFD0meW+QjjAfBgNVHSMEGDAWgBQAeFKgmR+RS4S6aGaGjlA/5PWD+zAK
10
+BggqhkjOPQQDBANnADBkAjAf2UY0KheiI0v6a4OdwfS9a0fHycnk2+MkLDwLt+WY
11
+8dz6WKM/Lz5rm4pL9JofJO0CMHQ2PmAbCLZW4MYJAlj7eTjZi/gtLUipHpEW6CYh
12
+mu3xdBSqq+3j67HR3H/C6GzK1A==
13
+-----END CERTIFICATE-----

+ 13
- 0
spec/resources/ecdsa-sect409r1.crt View File

@@ -0,0 +1,13 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIB8DCCAXagAwIBAwIJAJ38kUuZF8j2MAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMH4wEAYHKoZIzj0CAQYFK4EEACUDagAEAYy6o9uvpmAL
5
+hK2BTEwFprF9F8CYiPDP8XIw4LofUylpQ/UC2Y1Z9CU3/OI7P8F4JTNesQAiCZg/
6
+YX1We4S5oUQeo2VaQpVXMaHjF6gAOCq/5dwKRIVVkF3egeADZnGuaQALRWektymj
7
+gYwwgYkwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAww
8
+CgYIKwYBBQUHAwEwEQYJYIZIAYb4QgEBBAQDAgZAMB0GA1UdDgQWBBRncOAhq+yH
9
+7Hn4FDP50cd+UdSAEjAfBgNVHSMEGDAWgBQAeFKgmR+RS4S6aGaGjlA/5PWD+zAK
10
+BggqhkjOPQQDBANoADBlAjEAonxF9gvSeYxNxwBQmc+tf1T1kQUJGX27dak0gfu7
11
+5jWip9aG6h4++M48zpGH83HmAjBVp2Ya2yIHIBrBrdkmhQReePzgb4rDnhCQMgyC
12
+NDxUr8/g8zWOxE9ZurAcXC4eE/4=
13
+-----END CERTIFICATE-----

+ 14
- 0
spec/resources/ecdsa-sect571k1.crt View File

@@ -0,0 +1,14 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIICGjCCAaCgAwIBAwIJAKDFLBGhFzlYMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMIGnMBAGByqGSM49AgEGBSuBBAAmA4GSAAQH2rvw88SM
5
++Oeo2tr+X4BjAj9DBdY3xTLgPmhCXMpG3DBX89FCEmvRUsYvoiw0kmRttL/pFWdu
6
+tk7GGeBu+snP7fDYUHAtENYFNIFZNQ5O9EgkuxJGHTSbJeejiuEz/8BJc3FzFRD2
7
+CLElWnq2mnkA9nPuUpyC9PstpyxBXPDrWQf4bYVCDhOpnTCCrbJAXjOjgYwwgYkw
8
+DAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYB
9
+BQUHAwEwEQYJYIZIAYb4QgEBBAQDAgZAMB0GA1UdDgQWBBQDfzlcSMU42BChA1Z6
10
+TpfxK6Ib2jAfBgNVHSMEGDAWgBQAeFKgmR+RS4S6aGaGjlA/5PWD+zAKBggqhkjO
11
+PQQDBANoADBlAjEAqRBmSQ9w/c32497KO0y+xVhUP681fPvig3giNSQgkasjydJ6
12
+DBfa3VZBP1O4wRBvAjBQshUHnuLE181Nabheel0lohpq6Zw5zfoObWwO3fYlmwwL
13
+gTnXmFOx4YEhSdK947c=
14
+-----END CERTIFICATE-----

+ 14
- 0
spec/resources/ecdsa-sect571r1.crt View File

@@ -0,0 +1,14 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIICGTCCAaCgAwIBAwIJAPgcvMv7leMNMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMIGnMBAGByqGSM49AgEGBSuBBAAnA4GSAAQCWNStXkYH
5
+xj+zaW2pqqZ5s6tVxrZWerVeFtWpXMBmv8hsckdGahtvOko7C63YkbBXvNVsba8s
6
+mllWoYPt5kRs4SSYsdnQfHwGgG+rSZpwqb45m3gyJamU21XL6SQ35JZ4QPQLKPhW
7
+mep7qVJGNc0Nf9PFg92/JHnvGDNIrwSCACeoPJk6lQbhuVwSvaazpyujgYwwgYkw
8
+DAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYB
9
+BQUHAwEwEQYJYIZIAYb4QgEBBAQDAgZAMB0GA1UdDgQWBBS3R3xbg5V1fc0H+xHz
10
+SyGjp2oowjAfBgNVHSMEGDAWgBQAeFKgmR+RS4S6aGaGjlA/5PWD+zAKBggqhkjO
11
+PQQDBANnADBkAjAp5lY1izems7Ld+8U7CpoMAHxLT1MXUMo/YRTgpR9Mmmp4RKd8
12
++tnZvfMT/nZsIAwCMGrKVM8hCU8GWtuaYw0QNGjf34GvUmsqWogbvu9xukXCIG01
13
+hVPEsdUwABgIjNrSDA==
14
+-----END CERTIFICATE-----

+ 10
- 11
spec/resources/intermediate.crt View File

@@ -1,13 +1,12 @@
1 1
 -----BEGIN CERTIFICATE-----
2
-MIIB+TCCAX+gAwIBAgIJAOko1FM8hOfNMAoGCCqGSM49BAMEMBIxEDAOBgNVBAMM
3
-B3Rlc3QtY2EwHhcNMTcwMTIyMTg1NTUxWhcNMTgwMTIyMTg1NTUxWjAcMRowGAYD
4
-VQQDDBF0ZXN0LWludGVybWVkaWF0ZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABNjg
5
-qyABIHj96OvYN1YCe+z3mILDlm1qNXm1bpoMcx7AVANk+AFUjbK/mhSyx5ONbBw/
6
-4kMBNtVW7OpkiZwLr57SbqDv0n4ExirUvvBm7OcqqSY+73lXM/cezMTRA/3ZqqOB
7
-ljCBkzAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIC9DAdBgNVHSUEFjAUBggr
8
-BgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFMgN6Mqlnk3ZRmp4RrAXXKeC3yVH
9
-MB8GA1UdIwQYMBaAFNrGiH5NvZ6/mnWjXpp0tgGjY1yRMBQGA1UdEQQNMAuCCWxv
10
-Y2FsaG9zdDAKBggqhkjOPQQDBANoADBlAjAUAte4U3OtzmeQLA/Cq1JTtsrE7sy9
11
-kZzxGHxACZ53sTGA2c4K86lR2RGoXYvW62wCMQCNSLH+qukadu52ip7HTkihrtae
12
-hBVOBO+el6rCcby91xUuWU24AJy9Ce9TxcQC384=
2
+MIIBzTCCAVSgAwIBAwIJAJGZiLHRskwrMAoGCCqGSM49BAMEMA0xCzAJBgNVBAMM
3
+AmNhMB4XDTAwMDEwMTAwMDAwMFoXDTAxMDEwMTAwMDAwMFowFzEVMBMGA1UEAwwM
4
+aW50ZXJtZWRpYXRlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKN30P7XEaQ18+iRv
5
+d+P5gAdjZAX+NXPVTOAqBaPx9FnwIbd7LvAAbhhgvtPSNAHuipe7tSc9fPv6mGOn
6
+MkDxZ7eLpxoLEcOlbmhJFsIvV9VvesKwAuQrSHWliGPnpTvXo3YwdDAPBgNVHRMB
7
+Af8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjARBglghkgBhvhCAQEEBAMCAgQwHQYD
8
+VR0OBBYEFAB4UqCZH5FLhLpoZoaOUD/k9YP7MB8GA1UdIwQYMBaAFEUW9d2OR0dU
9
+BTlzBWcpC3pV/6dQMAoGCCqGSM49BAMEA2cAMGQCMCN4U7KIqh1F09gi0UTtNaEJ
10
+JMm/3VWU+Fe1cNtZniH0/emVZkUk3CgnkEqQAFtY6QIwL61nzp+fT4D8lHDisbbJ
11
+AoHL24XQ5jo2iKUq70DogO5A26uWWQh5/4bG+AEcW9sx
13 12
 -----END CERTIFICATE-----

+ 12
- 0
spec/resources/md5.crt View File

@@ -0,0 +1,12 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIByzCCAVCgAwIBAwIJAOg4GiMlL2qfMAsGCSqGSIb3DQEBBDAXMRUwEwYDVQQD
3
+DAxpbnRlcm1lZGlhdGUwHhcNMDAwMTAxMDAwMDAwWhcNMDEwMTAxMDAwMDAwWjAO
4
+MQwwCgYDVQQDDANtZDUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATx1C8bo5pA
5
+zE06gBiOXpOdOitxE5Cfi6MixQpxuJMOty7HiyzamzQ4Vr6F2eenCAChkLrkHUun
6
+jUUCrKfqgNfXo4GMMIGJMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMBYG
7
+A1UdJQEB/wQMMAoGCCsGAQUFBwMBMBEGCWCGSAGG+EIBAQQEAwIGQDAdBgNVHQ4E
8
+FgQUGqSSGG8wVN5TEcxdGxS77PdfBMkwHwYDVR0jBBgwFoAUAHhSoJkfkUuEumhm
9
+ho5QP+T1g/swCwYJKoZIhvcNAQEEA2gAMGUCMQDzEZ7wUy1SUcNGlIhl/cADzAmy
10
+s6A8SAYGioGiRRBIvONpY2Qj8x6GwrONYo7O0e0CMECcT7ztjyNgwZOJvF0nFlW/
11
+72ax0jHmDKDn06sIaNF5nkqLiHVBPbByQl8OLBBulw==
12
+-----END CERTIFICATE-----

+ 13
- 0
spec/resources/must-staple.crt View File

@@ -0,0 +1,13 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIB5DCCAWmgAwIBAwIJANbDvMZ8+NGNMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBYx
4
+FDASBgNVBAMMC211c3Qtc3RhcGxlMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
5
+vBVPSoUh7qsJcsfSjTISKh+4jaaHadnQpqEMW8iRScVAcz6xnFnz6iukLhJFYXd6
6
+du0lthPwV5uMrhSfu/6b1aOBnjCBmzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQE
7
+AwIHgDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDATARBglghkgBhvhCAQEEBAMCBkAw
8
+HQYDVR0OBBYEFFBrn72mWwzWPz1VE+KVZbvTMM4nMB8GA1UdIwQYMBaAFAB4UqCZ
9
+H5FLhLpoZoaOUD/k9YP7MBAGCCsGAQUFBwEYAQH/BAEwMAoGCCqGSM49BAMEA2kA
10
+MGYCMQDW0qQqcjmNrEvH8nmNwuPEHNOcbbhNXD/mGMaU7rnkdL8hZTvYInn8m00F
11
+qzUaw1gCMQDT2OmQef8B9Z3wRtZUUd8u4KA89rWRwbU0PQDHaMNMZEKzY8Zdp6Ho
12
+HYneKFKDSI4=
13
+-----END CERTIFICATE-----

+ 14
- 0
spec/resources/rsa-1024.crt View File

@@ -0,0 +1,14 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIICETCCAZigAwIBAwIJAKyF8+J/8aORMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+Wh9i
5
+6af92r6HdK8VVyxjIXLpkk9peQnF1HYeePiEe7L7EgRMAdtTGzSBpo9Wbs9YKESm
6
+wcwLn3i0meOl4s+0hOCPhNY7O4WGoozgeTNoicJ8Ln8KmhaOnkGNEgtThxOmpyih
7
+8+r9LwqSfVgR2nXL9eO1gPml15bupB9/PvWF/wIDAQABo4GMMIGJMAwGA1UdEwEB
8
+/wQCMAAwDgYDVR0PAQH/BAQDAgeAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMBMBEG
9
+CWCGSAGG+EIBAQQEAwIGQDAdBgNVHQ4EFgQU1OC0bMk6mKiQ03ToQKmnaW7wWcAw
10
+HwYDVR0jBBgwFoAUAHhSoJkfkUuEumhmho5QP+T1g/swCgYIKoZIzj0EAwQDZwAw
11
+ZAIwLBi8qdWOWkFfbW3Y4qrKo2XT4K2cvb6+71Dko4q7iWffzO2zKnSpFqn5enPQ
12
+u527AjAcp+IGbKPt1nj3MiJtq5Ww6yfg/MsR0hrXlYYjMV2CY6n8vXCOcsUp0ICr
13
+u+4Cetk=
14
+-----END CERTIFICATE-----

+ 13
- 13
spec/resources/rsa-1024.pem View File

@@ -1,15 +1,15 @@
1 1
 -----BEGIN RSA PRIVATE KEY-----
2
-MIICXQIBAAKBgQC0xBo+MgjnYqvszjUpslonvcQVI1TG7yxlGCWqpvN0a3zdgBpV
3
-lpXv7q/821jUtlLc2BhNohRXuoejc2oiG7IOv7Md204NnoTQbxLo6gehnMyo86il
4
-Q7KNAAW4tam79xNgOfdkkV0d80AfG148j+N6jDZCOoZ3dFwH4a6vcSWRgQIDAQAB
5
-AoGBAJ7j+MVOqbDpdIG0R9qc4M4p6Z9C7RPny7gY35L/KOPeT2VLYtp0gNrjjWHP
6
-VGe002U3tTUYEJWEahFsM5BDk+ASqyzesPD5lWzi6QSO3cIkvNSYLdBezNprcPk4
7
-PEy1pX+IXrRFeDXE/wncovuYP2STF18SSP7YgCMBAAwgeZAhAkEA7xLuNz6Qt7HK
8
-euShzsvmzNUIaoBXa9qiOWoIb7aHa/uK87SwXpy6iV85TdWowD34JPnPiRx6FSPk
9
-4rOXYBq0lQJBAMGQYF/ItKUGYnwj7z2Q7N3/Pz5fTyoqzQI7Nza8aCEabFNzAdMv
10
-nZ2ROyWC/qXZ1osgPuwTBBfu9ty7GH2p4j0CQQCk+jJLCzDAor7waV/Dne+qQAQr
11
-wl8RfXFfH22s8Y+oE5CCtpjS4WLUM1MPBDcMWncnxP/TRUR13CwxyO7YEfW1AkBv
12
-VRqJnUiB7sUwv/54O+Zx3cFDn9BJ4apfES411nJSL/+ElA7FqIqQuZr6fXj4be5f
13
-wWFPqbReC72Dwj1Y8iDFAkAXpo8CtvqtxQYdbIh0Jmdj2xHWppkbBs9dT/qVAOdO
14
-RIA5UKKyyweZc+6ZFbAMeouhHGljcL73zOZt5V4YloT7
2
+MIICXAIBAAKBgQC+Wh9i6af92r6HdK8VVyxjIXLpkk9peQnF1HYeePiEe7L7EgRM
3
+AdtTGzSBpo9Wbs9YKESmwcwLn3i0meOl4s+0hOCPhNY7O4WGoozgeTNoicJ8Ln8K
4
+mhaOnkGNEgtThxOmpyih8+r9LwqSfVgR2nXL9eO1gPml15bupB9/PvWF/wIDAQAB
5
+AoGAZNUgoyja0GI7Y02wIUHYRXrGgGv8nQZ84sq091dlbeiI2u6kUA77u35BxhwQ
6
++dwhAbXzB9LI369OJX0PViRbmX1AdgTJwJLXkDB/ZI53FYFpb2n068M4SJza7XfP
7
+Dt4BxDD6+jlPXZvQl39X8ix6spnduSla7bu3vhTMnzwz52ECQQD1zE16OWx42yRR
8
+ZLjtdb9lx+QLGDO9jl3qDdFeePqdb7wWPpwPWltsZNUBYBFl+tSfX5XW/WCw0whQ
9
+NC7ulq/1AkEAxkCvYC77cXXySfZ5gL3HZnjGL9E4b05g3P/F0/wDdBeV1Pf7EMS7
10
+C3zN2vOYegx6pvNcsvOiZllJQUl3XHhpowJAfSesA6Ido2QiF/erWe3sqQyhBy0p
11
+m0lUdIrYorwDEAsGwGTc3cxqZMTq2Kpr8XtIrGXlS/T0ONUblIsdoorDyQJADSyR
12
+OuAEX3bKAfY5/r8duAaAjP7nNCZOM4FfoQWXKSjEESHlcijQkSPa/hi/4iRgJiX3
13
+3ABqo0h9oLQEFYX+5wJBALnnSFipTA4wbl2+Azk2ON2f3IN7k9XBGoa0vMkELK/Y
14
+u9dxara7fIdA0mNtZmaxskxBV73ZGfIEDbxwgOSmDts=
15 15
 -----END RSA PRIVATE KEY-----

+ 16
- 0
spec/resources/rsa-2048.crt View File

@@ -0,0 +1,16 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIClzCCAhygAwIBAwIJAM2sre8y+fwqMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
5
+orI1NFrMMLkDclhUDnOqHWFtUyabQrGD4uUbaWNxR4T+fC54qND75keMZdHmQvsu
6
+KZJRJSUIixOnosxUMEPWpQJ4Sg5bmK2t9tQ8O30u6sOEQ0lwlpba1Nq/aVtJ+mIi
7
+rsmoy4+mM9Pvt0u+AUDrHEvtPFsrw2bPazuz2eM7yW2l7mhSVoMxxJXv4HmPYECG
8
+HfTZLVp8Js6m7QVwFfZ70NyRc9U2zDBT6hXHH5/QKvmBQUerE39eDPRIvGfYjS1K
9
+CzD4YnyXOQDmxvMJoxjdeu7fdejYSDVPDR8zNGQpuMLo2UA9PZCbj6HLQhP6rXhc
10
+XQbI6BX2YS2ey4wf0enb4wIDAQABo4GMMIGJMAwGA1UdEwEB/wQCMAAwDgYDVR0P
11
+AQH/BAQDAgeAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMBMBEGCWCGSAGG+EIBAQQE
12
+AwIGQDAdBgNVHQ4EFgQUTxIM2O5bu94Zjn1sZHUeILyRqK4wHwYDVR0jBBgwFoAU
13
+AHhSoJkfkUuEumhmho5QP+T1g/swCgYIKoZIzj0EAwQDaQAwZgIxAJzXhVwvuqn0
14
+WKIvnR9irvGqOy16bAhRuUadhH4H5yHaWIihzxnoTOl1WSBwRhokKgIxAId/0ZpG
15
+4Jc9fdDuZ+Qi8UKRvBb0SNF226gTCTtn9VrO/cujSHhc+nyKfP71L/5tCg==
16
+-----END CERTIFICATE-----

+ 19
- 0
spec/resources/rsa-3072.crt View File

@@ -0,0 +1,19 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIDFzCCApygAwIBAwIJALm5kmnyIuMCMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA
5
+r6CAtxcIHGrxk23AgK4/fQVeZ1X3O2HE8ZZqdRGb+Qp2wBICacowcKU7R+6jYPE/
6
+vUQv1jVaSHFMrJFsN/Mj/2ZLrZV7jECOxexaiF+1SRJ9g6RK25r9etZ/gmYyJQkL
7
+Zr5LH501CSWpPPOy/M80VjsEnQE0OeWgEkJee7pr41SgVbBQb+VtU72JHd1J6b94
8
+zqXOGuLCfJbQU23hpTolc3jTGwsC8iN64HtqirNqMJoSQj2TblNb7E/DfrWM6G1l
9
+y8RDSUaswr1PUEeOEhnPPxQsGWdOCRmBdnWjlwKb+bs6/QMJ41/ZOFZpwMsFFNSU
10
+Fpcli/hxFf7yuk4mk3lACyAe33nJvyU/UdnjWbhEYAsskOKO/i3LkafS5mpkH/+7
11
+kmf/bWiin69Amw9p9wTRJEVL8N+CmnphUs8dMkVAxEFzrnLHD4+m6NCPkc2TMAGo
12
+faDbEmHU2CBQfExmZanp3YV9EQCAI+tOIuziiEoSsZCO2DzThZaAONBDKrsnuMJ3
13
+AgMBAAGjgYwwgYkwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0l
14
+AQH/BAwwCgYIKwYBBQUHAwEwEQYJYIZIAYb4QgEBBAQDAgZAMB0GA1UdDgQWBBSS
15
+eIf+CrQ6Jd1X8LOERjZIQNqGZDAfBgNVHSMEGDAWgBQAeFKgmR+RS4S6aGaGjlA/
16
+5PWD+zAKBggqhkjOPQQDBANpADBmAjEArrptDgqzqJd3SmO1VdlyxCy4dawrfwqK
17
+MmInreWtWwMoWKI+/7miQ5Phw1hF7rKjAjEA0znENSImIsqWyy9BlTZMjd948GPm
18
+tqlfyecH4dkA2vqnrKy47GOtQJLCphudLwZg
19
+-----END CERTIFICATE-----

+ 22
- 0
spec/resources/rsa-4096.crt View File

@@ -0,0 +1,22 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIDlzCCAxygAwIBAwIJAIIijrAYJBaYMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
5
+wFiTxqV2kKUI2zbrv2tFNeEjugbLdXxNV9AZjKEmkMKA3MaCuWwLkPlniR4k5nmp
6
+LHPIxPNcJC5ycr9+rWDWICY4b54K9MOQkVoyidCzJwctxuvokI0gzqfCVrHpHYFV
7
+fU0V4irsEjcfgQoc4Y7wt4OPtb4z3yf74lzekG6+rRebaFcqPujpErBYFuIxE7fY
8
+ineFParlB3pGaWi0aYuRvSs3ZTVIbRKVcW3AV0n/WzfjTSaMij4flZXgosBt6UzB
9
+rRBMcxd8e0QpciOpzzw8dWYAXlgsFoB7XE8fjfxDYkgnc1X05q/mFmqyhAuh+Lhg
10
+Xlbtu6wkV1GMceVPZkJijeHwS+3Ee4ao2UHGZeXjL/01C/5xiyjAU2eecbcQFuS9
11
+z6YkLp2WpmHYaNmYg8Q7JgWQ6bZrF8+aFsdA5KPLhQLkvDTM2YHQLGP+48xT6uel
12
+KkktH4J3UNEeFFxLJFA8nTruGXFNIzDb/xBK3u1Hj9tWIrZp6RjSgiwZRYzNSfgo
13
+XF4QSGdMmY/JWBv4NB2PWB7pb5yS4wFuyJumrJeiEv68djYc7LEO5nqSmnXGmR53
14
+yn10SPejGaCyREur8f1rp4uSLZ07E5ECGS0Yf0i37LPhLaIUaDr20Hq3DlIA8apV
15
+DcYgeSpHiIkoVg2IYeS9s5vYNcPXiwxHl6yhf7moEb8CAwEAAaOBjDCBiTAMBgNV
16
+HRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAWBgNVHSUBAf8EDDAKBggrBgEFBQcD
17
+ATARBglghkgBhvhCAQEEBAMCBkAwHQYDVR0OBBYEFPlHI23c8inFv5LPovmMLF7m
18
+EBQgMB8GA1UdIwQYMBaAFAB4UqCZH5FLhLpoZoaOUD/k9YP7MAoGCCqGSM49BAME
19
+A2kAMGYCMQD+lr2emoR9Y2rOUWYeBLQHoZUuiage6wzeuXOcHz33AvR07zLdDPhx
20
+CF1SNUDEX4UCMQCHJrjjqLF1nleU7cJbprFtTkxafzY41/MWcwd1iLQ/PJNawFIZ
21
+7sgyboZOblvL7ig=
22
+-----END CERTIFICATE-----

+ 12
- 0
spec/resources/rsa-512.crt View File

@@ -0,0 +1,12 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIBzTCCAVSgAwIBAwIJAIusKLoLX7bsMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL4vULTDXDkQ
5
+RxjIU8q4i61OAyr/D5uk7/f6s+gGNEePm5cau4+nri22kQ4a5/+gSzCDoSmVxZgx
6
+mY9NZ2DoTxsCAwEAAaOBjDCBiTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIH
7
+gDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDATARBglghkgBhvhCAQEEBAMCBkAwHQYD
8
+VR0OBBYEFCuhlibqfA/pi1VBEaYQ98gbTeD8MB8GA1UdIwQYMBaAFAB4UqCZH5FL
9
+hLpoZoaOUD/k9YP7MAoGCCqGSM49BAMEA2cAMGQCMGFkcij1XcYqBeB5D07XCyGs
10
+KvSrmFetcgV0+RRAhpqmOIaFBAMYJcEipVWcKlJ/PgIwfl48Znn7w6fgUQvFFV30
11
+zodBiwxxW/qpM1CgA0dvEB9/0T3KOIrvIp/MimpOfA18
12
+-----END CERTIFICATE-----

+ 13
- 0
spec/resources/rsa-768.crt View File

@@ -0,0 +1,13 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIB7jCCAXSgAwIBAwIJAOpKX9r4hq3tMAoGCCqGSM49BAMEMBcxFTATBgNVBAMM
3
+DGludGVybWVkaWF0ZTAeFw0wMDAxMDEwMDAwMDBaFw0wMTAxMDEwMDAwMDBaMBAx
4
+DjAMBgNVBAMMBWVjZHNhMHwwDQYJKoZIhvcNAQEBBQADawAwaAJhAK1LlPCnGDTs
5
+l20PBthCFmheQrsIacDJ9QovffGtRCGO7O8L2J/i89MWP5cNRZKWSPdbt5RrOhxt
6
+KadRc8BZRWi2Kkj/Bhf25ccedjaPWdjLA2Nqfhyarzi3VAzzNHOOvQIDAQABo4GM
7
+MIGJMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMBYGA1UdJQEB/wQMMAoG
8
+CCsGAQUFBwMBMBEGCWCGSAGG+EIBAQQEAwIGQDAdBgNVHQ4EFgQUeKpPPmQi5EFx
9
+/ya9A8eDnuLEOnwwHwYDVR0jBBgwFoAUAHhSoJkfkUuEumhmho5QP+T1g/swCgYI
10
+KoZIzj0EAwQDaAAwZQIwJ6v6If88s1scl/3mhl3Xij1IryBDCnF+I/mJ87OOvaGr
11
+JdF7wtoiaKWq97MGPp+jAjEA1l2Vb1le7Ou/UMRfj7zBMEMRjUsQYYOfFNkgdY7o
12
+J/nZhrFsEYodMMQjKrJq5r/g
13
+-----END CERTIFICATE-----

+ 10
- 11
spec/resources/self-signed.crt View File

@@ -1,13 +1,12 @@
1 1
 -----BEGIN CERTIFICATE-----
2
-MIICBjCCAYugAwIBAgIJAPnnJnLp7H/XMAoGCCqGSM49BAMEMBQxEjAQBgNVBAMM
3
-CWxvY2FsaG9zdDAeFw0xNzAxMjIxNjM1NDdaFw0xODAxMjIxNjM1NDdaMBQxEjAQ
4
-BgNVBAMMCWxvY2FsaG9zdDB2MBAGByqGSM49AgEGBSuBBAAiA2IABJvRcgAMkjzZ
5
-p0YD/mXa2Td8sy7fBr7F5Sj8toSmLAxkxxPCnm9DDdLQXy7IZXA1HJkiRUIJ8BTk
6
-gSxmKQBwl3my2quHGx7GSZshpER4tRtqWI21dTUkuu9bGR66bbLa8aOBqDCBpTAP
7
-BgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIC9DAdBgNVHSUEFjAUBggrBgEFBQcD
8
-AQYIKwYBBQUHAwIwHQYDVR0OBBYEFCEkGXQc44mMopATg1jr+stKnF4LMB8GA1Ud
9
-IwQYMBaAFCEkGXQc44mMopATg1jr+stKnF4LMBQGA1UdEQQNMAuCCWxvY2FsaG9z
10
-dDAQBggrBgEFBQcBGAEB/wQBMDAKBggqhkjOPQQDBANpADBmAjEAkPKxToKRloWT
11
-eH4lGaUrqBGpRof92rWmJiBLs5WnaYM73S/GdKNK1j0jKRCKXKpzAjEAgpjvaUhd
12
-qXkR3g8iWedrFjkVHHVrUGV9JW7elHP7bD6XryqsGRNK2X8yq0J616gP
2
+MIIBsjCCAVmgAwIBAwIJAIWcZTacPsW2MAoGCCqGSM49BAMEMBYxFDASBgNVBAMM
3
+C3NlbGYtc2lnbmVkMB4XDTAwMDEwMTAwMDAwMFoXDTAxMDEwMTAwMDAwMFowFjEU
4
+MBIGA1UEAwwLc2VsZi1zaWduZWQwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARM
5
+cLdZOmHY7MIISzm+AU0Qf81O7PCedDgobv2c75M4T8Vr2DyydzeDrq3zEgFZzB1N
6
+2mb/vO4t1r2djczV3RlSo4GPMIGMMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
7
+BAQDAgGGMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMBMBEGCWCGSAGG+EIBAQQEAwIC
8
+RDAdBgNVHQ4EFgQU9cUaSnS1wTgDUTO/hg2/bmHzdV0wHwYDVR0jBBgwFoAU9cUa
9
+SnS1wTgDUTO/hg2/bmHzdV0wCgYIKoZIzj0EAwQDRwAwRAIgJ25g2tM8OSC9rgSP
10
+iwq/AffU5Wp4cK4TAY3j9WSevSQCIElM6ESRSbSRliOPwj5YVJ3P6WP4/9ZDG5rN
11
+x3QQwwvE
13 12
 -----END CERTIFICATE-----

+ 12
- 0
spec/resources/sha1.crt View File

@@ -0,0 +1,12 @@
1
+-----BEGIN CERTIFICATE-----
2
+MIIByDCCAU+gAwIBAwIJAIh9+NXSIWNlMAkGByqGSM49BAEwFzEVMBMGA1UEAwwM
3
+aW50ZXJtZWRpYXRlMB4XDTAwMDEwMTAwMDAwMFoXDTAxMDEwMTAwMDAwMFowDzEN
4
+MAsGA1UEAwwEc2hhMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLkLGZc0Rmjz
5
+hR04uZOb2Fiw+74GEUigcE/+xd/kATNp2wtfHPmdsqWfNfJb3WeoTt5hTKqRF6rw
6
+aJNRuGw6FuCjgYwwgYkwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwFgYD
7
+VR0lAQH/BAwwCgYIKwYBBQUHAwEwEQYJYIZIAYb4QgEBBAQDAgZAMB0GA1UdDgQW
8
+BBQkRXPFW+c/3gVpLSa61TN7VPc69jAfBgNVHSMEGDAWgBQAeFKgmR+RS4S6aGaG
9
+jlA/5PWD+zAJBgcqhkjOPQQBA2gAMGUCMAuuX5kasC26adZjrPDBeTHoK8VKH+BE
10
+NL6B2M9gGdBLaM4lnR0bTym+/j7D2/KcKwIxAPIsm1lV52Qh69JmB5Qde22LSWIo
11
+Jd+wwyJ7u2EXBWHXf/CAgMfzc6vctngLWVxsww==
12
+-----END CERTIFICATE-----

Loading…
Cancel
Save