summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <m.shulhan@gmail.com>2020-11-21 21:30:54 +0700
committerShulhan <m.shulhan@gmail.com>2020-11-23 00:34:11 +0700
commite8b3bf5ee6e9c4a68fb11a1d04aa082c0862a0e1 (patch)
treea40ade3a95fd0aaf63efca384e7c8a21d0b0ab0f
parentdcf00280684899154b9633c946dc4efeede2ebf9 (diff)
downloadpakakeh.go-e8b3bf5ee6e9c4a68fb11a1d04aa082c0862a0e1.tar.xz
smtp: update the expired test certificate
-rw-r--r--lib/smtp/client.go6
-rw-r--r--lib/smtp/smtp_test.go4
-rw-r--r--lib/smtp/testdata/mail.kilabit.local.cert.pem52
-rw-r--r--lib/smtp/testdata/mail.kilabit.local.chain.cert.pem103
-rw-r--r--lib/smtp/testdata/mail.kilabit.local.key.pem50
-rw-r--r--lib/smtp/testdata/openssl.conf23
6 files changed, 72 insertions, 166 deletions
diff --git a/lib/smtp/client.go b/lib/smtp/client.go
index 9e78d1d4..f3b8ac26 100644
--- a/lib/smtp/client.go
+++ b/lib/smtp/client.go
@@ -80,7 +80,8 @@ func NewClient(localName, remoteURL string, insecure bool) (cl *Client, err erro
}
cl = &Client{
- raddr: &net.TCPAddr{},
+ raddr: &net.TCPAddr{},
+ insecure: insecure,
}
scheme = strings.ToLower(rurl.Scheme)
@@ -108,9 +109,6 @@ func NewClient(localName, remoteURL string, insecure bool) (cl *Client, err erro
return nil, err
}
}
- if len(cl.serverName) == 0 {
- cl.insecure = true
- }
cl.data = make([]byte, 4096)
cl.raddr.Port = int(port)
diff --git a/lib/smtp/smtp_test.go b/lib/smtp/smtp_test.go
index 24f57a0f..d12c4569 100644
--- a/lib/smtp/smtp_test.go
+++ b/lib/smtp/smtp_test.go
@@ -73,7 +73,7 @@ func testRunServer() {
testFilePrivateKey,
)
if err != nil {
- log.Fatal(err)
+ log.Fatal("testServer.LoadCertificate: " + err.Error())
}
go func() {
@@ -93,7 +93,7 @@ func TestMain(m *testing.M) {
testClient, err = NewClient("", testSMTPSAddress, true)
if err != nil {
- log.Fatal(err)
+ log.Fatal("NewClient: " + err.Error())
}
s := m.Run()
diff --git a/lib/smtp/testdata/mail.kilabit.local.cert.pem b/lib/smtp/testdata/mail.kilabit.local.cert.pem
index dd680ee3..e91b757c 100644
--- a/lib/smtp/testdata/mail.kilabit.local.cert.pem
+++ b/lib/smtp/testdata/mail.kilabit.local.cert.pem
@@ -1,34 +1,22 @@
-----BEGIN CERTIFICATE-----
-MIIF9jCCA96gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAklE
-MRIwEAYDVQQIDAlXZXN0IEphdmExEDAOBgNVBAoMB0tpbGFiaXQxETAPBgNVBAsM
-CFN5c2FkbWluMSAwHgYDVQQDDBdLaWxhYml0IEludGVybWVkaWF0ZSBDQTEeMBwG
-CSqGSIb3DQEJARYPbXNAa2lsYWJpdC5pbmZvMB4XDTE5MDEwODA5MDkwOFoXDTIw
-MDExODA5MDkwOFowgZUxCzAJBgNVBAYTAklEMRIwEAYDVQQIDAlXZXN0IEphdmEx
-EDAOBgNVBAcMB0JhbmR1bmcxEDAOBgNVBAoMB0tpbGFiaXQxETAPBgNVBAsMCFN5
-c2FkbWluMRswGQYDVQQDDBJtYWlsLmtpbGFiaXQubG9jYWwxHjAcBgkqhkiG9w0B
-CQEWD21zQGtpbGFiaXQuaW5mbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
-ggEBAMUUhskQy0m1JOMxJBfEBfgBBqVDD+WBtsOBTc93fKIPAseippqeBYKHh+ed
-gDzwSVwwlp/YuEbqHdZ8FThJLOsfo2aVh5VuQmFFanxwRNwIyYtml78f6L/gDu4o
-oi96zpNxssHZq7B/coq/IqYok+XaDkWFZ4L0BpuIn7ooy10gZmgIOFQTL7teVSxG
-haYDccI0enA4cAKP5tmhVMAAOAgdr9eIbx914VnnmmwYAX/Lcq7TbUPmT8/rHhrO
-gVMZ1hiI9bZKEZfMlFrQf4EkS1ZHFNdoWxEaxb3GbA6HbtQnuA95rSnAyb9jAq7R
-Q53eLHwMvcphF+3fAlcFJ12w1qkCAwEAAaOCAVkwggFVMAkGA1UdEwQCMAAwEQYJ
-YIZIAYb4QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRl
-ZCBTZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFJDoAJbJtpF3blSaa4We7kCl
-sBvgMIG7BgNVHSMEgbMwgbCAFPsmyYtis5UPze/f8kO7OXgZWocnoYGTpIGQMIGN
-MQswCQYDVQQGEwJJRDESMBAGA1UECAwJV2VzdCBKYXZhMRAwDgYDVQQHDAdCYW5k
-dW5nMRAwDgYDVQQKDAdLaWxhYml0MREwDwYDVQQLDAhTeXNhZG1pbjETMBEGA1UE
-AwwKS2lsYWJpdCBDQTEeMBwGCSqGSIb3DQEJARYPbXNAa2lsYWJpdC5pbmZvggIQ
-ADAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcN
-AQELBQADggIBAD2vr5V30+gGeyg9vyQBZyfQDIFVpp+Cmr/5CTNNWFS6ENFctInK
-bZYGXJhT9ZzblnQFPSk3hXAl56k6NAwjk+yIPeLmMNBjff2KDiz253uA0DZvXP/d
-/Mq494pjFmVCAFSBm5vREcsvT8UU9sNE7wJplmwgcQBQlxBMdtsMYDygCs4MOSzp
-AlpqMVn9KJSTrpO4PbD1/49KEzlO5gCvBk1TEdzHaZx9vkIg/6cRws6wa4UlBLf5
-VrQkm+IjG/rdz2AYaTRrRtwFeiMvO5FwNEr6pIuB76jCnP9VHD1uacrZW5ERx6Qm
-9Z64FuyPzWvogouKjAY1158C6evnuXku3WmI+IS56mghieti2JGl1YgYIV/+rG0w
-giKzVkpSbmURawcZOw3mUYfrdUj40LVyoknrWhtUhCd8dOP3RCW4zRf6OkYJHmmk
-lnEnVIcgskBRNDtwfoqyew4u8BLuHzYAlttIU899zlp1EL0qw+9i9Xaxz0Mm3wDP
-yp4vh7FK1aoKJ9eE1P9wncdfeIoAungODMkVg57HVJ1P71uAFYnA3m2Pm89WTQZu
-omeypgwLeawqUbpZi+E38c/X3AqC7GMc39BuZBwDhM6FPr5SBy2vn70JJ7Qays5J
-wQUhLStIM+iiL5/fddsFv5QXgN36/HB2thP/v115ZOkV3ts4eRXCwW3n
+MIIDmjCCAoKgAwIBAgIJAJFoYdM8AZbCMA0GCSqGSIb3DQEBCwUAMHgxCzAJBgNV
+BAYTAklEMQwwCgYDVQQIDANOL0ExDDAKBgNVBAcMA04vQTEgMB4GA1UECgwXU2Vs
+Zi1zaWduZWQgY2VydGlmaWNhdGUxKzApBgNVBAMMIjEyMC4wLjAuMTogU2VsZi1z
+aWduZWQgY2VydGlmaWNhdGUwHhcNMjAxMTIxMTQyMzE2WhcNMzAwODIxMTQyMzE2
+WjB4MQswCQYDVQQGEwJJRDEMMAoGA1UECAwDTi9BMQwwCgYDVQQHDANOL0ExIDAe
+BgNVBAoMF1NlbGYtc2lnbmVkIGNlcnRpZmljYXRlMSswKQYDVQQDDCIxMjAuMC4w
+LjE6IFNlbGYtc2lnbmVkIGNlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA62hwADFvE7mq+6r/bcGOmX6ofe0XKnHce09OLfk6dO0thD9S
+Rb2tSfLX7OBMr+3OUjytY/XLMYGNwrUF7wR2uFNKt+SBpyXeL8rGkZanIWjwy7q9
+KTBp05erE+nrT2cnQqJXZD2I3FPPuDY+9f70QuIc4xektj3Wg0ivjQNT6GP/Hzz3
+PvKAhdLoFYOLig8lQ25+Sge0WJWhlj9q+smj/iGWydPhnD61U7ovvufMl3owbgFq
+RXxbfua+K05qy28k+M+TQUUCVKkTB6fQRrxqzEhOUNPh1/9/lEcVgM7zA05/+XGe
+aUD58AMCAvvE2vOLECO//08vx/fdOZOcoMrbMwIDAQABoycwJTAjBgNVHREEHDAa
+hwR/AAABghJtYWlsLmtpbGFiaXQubG9jYWwwDQYJKoZIhvcNAQELBQADggEBACp4
+aq/5H/7syWQqf9XqwBtemBH+Ynx/eMkXYjzHtVYeGu+0HWwXpVKQo1winHywsg0W
+4VTl5RkQRLLGm+7kW50f14pFi+Nb6HYxJUaD828rGnpY7ByQh8/q6Gwqp84CyL91
+rCd6/oJnHtrBucx9w05Y4pUp+6gt+nwv0G/Z07IOT1WFFgrlraKwinb3g3BhnI4j
+XRrhaVXmhGcfriSf9XwHClP7HPxYjg6RvRP8z6W5p8MB8kzhMBwJ8VmRB9IXUGME
+DppE4nvKBhBluZtbDiCaDEq2bV9tvvWS6mguJB67Vm9tk8Wi3lb9e6jx8SfOBCXs
+0PDq3B30mNnHhf5L9Ro=
-----END CERTIFICATE-----
diff --git a/lib/smtp/testdata/mail.kilabit.local.chain.cert.pem b/lib/smtp/testdata/mail.kilabit.local.chain.cert.pem
deleted file mode 100644
index 1426b3d7..00000000
--- a/lib/smtp/testdata/mail.kilabit.local.chain.cert.pem
+++ /dev/null
@@ -1,103 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIF9jCCA96gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAklE
-MRIwEAYDVQQIDAlXZXN0IEphdmExEDAOBgNVBAoMB0tpbGFiaXQxETAPBgNVBAsM
-CFN5c2FkbWluMSAwHgYDVQQDDBdLaWxhYml0IEludGVybWVkaWF0ZSBDQTEeMBwG
-CSqGSIb3DQEJARYPbXNAa2lsYWJpdC5pbmZvMB4XDTE5MDEwODA5MDkwOFoXDTIw
-MDExODA5MDkwOFowgZUxCzAJBgNVBAYTAklEMRIwEAYDVQQIDAlXZXN0IEphdmEx
-EDAOBgNVBAcMB0JhbmR1bmcxEDAOBgNVBAoMB0tpbGFiaXQxETAPBgNVBAsMCFN5
-c2FkbWluMRswGQYDVQQDDBJtYWlsLmtpbGFiaXQubG9jYWwxHjAcBgkqhkiG9w0B
-CQEWD21zQGtpbGFiaXQuaW5mbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
-ggEBAMUUhskQy0m1JOMxJBfEBfgBBqVDD+WBtsOBTc93fKIPAseippqeBYKHh+ed
-gDzwSVwwlp/YuEbqHdZ8FThJLOsfo2aVh5VuQmFFanxwRNwIyYtml78f6L/gDu4o
-oi96zpNxssHZq7B/coq/IqYok+XaDkWFZ4L0BpuIn7ooy10gZmgIOFQTL7teVSxG
-haYDccI0enA4cAKP5tmhVMAAOAgdr9eIbx914VnnmmwYAX/Lcq7TbUPmT8/rHhrO
-gVMZ1hiI9bZKEZfMlFrQf4EkS1ZHFNdoWxEaxb3GbA6HbtQnuA95rSnAyb9jAq7R
-Q53eLHwMvcphF+3fAlcFJ12w1qkCAwEAAaOCAVkwggFVMAkGA1UdEwQCMAAwEQYJ
-YIZIAYb4QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRl
-ZCBTZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFJDoAJbJtpF3blSaa4We7kCl
-sBvgMIG7BgNVHSMEgbMwgbCAFPsmyYtis5UPze/f8kO7OXgZWocnoYGTpIGQMIGN
-MQswCQYDVQQGEwJJRDESMBAGA1UECAwJV2VzdCBKYXZhMRAwDgYDVQQHDAdCYW5k
-dW5nMRAwDgYDVQQKDAdLaWxhYml0MREwDwYDVQQLDAhTeXNhZG1pbjETMBEGA1UE
-AwwKS2lsYWJpdCBDQTEeMBwGCSqGSIb3DQEJARYPbXNAa2lsYWJpdC5pbmZvggIQ
-ADAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcN
-AQELBQADggIBAD2vr5V30+gGeyg9vyQBZyfQDIFVpp+Cmr/5CTNNWFS6ENFctInK
-bZYGXJhT9ZzblnQFPSk3hXAl56k6NAwjk+yIPeLmMNBjff2KDiz253uA0DZvXP/d
-/Mq494pjFmVCAFSBm5vREcsvT8UU9sNE7wJplmwgcQBQlxBMdtsMYDygCs4MOSzp
-AlpqMVn9KJSTrpO4PbD1/49KEzlO5gCvBk1TEdzHaZx9vkIg/6cRws6wa4UlBLf5
-VrQkm+IjG/rdz2AYaTRrRtwFeiMvO5FwNEr6pIuB76jCnP9VHD1uacrZW5ERx6Qm
-9Z64FuyPzWvogouKjAY1158C6evnuXku3WmI+IS56mghieti2JGl1YgYIV/+rG0w
-giKzVkpSbmURawcZOw3mUYfrdUj40LVyoknrWhtUhCd8dOP3RCW4zRf6OkYJHmmk
-lnEnVIcgskBRNDtwfoqyew4u8BLuHzYAlttIU899zlp1EL0qw+9i9Xaxz0Mm3wDP
-yp4vh7FK1aoKJ9eE1P9wncdfeIoAungODMkVg57HVJ1P71uAFYnA3m2Pm89WTQZu
-omeypgwLeawqUbpZi+E38c/X3AqC7GMc39BuZBwDhM6FPr5SBy2vn70JJ7Qays5J
-wQUhLStIM+iiL5/fddsFv5QXgN36/HB2thP/v115ZOkV3ts4eRXCwW3n
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
-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
------END CERTIFICATE-----
------BEGIN CERTIFICATE-----
-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
-0Uadl1JvL+izsBQT/1Qg5tA=
------END CERTIFICATE-----
diff --git a/lib/smtp/testdata/mail.kilabit.local.key.pem b/lib/smtp/testdata/mail.kilabit.local.key.pem
index a51b522f..7648c853 100644
--- a/lib/smtp/testdata/mail.kilabit.local.key.pem
+++ b/lib/smtp/testdata/mail.kilabit.local.key.pem
@@ -1,27 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
-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
+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
-----END RSA PRIVATE KEY-----
diff --git a/lib/smtp/testdata/openssl.conf b/lib/smtp/testdata/openssl.conf
new file mode 100644
index 00000000..86eed9ab
--- /dev/null
+++ b/lib/smtp/testdata/openssl.conf
@@ -0,0 +1,23 @@
+[req]
+default_bits = 2048
+distinguished_name = req_distinguished_name
+req_extensions = req_ext
+x509_extensions = v3_req
+prompt = no
+
+[req_distinguished_name]
+countryName = ID
+stateOrProvinceName = N/A
+localityName = N/A
+organizationName = Self-signed certificate
+commonName = 120.0.0.1: Self-signed certificate
+
+[req_ext]
+subjectAltName = @alt_names
+
+[v3_req]
+subjectAltName = @alt_names
+
+[alt_names]
+IP.1 = 127.0.0.1
+DNS.1 = mail.kilabit.local