Skip to content

Commit 26ff18f

Browse files
committed
Merge branch '2.1.x' into 2.2.x
2 parents c3ae8bc + accd830 commit 26ff18f

File tree

2 files changed

+25
-36
lines changed
  • spring-boot-project

2 files changed

+25
-36
lines changed

spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/recursive/RecursiveProperties.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2012-2018 the original author or authors.
2+
* Copyright 2012-2019 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/netty/SslServerCustomizer.java

Lines changed: 24 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,9 @@
2424
import java.security.NoSuchAlgorithmException;
2525
import java.security.Principal;
2626
import java.security.PrivateKey;
27-
import java.security.Provider;
2827
import java.security.UnrecoverableKeyException;
2928
import java.security.cert.X509Certificate;
3029
import java.util.Arrays;
31-
import java.util.stream.Collectors;
3230

3331
import javax.net.ssl.KeyManager;
3432
import javax.net.ssl.KeyManagerFactory;
@@ -110,7 +108,7 @@ protected KeyManagerFactory getKeyManagerFactory(Ssl ssl, SslStoreProvider sslSt
110108
KeyStore keyStore = getKeyStore(ssl, sslStoreProvider);
111109
KeyManagerFactory keyManagerFactory = (ssl.getKeyAlias() == null)
112110
? KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm())
113-
: ConfigurableAliasKeyManagerFactory.instance(ssl.getKeyAlias(),
111+
: new ConfigurableAliasKeyManagerFactory(ssl.getKeyAlias(),
114112
KeyManagerFactory.getDefaultAlgorithm());
115113
char[] keyPassword = (ssl.getKeyPassword() != null) ? ssl.getKeyPassword().toCharArray() : null;
116114
if (keyPassword == null && ssl.getKeyStorePassword() != null) {
@@ -188,36 +186,31 @@ private KeyStore loadStore(String type, String provider, String resource, String
188186
*/
189187
private static final class ConfigurableAliasKeyManagerFactory extends KeyManagerFactory {
190188

191-
private static ConfigurableAliasKeyManagerFactory instance(String alias, String algorithm)
192-
throws NoSuchAlgorithmException {
193-
KeyManagerFactory originalFactory = KeyManagerFactory.getInstance(algorithm);
194-
ConfigurableAliasKeyManagerFactorySpi spi = new ConfigurableAliasKeyManagerFactorySpi(originalFactory,
195-
alias);
196-
return new ConfigurableAliasKeyManagerFactory(spi, originalFactory.getProvider(), algorithm);
189+
private ConfigurableAliasKeyManagerFactory(String alias, String algorithm) throws NoSuchAlgorithmException {
190+
this(KeyManagerFactory.getInstance(algorithm), alias, algorithm);
197191
}
198192

199-
private ConfigurableAliasKeyManagerFactory(ConfigurableAliasKeyManagerFactorySpi spi, Provider provider,
200-
String algorithm) {
201-
super(spi, provider, algorithm);
193+
public ConfigurableAliasKeyManagerFactory(KeyManagerFactory delegate, String alias, String algorithm) {
194+
super(new ConfigurableAliasKeyManagerFactorySpi(delegate, alias), delegate.getProvider(), algorithm);
202195
}
203196

204197
}
205198

206199
private static final class ConfigurableAliasKeyManagerFactorySpi extends KeyManagerFactorySpi {
207200

208-
private KeyManagerFactory originalFactory;
201+
private final KeyManagerFactory delegate;
209202

210-
private String alias;
203+
private final String alias;
211204

212-
private ConfigurableAliasKeyManagerFactorySpi(KeyManagerFactory originalFactory, String alias) {
213-
this.originalFactory = originalFactory;
205+
private ConfigurableAliasKeyManagerFactorySpi(KeyManagerFactory delegate, String alias) {
206+
this.delegate = delegate;
214207
this.alias = alias;
215208
}
216209

217210
@Override
218211
protected void engineInit(KeyStore keyStore, char[] chars)
219212
throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException {
220-
this.originalFactory.init(keyStore, chars);
213+
this.delegate.init(keyStore, chars);
221214
}
222215

223216
@Override
@@ -228,69 +221,65 @@ protected void engineInit(ManagerFactoryParameters managerFactoryParameters)
228221

229222
@Override
230223
protected KeyManager[] engineGetKeyManagers() {
231-
return Arrays.stream(this.originalFactory.getKeyManagers()).filter(X509ExtendedKeyManager.class::isInstance)
232-
.map(X509ExtendedKeyManager.class::cast).map(this::wrapKeyManager).collect(Collectors.toList())
233-
.toArray(new KeyManager[0]);
224+
return Arrays.stream(this.delegate.getKeyManagers()).filter(X509ExtendedKeyManager.class::isInstance)
225+
.map(X509ExtendedKeyManager.class::cast).map(this::wrap).toArray(KeyManager[]::new);
234226
}
235227

236-
private ConfigurableAliasKeyManager wrapKeyManager(X509ExtendedKeyManager km) {
237-
return new ConfigurableAliasKeyManager(km, this.alias);
228+
private ConfigurableAliasKeyManager wrap(X509ExtendedKeyManager keyManager) {
229+
return new ConfigurableAliasKeyManager(keyManager, this.alias);
238230
}
239231

240232
}
241233

242234
private static final class ConfigurableAliasKeyManager extends X509ExtendedKeyManager {
243235

244-
private final X509ExtendedKeyManager keyManager;
236+
private final X509ExtendedKeyManager delegate;
245237

246238
private final String alias;
247239

248240
private ConfigurableAliasKeyManager(X509ExtendedKeyManager keyManager, String alias) {
249-
this.keyManager = keyManager;
241+
this.delegate = keyManager;
250242
this.alias = alias;
251243
}
252244

253245
@Override
254246
public String chooseEngineClientAlias(String[] strings, Principal[] principals, SSLEngine sslEngine) {
255-
return this.keyManager.chooseEngineClientAlias(strings, principals, sslEngine);
247+
return this.delegate.chooseEngineClientAlias(strings, principals, sslEngine);
256248
}
257249

258250
@Override
259251
public String chooseEngineServerAlias(String s, Principal[] principals, SSLEngine sslEngine) {
260-
if (this.alias == null) {
261-
return this.keyManager.chooseEngineServerAlias(s, principals, sslEngine);
262-
}
263-
return this.alias;
252+
return (this.alias != null) ? this.alias : this.delegate.chooseEngineServerAlias(s, principals, sslEngine);
264253
}
265254

266255
@Override
267256
public String chooseClientAlias(String[] keyType, Principal[] issuers, Socket socket) {
268-
return this.keyManager.chooseClientAlias(keyType, issuers, socket);
257+
return this.delegate.chooseClientAlias(keyType, issuers, socket);
269258
}
270259

271260
@Override
272261
public String chooseServerAlias(String keyType, Principal[] issuers, Socket socket) {
273-
return this.keyManager.chooseServerAlias(keyType, issuers, socket);
262+
return this.delegate.chooseServerAlias(keyType, issuers, socket);
274263
}
275264

276265
@Override
277266
public X509Certificate[] getCertificateChain(String alias) {
278-
return this.keyManager.getCertificateChain(alias);
267+
return this.delegate.getCertificateChain(alias);
279268
}
280269

281270
@Override
282271
public String[] getClientAliases(String keyType, Principal[] issuers) {
283-
return this.keyManager.getClientAliases(keyType, issuers);
272+
return this.delegate.getClientAliases(keyType, issuers);
284273
}
285274

286275
@Override
287276
public PrivateKey getPrivateKey(String alias) {
288-
return this.keyManager.getPrivateKey(alias);
277+
return this.delegate.getPrivateKey(alias);
289278
}
290279

291280
@Override
292281
public String[] getServerAliases(String keyType, Principal[] issuers) {
293-
return this.keyManager.getServerAliases(keyType, issuers);
282+
return this.delegate.getServerAliases(keyType, issuers);
294283
}
295284

296285
}

0 commit comments

Comments
 (0)