43
44
DQEBBQNBABtWCdMFkhIO8+oM3vugOWle9WJZ1FCRWD+cMl76mI1lhmNF4lvEZG47
44
45
xUjekA1+heU39WpOEzZSybrOdiEaGbI=
45
46
-----END CERTIFICATE-----`)
48
// test tls server & client config
49
var TestTLSServerConfig, TestTLSClientConfig *tls.Config
48
// key&cert generated with openssl req -x509 -nodes -newkey rsa:2048
49
// -multivalue-rdn -sha512 -days 3650 -keyout testing.key -out
50
// testing.cert -subj "/O=Acme Co/CN=push-delivery/"
51
TestKeyPEMBlock512 = []byte(`-----BEGIN PRIVATE KEY-----
52
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC4ySO/avJFWps8
53
AygUZ0dcylNr1UxZb4QPHuO93OXAkYX5ngw7TjnWIGHjvoLzLzPZCxlrGl7e+M1H
54
GNZqFT3kFv/XYexp9Cx3MCDy0ZWkK9BAVDTAxMkjSR8ZwRjByQqniilDA/kr92NQ
55
yaL0GlajsxpmcGMjDM0Dp5QF+inQM48ADJpJl0xlfFwE8CwfVVGM8G/ZtQpBJ3AN
56
RelEG1iF8tsT9nVlWF37Zp9Wp/CxDDVTuzboZx9pkryOeJmm0l93x1aoSy6DTVyg
57
zjdAOjKFjSsjY7we7x7GgpHuUtXymVH7OHdc0ji5+2O+yf9VEDxuym0fJJEgVLfX
58
ungSHFxJAgMBAAECggEAeC2gyTqF7KM7+LDY3UQ6Plf8H1KvAC+txKPDXFURO8ep
59
SaoHrH540RFoeNULl5uobc1xL54L+5n27/lwYbgE85YduHegaVx7mty7YRD78LTq
60
ERxy3rhdVEyXJInYTxgwjLwnj8VCxdx0RDOPfpCurnKqhdssLryBjZHsjGKh1RzH
61
bv5fNrqMhU0uH82cOKXy20uzyVo5zuLwWA+PxCEeOTMumpWgN4PmtMrjUot2t2/q
62
jVoEkrB3B5Xs/s8OrEv10t90nNQPcKT89Kts/jdmgDNNg/dtILogiD4JshTG8fIB
63
STUArRDCE0NXOmB0XuXRxk8YlZyBj2AsIUQcFRrOgQKBgQDrAkE77wIZcCJRYGxK
64
KkB5zE5Lei44dKEHU5zIueOflsWFC+RZGWVn1+hTQw9Sk1kqm5atrDbfMZDOk62U
65
bNcQLT+QqDRo3iSYLo9Q5hFNNxMGUm6RMHApr5iIZeoBFDZ7b4+zCEEFNtYukvjY
66
DWyeTgUqftoOTDebHbHrk9w/0QKBgQDJSnnestarqjLXyF4RWzcFTsDjFgRv53Cq
67
WrpiQUkk5JLlKliwoTAGTxzH2skJofT6OAQjrc5489mc5Gt6TVwWB49l+OzzG4H/
68
QSe5X9I5BEEcdD27wDwsaO/NsusM9jZ4IjauTKR5XqGoepbrWrm7+lBgEe1DvBWx
69
C71U7Eoq+QKBgQDNJT2+zMf/XrSGZu6A21tHN0KNfo2EeMLsu19clXCPKjUoDBZ8
70
dL/ho0bKD/r7MWcf24vv9So9MW5f9egLbeta0rTvWPXPKUO2mMZAb2VhCxePaDve
71
f/MZYJB9WMGpyXQ50kwVk7n2jETxiRiyuR09H4xA6VT+MChGPujGZV9ZUQKBgH7i
72
06/uTCQqRaKAS8vlE+nkmvKLDoD8A6lfR95oCROYgoCzEPVGpl9Tv3C8Gb5YuXSB
73
mxpilaTpEmQ0GQwfd8zrNxmwsK0OygN9ruzL2ljWtbSaEdAofcYA4Clqf4DMM8nG
74
x3FYHtXjMURjAn+Z0TsNr1zf8BCin4nbPJ4r1RUBAoGBALFHLtEWwVxpm3MN4f08
75
GtH2Phd289H0s5SaX/NaWYy44T+Q/d7LuYk72LWX1jZB/2V3OhiFzih0uK44PBM4
76
Gaiu8c/vl+M1hixeOenTrapE4ORaYt76INIEC8JpqEvGi0DYkUH1D4F8zzAiejgF
77
t+nz90UBRCRA8vtZ8fiwz8O0
78
-----END PRIVATE KEY-----`)
80
TestCertPEMBlock512 = []byte(`-----BEGIN CERTIFICATE-----
81
MIIDJzCCAg+gAwIBAgIJAP9ScfFaKlalMA0GCSqGSIb3DQEBDQUAMCoxEDAOBgNV
82
BAoMB0FjbWUgQ28xFjAUBgNVBAMMDXB1c2gtZGVsaXZlcnkwHhcNMTUwNDE1MTYx
83
MDM1WhcNMjUwNDEyMTYxMDM1WjAqMRAwDgYDVQQKDAdBY21lIENvMRYwFAYDVQQD
84
DA1wdXNoLWRlbGl2ZXJ5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
85
uMkjv2ryRVqbPAMoFGdHXMpTa9VMWW+EDx7jvdzlwJGF+Z4MO0451iBh476C8y8z
86
2QsZaxpe3vjNRxjWahU95Bb/12HsafQsdzAg8tGVpCvQQFQ0wMTJI0kfGcEYwckK
87
p4opQwP5K/djUMmi9BpWo7MaZnBjIwzNA6eUBfop0DOPAAyaSZdMZXxcBPAsH1VR
88
jPBv2bUKQSdwDUXpRBtYhfLbE/Z1ZVhd+2afVqfwsQw1U7s26GcfaZK8jniZptJf
89
d8dWqEsug01coM43QDoyhY0rI2O8Hu8exoKR7lLV8plR+zh3XNI4uftjvsn/VRA8
90
bsptHySRIFS317p4EhxcSQIDAQABo1AwTjAdBgNVHQ4EFgQUG2Qk9GbWWfSPXRTE
91
+cfOZMljydAwHwYDVR0jBBgwFoAUG2Qk9GbWWfSPXRTE+cfOZMljydAwDAYDVR0T
92
BAUwAwEB/zANBgkqhkiG9w0BAQ0FAAOCAQEAUw36s8n8a39ECYUmSS5o+PdjmF1v
93
6K6ld5n7IlFVwCtA1Rkz2L2AUrko/ao1/ZgKhHsIBFQ7mm5fkvuNd14ZEJ0F8LyI
94
55Et63IYWYOPHl0oNmzTHex0WRL9nmNvxbQ5UytzGTE5amv/sZTOYH9qnpEes68O
95
TPP+C3OoM+U6hjOXNGG73zb54JHQUZ4arMg2gbVzxNXU2ReoKYKrYexGGuqIlHcE
96
XdOQp93oJfqWAj111YS6tIn63ccjx7bKzFzaufuVvCIsk0WrXG2rpuqx+0OYzRKc
97
deU3hnONgWVXjCQdNysBzUXLeOWcv1KuqScETvGZe7D1UIk7HWsAgnQnYQ==
98
-----END CERTIFICATE-----`)
100
// key&cert, same as server/acceptance/ssl/testing.*
101
TestKeyPEMBlockAcceptance []byte
103
TestCertPEMBlockAcceptance []byte
106
// test tls server & client configs
108
TestTLSServerConfigs = map[string]*tls.Config{}
109
TestTLSClientConfigs = map[string]*tls.Config{}
110
TestTLSServerConfig, TestTLSClientConfig *tls.Config
52
cert, err := tls.X509KeyPair(TestCertPEMBlock, TestKeyPEMBlock)
56
TestTLSServerConfig = &tls.Config{
57
Certificates: []tls.Certificate{cert},
59
cp := x509.NewCertPool()
60
ok := cp.AppendCertsFromPEM(TestCertPEMBlock)
62
panic("failed to parse test cert")
64
TestTLSClientConfig = &tls.Config{
66
ServerName: "push-delivery",
115
TestKeyPEMBlockAcceptance, err = ioutil.ReadFile(SourceRelative("../server/acceptance/ssl/testing.key"))
120
TestCertPEMBlockAcceptance, err = ioutil.ReadFile(SourceRelative("../server/acceptance/ssl/testing.cert"))
125
for _, cfgBits := range []struct {
130
{"sha1", TestKeyPEMBlock, TestCertPEMBlock},
131
{"sha512", TestKeyPEMBlock512, TestCertPEMBlock512},
132
{"acceptance", TestKeyPEMBlockAcceptance, TestCertPEMBlockAcceptance},
134
cert, err := tls.X509KeyPair(cfgBits.cert, cfgBits.key)
138
tlsServerConfig := &tls.Config{
139
Certificates: []tls.Certificate{cert},
141
cp := x509.NewCertPool()
142
ok := cp.AppendCertsFromPEM(cfgBits.cert)
144
panic("failed to parse test cert")
146
tlsClientConfig := &tls.Config{
148
ServerName: "push-delivery",
150
TestTLSClientConfigs[cfgBits.label] = tlsClientConfig
151
TestTLSServerConfigs[cfgBits.label] = tlsServerConfig
153
TestTLSClientConfig = TestTLSClientConfigs["sha1"]
154
TestTLSServerConfig = TestTLSServerConfigs["sha1"]