back to all blogsSee all blog posts

Support for new changes to SSL certificates in Open Liberty

image of author
Ryan Storey on Jan 20, 2022
Post available in languages:

Open Liberty offers just one new feature, supporting new changes in SSL certificates with urlencoded strings.

All Beta Features package

The All Beta features package for Open Liberty contains all Open Liberty beta features and GA features and functions.

This means that you can now try out our in-development Open Liberty features by just adding the relevant coordinates to your build tools.

If you try the beta package, let us know what you think.

The following beta features are available in

Support new change in the SSL certificate with urlencoded string

An X.509 certificate is a digital certificate that is used to manage identity and security in internet communications and computer networking.

Intermediate servers, such as a web server, proxy server, or load balancer can send X.509 certificates to Open Liberty servers. Due to the deprecation of long lines folding in the HTTP header continuation, some open source intermediate servers might send a client certificate in the Privacy-Enhanced Mail (PEM) url-encoded format.

Open Liberty adds the ability to auto detect and process this new format.

An example of a truncated url-encoded certificate sent to application server:app-name:



  • (1) The header (i.e BEGIN ) and footer (i.e END) information are appended before sending to application server.

  • (2) The encoded character (i.e %) presents in the certificate.

Prior to Open Liberty, this new url-encoded certificate was not supported. Any request with this new format was rejected and the request terminated.

For more information, check out the GitHub issue for this new feature.

Try it now

To try out these features, just update your build tools to pull the Open Liberty All Beta Features package instead of the main release. The beta works with Java SE 17, Java SE 11, or Java SE 8.

If you’re using Maven, here are the coordinates:


Or for Gradle:

dependencies {
    libertyRuntime group: 'io.openliberty.beta', name: 'openliberty-runtime', version: '[,)'

Or take a look at our Downloads page.

Jakarta EE 9 Features

As of the Jakarta EE 9.1 features are now out of beta and fully supported. Check out the release blog post for these features.

Your feedback is welcomed

Let us know what you think on our mailing list. If you hit a problem, post a question on StackOverflow. If you hit a bug, please raise an issue.