Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
4e734669
Commit
4e734669
authored
Mar 29, 2019
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.0.x' into 2.1.x
parents
f1df366a
7990c8ba
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
61 additions
and
12 deletions
+61
-12
pom.xml
spring-boot-project/spring-boot-dependencies/pom.xml
+1
-1
AbstractReactiveWebServerFactoryTests.java
...eactive/server/AbstractReactiveWebServerFactoryTests.java
+22
-7
AbstractServletWebServerFactoryTests.java
.../servlet/server/AbstractServletWebServerFactoryTests.java
+38
-4
test.jks
spring-boot-project/spring-boot/src/test/resources/test.jks
+0
-0
test.p12
spring-boot-project/spring-boot/src/test/resources/test.p12
+0
-0
No files found.
spring-boot-project/spring-boot-dependencies/pom.xml
View file @
4e734669
...
@@ -104,7 +104,7 @@
...
@@ -104,7 +104,7 @@
<jedis.version>
2.9.3
</jedis.version>
<jedis.version>
2.9.3
</jedis.version>
<jersey.version>
2.27
</jersey.version>
<jersey.version>
2.27
</jersey.version>
<jest.version>
6.3.1
</jest.version>
<jest.version>
6.3.1
</jest.version>
<jetty.version>
9.4.1
4.v20181114
</jetty.version>
<jetty.version>
9.4.1
5.v20190215
</jetty.version>
<jetty-jsp.version>
2.2.0.v201112011158
</jetty-jsp.version>
<jetty-jsp.version>
2.2.0.v201112011158
</jetty-jsp.version>
<jetty-el.version>
8.5.35.1
</jetty-el.version>
<jetty-el.version>
8.5.35.1
</jetty-el.version>
<jetty-reactive-httpclient.version>
1.0.3
</jetty-reactive-httpclient.version>
<jetty-reactive-httpclient.version>
1.0.3
</jetty-reactive-httpclient.version>
...
...
spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/reactive/server/AbstractReactiveWebServerFactoryTests.java
View file @
4e734669
...
@@ -21,11 +21,15 @@ import java.io.FileInputStream;
...
@@ -21,11 +21,15 @@ import java.io.FileInputStream;
import
java.net.InetSocketAddress
;
import
java.net.InetSocketAddress
;
import
java.nio.charset.StandardCharsets
;
import
java.nio.charset.StandardCharsets
;
import
java.security.KeyStore
;
import
java.security.KeyStore
;
import
java.security.PrivateKey
;
import
java.security.cert.X509Certificate
;
import
java.time.Duration
;
import
java.time.Duration
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
javax.net.ssl.KeyManager
;
import
javax.net.ssl.KeyManagerFactory
;
import
javax.net.ssl.KeyManagerFactory
;
import
javax.net.ssl.SSLException
;
import
javax.net.ssl.SSLException
;
import
javax.net.ssl.X509KeyManager
;
import
io.netty.channel.ChannelHandlerContext
;
import
io.netty.channel.ChannelHandlerContext
;
import
io.netty.channel.ChannelInboundHandlerAdapter
;
import
io.netty.channel.ChannelInboundHandlerAdapter
;
...
@@ -171,13 +175,24 @@ public abstract class AbstractReactiveWebServerFactoryTests {
...
@@ -171,13 +175,24 @@ public abstract class AbstractReactiveWebServerFactoryTests {
KeyManagerFactory
clientKeyManagerFactory
=
KeyManagerFactory
KeyManagerFactory
clientKeyManagerFactory
=
KeyManagerFactory
.
getInstance
(
KeyManagerFactory
.
getDefaultAlgorithm
());
.
getInstance
(
KeyManagerFactory
.
getDefaultAlgorithm
());
clientKeyManagerFactory
.
init
(
clientKeyStore
,
"password"
.
toCharArray
());
clientKeyManagerFactory
.
init
(
clientKeyStore
,
"password"
.
toCharArray
());
SslContextBuilder
builder
=
SslContextBuilder
.
forClient
()
for
(
KeyManager
keyManager
:
clientKeyManagerFactory
.
getKeyManagers
())
{
.
sslProvider
(
SslProvider
.
JDK
)
if
(
keyManager
instanceof
X509KeyManager
)
{
.
trustManager
(
InsecureTrustManagerFactory
.
INSTANCE
)
X509KeyManager
x509KeyManager
=
(
X509KeyManager
)
keyManager
;
.
keyManager
(
clientKeyManagerFactory
);
PrivateKey
privateKey
=
x509KeyManager
.
getPrivateKey
(
"spring-boot"
);
HttpClient
client
=
HttpClient
.
create
().
wiretap
(
true
)
if
(
privateKey
!=
null
)
{
.
secure
((
sslContextSpec
)
->
sslContextSpec
.
sslContext
(
builder
));
X509Certificate
[]
certificateChain
=
x509KeyManager
return
new
ReactorClientHttpConnector
(
client
);
.
getCertificateChain
(
"spring-boot"
);
SslContextBuilder
builder
=
SslContextBuilder
.
forClient
()
.
sslProvider
(
SslProvider
.
JDK
)
.
trustManager
(
InsecureTrustManagerFactory
.
INSTANCE
)
.
keyManager
(
privateKey
,
certificateChain
);
HttpClient
client
=
HttpClient
.
create
().
wiretap
(
true
).
secure
(
(
sslContextSpec
)
->
sslContextSpec
.
sslContext
(
builder
));
return
new
ReactorClientHttpConnector
(
client
);
}
}
}
throw
new
IllegalStateException
(
"Key with alias 'spring-boot' not found"
);
}
}
protected
void
testClientAuthSuccess
(
Ssl
sslConfiguration
,
protected
void
testClientAuthSuccess
(
Ssl
sslConfiguration
,
...
...
spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/server/AbstractServletWebServerFactoryTests.java
View file @
4e734669
...
@@ -25,6 +25,7 @@ import java.io.PrintWriter;
...
@@ -25,6 +25,7 @@ import java.io.PrintWriter;
import
java.net.InetSocketAddress
;
import
java.net.InetSocketAddress
;
import
java.net.MalformedURLException
;
import
java.net.MalformedURLException
;
import
java.net.ServerSocket
;
import
java.net.ServerSocket
;
import
java.net.Socket
;
import
java.net.URI
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.net.URISyntaxException
;
import
java.net.URL
;
import
java.net.URL
;
...
@@ -74,6 +75,8 @@ import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
...
@@ -74,6 +75,8 @@ import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
import
org.apache.http.impl.client.HttpClientBuilder
;
import
org.apache.http.impl.client.HttpClientBuilder
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.protocol.HttpContext
;
import
org.apache.http.protocol.HttpContext
;
import
org.apache.http.ssl.PrivateKeyDetails
;
import
org.apache.http.ssl.PrivateKeyStrategy
;
import
org.apache.http.ssl.SSLContextBuilder
;
import
org.apache.http.ssl.SSLContextBuilder
;
import
org.apache.http.ssl.TrustStrategy
;
import
org.apache.http.ssl.TrustStrategy
;
import
org.apache.jasper.EmbeddedServletOptions
;
import
org.apache.jasper.EmbeddedServletOptions
;
...
@@ -423,7 +426,7 @@ public abstract class AbstractServletWebServerFactoryTests {
...
@@ -423,7 +426,7 @@ public abstract class AbstractServletWebServerFactoryTests {
this
.
webServer
=
factory
.
getWebServer
(
registration
);
this
.
webServer
=
factory
.
getWebServer
(
registration
);
this
.
webServer
.
start
();
this
.
webServer
.
start
();
TrustStrategy
trustStrategy
=
new
SerialNumberValidatingTrustSelfSignedStrategy
(
TrustStrategy
trustStrategy
=
new
SerialNumberValidatingTrustSelfSignedStrategy
(
"
3a3aaec8
"
);
"
5c7ae101
"
);
SSLContext
sslContext
=
new
SSLContextBuilder
()
SSLContext
sslContext
=
new
SSLContextBuilder
()
.
loadTrustMaterial
(
null
,
trustStrategy
).
build
();
.
loadTrustMaterial
(
null
,
trustStrategy
).
build
();
HttpClient
httpClient
=
HttpClients
.
custom
()
HttpClient
httpClient
=
HttpClients
.
custom
()
...
@@ -499,7 +502,18 @@ public abstract class AbstractServletWebServerFactoryTests {
...
@@ -499,7 +502,18 @@ public abstract class AbstractServletWebServerFactoryTests {
SSLConnectionSocketFactory
socketFactory
=
new
SSLConnectionSocketFactory
(
SSLConnectionSocketFactory
socketFactory
=
new
SSLConnectionSocketFactory
(
new
SSLContextBuilder
()
new
SSLContextBuilder
()
.
loadTrustMaterial
(
null
,
new
TrustSelfSignedStrategy
())
.
loadTrustMaterial
(
null
,
new
TrustSelfSignedStrategy
())
.
loadKeyMaterial
(
keyStore
,
"secret"
.
toCharArray
()).
build
());
.
loadKeyMaterial
(
keyStore
,
"secret"
.
toCharArray
(),
new
PrivateKeyStrategy
()
{
@Override
public
String
chooseAlias
(
Map
<
String
,
PrivateKeyDetails
>
aliases
,
Socket
socket
)
{
return
"spring-boot"
;
}
})
.
build
());
HttpClient
httpClient
=
HttpClients
.
custom
().
setSSLSocketFactory
(
socketFactory
)
HttpClient
httpClient
=
HttpClients
.
custom
().
setSSLSocketFactory
(
socketFactory
)
.
build
();
.
build
();
HttpComponentsClientHttpRequestFactory
requestFactory
=
new
HttpComponentsClientHttpRequestFactory
(
HttpComponentsClientHttpRequestFactory
requestFactory
=
new
HttpComponentsClientHttpRequestFactory
(
...
@@ -523,7 +537,17 @@ public abstract class AbstractServletWebServerFactoryTests {
...
@@ -523,7 +537,17 @@ public abstract class AbstractServletWebServerFactoryTests {
SSLConnectionSocketFactory
socketFactory
=
new
SSLConnectionSocketFactory
(
SSLConnectionSocketFactory
socketFactory
=
new
SSLConnectionSocketFactory
(
new
SSLContextBuilder
()
new
SSLContextBuilder
()
.
loadTrustMaterial
(
null
,
new
TrustSelfSignedStrategy
())
.
loadTrustMaterial
(
null
,
new
TrustSelfSignedStrategy
())
.
loadKeyMaterial
(
keyStore
,
"password"
.
toCharArray
()).
build
());
.
loadKeyMaterial
(
keyStore
,
"password"
.
toCharArray
(),
new
PrivateKeyStrategy
()
{
@Override
public
String
chooseAlias
(
Map
<
String
,
PrivateKeyDetails
>
aliases
,
Socket
socket
)
{
return
"spring-boot"
;
}
})
.
build
());
HttpClient
httpClient
=
HttpClients
.
custom
().
setSSLSocketFactory
(
socketFactory
)
HttpClient
httpClient
=
HttpClients
.
custom
().
setSSLSocketFactory
(
socketFactory
)
.
build
();
.
build
();
HttpComponentsClientHttpRequestFactory
requestFactory
=
new
HttpComponentsClientHttpRequestFactory
(
HttpComponentsClientHttpRequestFactory
requestFactory
=
new
HttpComponentsClientHttpRequestFactory
(
...
@@ -614,7 +638,17 @@ public abstract class AbstractServletWebServerFactoryTests {
...
@@ -614,7 +638,17 @@ public abstract class AbstractServletWebServerFactoryTests {
SSLConnectionSocketFactory
socketFactory
=
new
SSLConnectionSocketFactory
(
SSLConnectionSocketFactory
socketFactory
=
new
SSLConnectionSocketFactory
(
new
SSLContextBuilder
()
new
SSLContextBuilder
()
.
loadTrustMaterial
(
null
,
new
TrustSelfSignedStrategy
())
.
loadTrustMaterial
(
null
,
new
TrustSelfSignedStrategy
())
.
loadKeyMaterial
(
keyStore
,
"password"
.
toCharArray
()).
build
());
.
loadKeyMaterial
(
keyStore
,
"password"
.
toCharArray
(),
new
PrivateKeyStrategy
()
{
@Override
public
String
chooseAlias
(
Map
<
String
,
PrivateKeyDetails
>
aliases
,
Socket
socket
)
{
return
"spring-boot"
;
}
})
.
build
());
HttpClient
httpClient
=
HttpClients
.
custom
().
setSSLSocketFactory
(
socketFactory
)
HttpClient
httpClient
=
HttpClients
.
custom
().
setSSLSocketFactory
(
socketFactory
)
.
build
();
.
build
();
HttpComponentsClientHttpRequestFactory
requestFactory
=
new
HttpComponentsClientHttpRequestFactory
(
HttpComponentsClientHttpRequestFactory
requestFactory
=
new
HttpComponentsClientHttpRequestFactory
(
...
...
spring-boot-project/spring-boot/src/test/resources/test.jks
View file @
4e734669
No preview for this file type
spring-boot-project/spring-boot/src/test/resources/test.p12
View file @
4e734669
No preview for this file type
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment