MCPcopy
hub / github.com/ContainerSSH/ContainerSSH / TestMutuallyAuthenticated

Function TestMutuallyAuthenticated

http/integration_test.go:135–186  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

133}
134
135func TestMutuallyAuthenticated(t *testing.T) {
136 caPrivKey, caCert, caCertBytes, err := createCA()
137 if err != nil {
138 assert.Fail(t, "failed to create CA", err)
139 return
140 }
141 serverPrivKey, serverCert, err := createSignedCert(
142 []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth},
143 caPrivKey,
144 caCert,
145 )
146 if err != nil {
147 assert.Fail(t, "failed to create server cert", err)
148 return
149 }
150
151 clientCaPriv, clientCaCert, clientCaCertBytes, err := createCA()
152 if err != nil {
153 assert.Fail(t, "failed to create client CA", err)
154 return
155 }
156 clientPrivKey, clientCert, err := createSignedCert(
157 []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth},
158 clientCaPriv,
159 clientCaCert,
160 )
161 if err != nil {
162 assert.Fail(t, "failed to create server cert", err)
163 return
164 }
165
166 clientConfig, serverConfig := createClientServerConfig(t)
167 //goland:noinspection HttpUrlsUsage
168 clientConfig.URL = strings.Replace(clientConfig.URL, "http://", "https://", 1)
169 clientConfig.CACert = string(caCertBytes)
170 clientConfig.ClientCert = string(clientCert)
171 clientConfig.ClientKey = string(clientPrivKey)
172 serverConfig.Key = string(serverPrivKey)
173 serverConfig.Cert = string(serverCert)
174 serverConfig.ClientCACert = string(clientCaCertBytes)
175
176 message := "Hi"
177
178 response, responseStatus, err := runRequest(clientConfig, serverConfig, t, message)
179 if err != nil {
180 assert.Fail(t, "failed to run request", err)
181 return
182 }
183 assert.Equal(t, 200, responseStatus)
184 assert.Equal(t, false, response.Error)
185 assert.Equal(t, "Hello world!", response.Message)
186}
187
188func TestMutuallyAuthenticatedFailure(t *testing.T) {
189 caPrivKey, caCert, caCertBytes, err := createCA()

Callers

nothing calls this directly

Calls 5

createCAFunction · 0.85
createSignedCertFunction · 0.85
createClientServerConfigFunction · 0.85
runRequestFunction · 0.85
FailMethod · 0.80

Tested by

no test coverage detected