diff --git a/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/features/external-config.adoc b/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/features/external-config.adoc index f848bc039dc..00c96ea941c 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/features/external-config.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/features/external-config.adoc @@ -1190,6 +1190,22 @@ Doing so gives a transparent upgrade path while supporting a much richer format. +[[features.external-config.typesafe-configuration-properties.conversion.base64]] +==== Converting Base64 Data + +Spring Boot supports resolving binary data that have been Base64 encoded. +If you expose a `Resource` property, the base64 encoded text can be provided as the value with a `base64:` prefix, as shown in the following example: + +[configprops%novalidate,yaml] +---- +my: + property: base64:SGVsbG8gV29ybGQ= +---- + +NOTE: The `Resource` property can also be used to provide the path to the resource, making it more versatile. + + + [[features.external-config.typesafe-configuration-properties.validation]] === @ConfigurationProperties Validation diff --git a/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/features/ssl.adoc b/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/features/ssl.adoc index dab3b00d10c..3b48f470811 100644 --- a/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/features/ssl.adoc +++ b/spring-boot-project/spring-boot-docs/src/docs/antora/modules/reference/pages/features/ssl.adoc @@ -43,6 +43,12 @@ When used to secure a client-side connection, a `truststore` is typically config password: "secret" ---- +[TIP] +==== +Rather than the location to a file, the xref:features/external-config.adoc#features.external-config.typesafe-configuration-properties.conversion.base64[Base64 encoded content] of the file can be provided. +If you chose this options, the value should start with `base64:`. +==== + See javadoc:org.springframework.boot.autoconfigure.ssl.JksSslBundleProperties[] for the full set of supported properties. NOTE: If you're using environment variables to configure the bundle, the name of the bundle is xref:features/external-config.adoc#features.external-config.typesafe-configuration-properties.relaxed-binding.maps-from-environment-variables[always converted to lowercase]. @@ -84,6 +90,9 @@ When used to secure a client-side connection, a `truststore` is typically config [TIP] ==== +Rather than the location to a file, the xref:features/external-config.adoc#features.external-config.typesafe-configuration-properties.conversion.base64[Base64 encoded content] of the file can be provided. +If you chose this options, the value should start with `base64:`. + PEM content can be used directly for both the `certificate` and `private-key` properties. If the property values contain `BEGIN` and `END` markers then they will be treated as PEM content rather than a resource location.