Merge pull request #39137 from amparab
* gh-39137: Polish "Improve toString of SslBundle implementations" Improve toString of SslBundle implementations Closes gh-39137
This commit is contained in:
		
						commit
						4949ffdebe
					
				| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2012-2023 the original author or authors.
 | 
			
		||||
 * Copyright 2012-2024 the original author or authors.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			@ -26,6 +26,7 @@ import org.springframework.boot.ssl.jks.JksSslStoreBundle;
 | 
			
		|||
import org.springframework.boot.ssl.jks.JksSslStoreDetails;
 | 
			
		||||
import org.springframework.boot.ssl.pem.PemSslStoreBundle;
 | 
			
		||||
import org.springframework.boot.ssl.pem.PemSslStoreDetails;
 | 
			
		||||
import org.springframework.core.style.ToStringCreator;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * {@link SslBundle} backed by {@link JksSslBundleProperties} or
 | 
			
		||||
| 
						 | 
				
			
			@ -128,4 +129,14 @@ public final class PropertiesSslBundle implements SslBundle {
 | 
			
		|||
				properties.getPassword());
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public String toString() {
 | 
			
		||||
		ToStringCreator creator = new ToStringCreator(this);
 | 
			
		||||
		creator.append("key", this.key);
 | 
			
		||||
		creator.append("options", this.options);
 | 
			
		||||
		creator.append("protocol", this.protocol);
 | 
			
		||||
		creator.append("stores", this.stores);
 | 
			
		||||
		return creator.toString();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2012-2023 the original author or authors.
 | 
			
		||||
 * Copyright 2012-2024 the original author or authors.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			@ -20,6 +20,7 @@ import javax.net.ssl.KeyManager;
 | 
			
		|||
import javax.net.ssl.SSLContext;
 | 
			
		||||
import javax.net.ssl.TrustManager;
 | 
			
		||||
 | 
			
		||||
import org.springframework.core.style.ToStringCreator;
 | 
			
		||||
import org.springframework.util.StringUtils;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -160,6 +161,16 @@ public interface SslBundle {
 | 
			
		|||
				return managersToUse;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			@Override
 | 
			
		||||
			public String toString() {
 | 
			
		||||
				ToStringCreator creator = new ToStringCreator(this);
 | 
			
		||||
				creator.append("key", getKey());
 | 
			
		||||
				creator.append("options", getOptions());
 | 
			
		||||
				creator.append("protocol", getProtocol());
 | 
			
		||||
				creator.append("stores", getStores());
 | 
			
		||||
				return creator.toString();
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2012-2023 the original author or authors.
 | 
			
		||||
 * Copyright 2012-2024 the original author or authors.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			@ -19,6 +19,7 @@ package org.springframework.boot.ssl;
 | 
			
		|||
import java.security.KeyStore;
 | 
			
		||||
import java.security.KeyStoreException;
 | 
			
		||||
 | 
			
		||||
import org.springframework.core.style.ToStringCreator;
 | 
			
		||||
import org.springframework.util.Assert;
 | 
			
		||||
import org.springframework.util.StringUtils;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -94,6 +95,14 @@ public interface SslBundleKey {
 | 
			
		|||
				return alias;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			@Override
 | 
			
		||||
			public String toString() {
 | 
			
		||||
				ToStringCreator creator = new ToStringCreator(this);
 | 
			
		||||
				creator.append("alias", alias);
 | 
			
		||||
				creator.append("password", (password != null) ? "******" : null);
 | 
			
		||||
				return creator.toString();
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2012-2023 the original author or authors.
 | 
			
		||||
 * Copyright 2012-2024 the original author or authors.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			@ -24,6 +24,8 @@ import java.util.Set;
 | 
			
		|||
 | 
			
		||||
import javax.net.ssl.SSLEngine;
 | 
			
		||||
 | 
			
		||||
import org.springframework.core.style.ToStringCreator;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Configuration options that should be applied when establishing an SSL connection.
 | 
			
		||||
 *
 | 
			
		||||
| 
						 | 
				
			
			@ -81,6 +83,14 @@ public interface SslOptions {
 | 
			
		|||
				return enabledProtocols;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			@Override
 | 
			
		||||
			public String toString() {
 | 
			
		||||
				ToStringCreator creator = new ToStringCreator(this);
 | 
			
		||||
				creator.append("ciphers", ciphers);
 | 
			
		||||
				creator.append("enabledProtocols", enabledProtocols);
 | 
			
		||||
				return creator.toString();
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2012-2023 the original author or authors.
 | 
			
		||||
 * Copyright 2012-2024 the original author or authors.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			@ -18,6 +18,8 @@ package org.springframework.boot.ssl;
 | 
			
		|||
 | 
			
		||||
import java.security.KeyStore;
 | 
			
		||||
 | 
			
		||||
import org.springframework.core.style.ToStringCreator;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * A bundle of key and trust stores that can be used to establish an SSL connection.
 | 
			
		||||
 *
 | 
			
		||||
| 
						 | 
				
			
			@ -75,6 +77,15 @@ public interface SslStoreBundle {
 | 
			
		|||
				return keyStorePassword;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			@Override
 | 
			
		||||
			public String toString() {
 | 
			
		||||
				ToStringCreator creator = new ToStringCreator(this);
 | 
			
		||||
				creator.append("keyStore.type", (keyStore != null) ? keyStore.getType() : "none");
 | 
			
		||||
				creator.append("keyStorePassword", (keyStorePassword != null) ? "******" : null);
 | 
			
		||||
				creator.append("trustStore.type", (trustStore != null) ? trustStore.getType() : "none");
 | 
			
		||||
				return creator.toString();
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		};
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2012-2023 the original author or authors.
 | 
			
		||||
 * Copyright 2012-2024 the original author or authors.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			@ -26,6 +26,7 @@ import java.security.NoSuchProviderException;
 | 
			
		|||
import java.security.cert.CertificateException;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.ssl.SslStoreBundle;
 | 
			
		||||
import org.springframework.core.style.ToStringCreator;
 | 
			
		||||
import org.springframework.util.Assert;
 | 
			
		||||
import org.springframework.util.ResourceUtils;
 | 
			
		||||
import org.springframework.util.StringUtils;
 | 
			
		||||
| 
						 | 
				
			
			@ -123,4 +124,14 @@ public class JksSslStoreBundle implements SslStoreBundle {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public String toString() {
 | 
			
		||||
		ToStringCreator creator = new ToStringCreator(this);
 | 
			
		||||
		creator.append("keyStore.type", (this.keyStore != null) ? this.keyStore.getType() : "none");
 | 
			
		||||
		String keyStorePassword = getKeyStorePassword();
 | 
			
		||||
		creator.append("keyStorePassword", (keyStorePassword != null) ? "******" : null);
 | 
			
		||||
		creator.append("trustStore.type", (this.trustStore != null) ? this.trustStore.getType() : "none");
 | 
			
		||||
		return creator.toString();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2012-2023 the original author or authors.
 | 
			
		||||
 * Copyright 2012-2024 the original author or authors.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			@ -22,6 +22,7 @@ import java.security.PrivateKey;
 | 
			
		|||
import java.security.cert.X509Certificate;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.ssl.SslStoreBundle;
 | 
			
		||||
import org.springframework.core.style.ToStringCreator;
 | 
			
		||||
import org.springframework.util.Assert;
 | 
			
		||||
import org.springframework.util.StringUtils;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -110,4 +111,13 @@ public class PemSslStoreBundle implements SslStoreBundle {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public String toString() {
 | 
			
		||||
		ToStringCreator creator = new ToStringCreator(this);
 | 
			
		||||
		creator.append("keyStore.type", (this.keyStore != null) ? this.keyStore.getType() : "none");
 | 
			
		||||
		creator.append("keyStorePassword", null);
 | 
			
		||||
		creator.append("trustStore.type", (this.trustStore != null) ? this.trustStore.getType() : "none");
 | 
			
		||||
		return creator.toString();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,6 +29,7 @@ import org.springframework.boot.ssl.jks.JksSslStoreBundle;
 | 
			
		|||
import org.springframework.boot.ssl.jks.JksSslStoreDetails;
 | 
			
		||||
import org.springframework.boot.ssl.pem.PemSslStoreBundle;
 | 
			
		||||
import org.springframework.boot.ssl.pem.PemSslStoreDetails;
 | 
			
		||||
import org.springframework.core.style.ToStringCreator;
 | 
			
		||||
import org.springframework.util.Assert;
 | 
			
		||||
import org.springframework.util.StringUtils;
 | 
			
		||||
import org.springframework.util.function.ThrowingSupplier;
 | 
			
		||||
| 
						 | 
				
			
			@ -223,6 +224,16 @@ public final class WebServerSslBundle implements SslBundle {
 | 
			
		|||
				|| (ssl.getTrustStoreType() != null && ssl.getTrustStoreType().equals("PKCS11")));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public String toString() {
 | 
			
		||||
		ToStringCreator creator = new ToStringCreator(this);
 | 
			
		||||
		creator.append("key", this.key);
 | 
			
		||||
		creator.append("protocol", this.protocol);
 | 
			
		||||
		creator.append("stores", this.stores);
 | 
			
		||||
		creator.append("options", this.options);
 | 
			
		||||
		return creator.toString();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Class to adapt a {@link SslStoreProvider} into a {@link SslStoreBundle}.
 | 
			
		||||
	 */
 | 
			
		||||
| 
						 | 
				
			
			@ -250,6 +261,17 @@ public final class WebServerSslBundle implements SslBundle {
 | 
			
		|||
			return ThrowingSupplier.of(this.sslStoreProvider::getTrustStore).get();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		@Override
 | 
			
		||||
		public String toString() {
 | 
			
		||||
			ToStringCreator creator = new ToStringCreator(this);
 | 
			
		||||
			KeyStore keyStore = getKeyStore();
 | 
			
		||||
			creator.append("keyStore.type", (keyStore != null) ? keyStore.getType() : "none");
 | 
			
		||||
			creator.append("keyStorePassword", null);
 | 
			
		||||
			KeyStore trustStore = getTrustStore();
 | 
			
		||||
			creator.append("trustStore.type", (trustStore != null) ? trustStore.getType() : "none");
 | 
			
		||||
			return creator.toString();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private static final class WebServerSslStoreBundle implements SslStoreBundle {
 | 
			
		||||
| 
						 | 
				
			
			@ -282,6 +304,15 @@ public final class WebServerSslBundle implements SslBundle {
 | 
			
		|||
			return this.keyStorePassword;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		@Override
 | 
			
		||||
		public String toString() {
 | 
			
		||||
			ToStringCreator creator = new ToStringCreator(this);
 | 
			
		||||
			creator.append("keyStore.type", (this.keyStore != null) ? this.keyStore.getType() : "none");
 | 
			
		||||
			creator.append("keyStorePassword", (this.keyStorePassword != null) ? "******" : null);
 | 
			
		||||
			creator.append("trustStore.type", (this.trustStore != null) ? this.trustStore.getType() : "none");
 | 
			
		||||
			return creator.toString();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue