Release Notes

Introduction

MTG Certificate Lifecycle Manager Server is a product suite with several components. This section contains the release notes for the following components:

  • MTG Certificate Lifecycle Manager

  • MTG CMP Server

  • MTG EST Server

  • MTG SCEP Server

  • MTG ACME Server

  • MTG ERS CLI Client

  • MTG AEC Server

  • MTG Revocation Info Server

For KMS and CARA refer to the release notes document of each component.

Version 4.9.0

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 26

  • MariaDB 10.6.14

  • PostgreSQL 16

  • Oracle DB 19.3

ERS

  • CARA 2.7.6

MTG Revocation Info Server

  • The server starts up independently of whether CARA is available.

Version 4.8.0

Date: 2024-12-23

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 26.0

  • MariaDB 10.6.14

  • PostgreSQL 16

  • Oracle DB 19.3

ERS

  • CARA 2.7.4

PostgreSQL 12 is not supported anymore.
Database migration during startup of MTG Certificate Lifecycle Manager may take longer than usual. If the application (e.g. logs) seems not responding, this is due to the migration. Please wait appropriately. The application DB user should have the rights to create functions and triggers.
Deprecation of PDF Documentation

Providing documentation in the form of PDF files is deprecated for several ERS components. In the next version of MTG Certificate Lifecycle Manager Server, documentation will only be available at docs.mtg.de in HTML format.

This change affects the following components:

  • MTG Certificate Lifecycle Manager

  • MTG CMP Server

  • MTG EST Server

  • MTG SCEP Server

  • MTG ACME Server

  • MTG ERS CLI Client

  • MTG AEC Server

  • MTG Revocation Info Server

MTG Certificate Lifecycle Manager

  • Several performance enhancements regarding the dashboards have been implemented.

  • The Realm Data section in dashboard has been removed in MTG-CLM UI. Also, the corresponding endpoint has been removed from MTG-CLM.

  • Resolved issues in dashboard of MTG-CLM UI.

MTG AEC Server

  • Several performance enhancements have been realized.

MTG CMP Server

  • Checking revocation of RA-mode certificate.

MTG EST Server

  • The JSON format of error messages has been changed to simple text.

Version 4.7.0

Date: 2024-11-25

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 26.0

  • MariaDB 10.6.14

  • PostgreSQL 12, 16

  • Oracle DB 19.3

ERS

  • CARA 2.7.2

Keycloak update.

MTG Certificate Lifecycle Manager

  • Resolved an issue with preset search values when the lazy user search feature is enabled in MTG-CLM UI.

  • Added a button to the role details page in MTG-CLM UI to navigate to the role details in the Keycloak UI.

MTG AEC Server

  • Attribute mail of AD is provided as property in the end-entity.

MTG EST Server

  • Checking revocation of client certificate, additionally in the authorization layer.

Version 4.6.0

Date: 2024-10-29

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 25.0

  • MariaDB 10.6.14

  • PostgreSQL 12, 16

  • Oracle DB 19.3

ERS

  • CARA 2.7.2

Keycloak update. Some configuration parameters, especially the new hostname or proxy options, need to be adjusted, otherwise keycloak will not start or operate properly. Please consult the keycloak release notes and the official keycloak migration guides.

MTG Certificate Lifecycle Manager

  • Endpoints /admin/import-provider-clients and /admin/import-provider-users have been renamed to /admin/sync-provider-clients and /admin/sync-provider-users, respectively. Additionally, keycloak clients that have been removed using keycloak UI are now gracefully handled when /admin/sync-provider-clients is invoked.

  • Added endpoints that return the roles that provide access to a provided end-entity, policy, certificate request or certificate and added section to display them in details page in MTG-CLM UI.

  • Endpoint /roles/users got replaced with /roles/users/assign and /roles/users/unassign, and /roles/api-clients with /roles/api-clients/assign and /roles/api-clients/unassign, respectively. Role actions were adjusted accordingly in MTG-CLM UI.

  • Added options in role details page to assign/unassign role to multiple users/API clients in MTG-CLM UI.

Version 4.5.0

Date: 2024-10-10

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 24.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

ERS

  • CARA 2.7.2

MTG Certificate Lifecycle Manager

  • Naming method for default realm role has changed. It uses the name of the realm instead of the ID.

Version 4.4.0

Date: 2024-09-27

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 24.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

ERS

  • CARA 2.7.1

MTG Certificate Lifecycle Manager

  • Introduced roles which substitute permissions set directly to user or API clients. In this version permissions are assigned to roles and roles are assigned to users or API clients. See Migration 4.3.0 to 4.4.0 for more details about the migration from the previous version.

  • Introduced realm default roles. See Migration 4.3.0 to 4.4.0 for more details.

  • Added buttons in API client details page for resetting secret and deleting API client in MTG-CLM UI.

  • Deleted deprecated and unused permissions.

  • CockroachDB is not supported anymore.

MTG SCEP Server

  • Added support for decrypting the client message with an RA certificate/private key rather than that of the CA. Also, the response can be signed with the RA certificate/private key.

Version 4.3.0

Date: 2024-08-23

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 24.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

ERS

  • CARA 2.6.0

MTG Certificate Lifecycle Manager

  • The ScepPermission must be set at the application role of the CLM application in CARA, if it is not already set.

  • Several performance enhancements have been realized.

  • The Java built-in HTTP client is used as default instead of the Reactor Netty HTTP client.

Version 4.2.1

Date: 2024-07-30

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 24.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

ERS

  • CARA 2.6.0

MTG Certificate Lifecycle Manager

  • Added option to opt-in java http client instead of reactor netty http client.

Version 4.2.0

Date: 2024-07-19

This version contains updates in several third-party libraries.

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 24.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

ERS

  • CARA 2.6.0

MTG Certificate Lifecycle Manager

  • Added functionality to be able to configure the content of a password, for end-entities, API clients, and private keys.

  • Updates in MTG-CLM UI regarding the PSW - Public CAs certificate provider, to increase usability and user experience.

  • Fixed an issue when importing certificates with the same common name within the same PEM file.

  • Fixed an issue in MTG-CLM UI that prevented to set the active crypto module.

  • Added better error message when an already requested certificate is requested again.

  • Updated bom files to schema version 1.5.

MTG EST Server

  • Updated bom files to schema version 1.5.

MTG SCEP Server

  • SCEP requests can be logged. This is configurable.

  • Updated bom files to schema version 1.5.

MTG AEC Server

  • Updated bom files to schema version 1.5.

MTG CMP Server

  • Updated bom files to schema version 1.5.

MTG ERS CLI Client

  • Updated bom files to schema version 1.5.

MTG Revocation Info Server

  • Updated bom files to schema version 1.5.

Version 4.1.0

Date: 2024-06-21

This version contains updates in several third-party libraries.

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 24.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

ERS

  • CARA 2.6.0

MTG Certificate Lifecycle Manager

  • Added new certificate provider PSW - Public CAs.

  • Removed UI-blocking elements in Dashboard page in MTG-CLM UI.

Version 4.0.0

Date: 2024-06-06

This version contains updates in several third-party libraries.

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 24.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

The following Linux distributions are not supported anymore: Red Hat Enterprise Linux 7 and openSUSE Leap 15.4.

ERS

  • CARA 2.6.0

CLM 4.0 is compatible only with CARA 2.6.0.

MTG Certificate Lifecycle Manager

  • Introduced Crypto Modules used for encryption, decryption, and random number generation. See Migration of 3.10.0 to 4.0.0.

  • Introduced new configuration parameters.

  • Extended HttpClient configurability to prevent memory leaks.

  • Added de-duplication of alerts in MTG-CLM UI.

  • The search filter in users table is not pre-filled by default, instead this behaviour can be configured in MTG-CLM UI.

  • Introduced allowWildcard parameter in CLM Policies to allow/restrict wildcards certificates.

  • Refactored statistics in new, separate API Endpoints.

  • Performance enhancement to Dashboard page in MTG-CLM UI.

Crypto Modules is a significant change in the MTG-CLM. Please become familiar with the various aspects by consulting the documentation.

MTG EST Server

  • Introduced new configuration parameters.

  • Extended HttpClient configurability to prevent memory leaks.

MTG SCEP Server

  • Introduced new configuration parameters.

  • Extended HttpClient configurability to prevent memory leaks.

MTG AEC Server

  • Introduced new configuration parameters.

  • Extended HttpClient configurability to prevent memory leaks.

MTG CMP Server

  • Introduced new configuration parameters.

  • Extended HttpClient configurability to prevent memory leaks.

MTG ACME Server

  • Introduced new configuration parameters.

  • Extended HttpClient configurability to prevent memory leaks.

MTG Revocation Info Server

  • Introduced new configuration parameters.

  • Extended HttpClient configurability to prevent memory leaks.

Version 3.10.0

This version contains updates in several third-party libraries.

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 24.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

Keycloak update.

ERS

  • CARA 2.5.7

MTG Certificate Lifecycle Manager

  • Re-organized cryptographic restrictions section in policy creation/editing.

  • Issue with retrieving the certificate providers for users with non-admin permissions has been fixed.

  • Issue with empty subject distinguished name in certificate fixed.

Version 3.9.0

This version contains updates in several third-party libraries.

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 23.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

ERS

  • CARA 2.5.7

MTG Certificate Lifecycle Manager

  • Fixed issue during certificate creation of more than 10 end-entities. Added pagination at bulk creation.

  • When certificates are imported over MTG-CLM UI, then they are immediately created if the corresponding certificate request is in status APPROVED.

  • Renamed internal directory name of response artifact when multiple certificates are requested.

  • Added the X.509 certificate in the response artifact when multiple certificates with server-generated key are requested.

MTG SCEP Server

  • Additional data contained in the extensions of the PKCS#10 request can be used for issuing the certificate.

  • The shared.secret configuration parameter can be set also as a hexadecimal representation of the SHA-256 hash output of the plain value.

Version 3.8.0

This version contains updates in several third-party libraries. The opening of ephemeral UDP ports for supporting DNS name resolution has been documented.

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 23.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

ERS

  • CARA 2.5.7

MTG Certificate Lifecycle Manager

  • Added a new field to supply the name of the CA in a Microsoft CA certificate provider. This accelerates access to services of Microsoft CA.

  • Read access for CAs is not restricted to users with administrator rights anymore. Any authenticated user has read access.

  • Latest audit events are only fetched for selected realm.

  • The search filter in users table is pre-filled with the ID of the logged-in user. Additionally, users are not fetched after each keystroke, instead they are fetched after pressing Enter.

MTG AEC Server

  • Extended mapping file to support permissions for the use of a template to issue a certificate.

Version 3.7.0

This version contains updates in several third-party libraries.

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 23.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

ERS

  • CARA 2.5.7

MTG Certificate Lifecycle Manager

  • Added new certificate provider Microsoft CA.

  • Download certificate key pair/private key is hidden when not available in MTG-CLM UI.

  • Policies' allowed cryptographic algorithms are restricted by selected certificate provider’s type.

  • Renamed some labels related to certificate providers in MTG-CLM UI.

  • Fixed an issue related to self-signed certificates batch creation.

Version 3.6.0

This version contains updates in several third-party libraries.

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 23.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

ERS

  • CARA 2.5.6

MTG Certificate Lifecycle Manager

  • Fixed certificates' search by expiration date.

  • Dashboard’s Certificates expiring shortly ~ View All in MTG-CLM UI navigates to all realm’s certificates expiring shortly instead of all certificates of the realm.

  • Add search for certificate request based on end-entity’s CN.

MTG EST Server

  • Added support for HTTP-based reverse proxying. AJP is still supported.

  • Configuration parameters have been added and one parameter has been renamed. Please consult the administration manual.

Configuration parameter tomcat.ajp.enable has been renamed to tomcat.ajp.enabled.

MTG ACME Server

  • Added support for HTTP-based reverse proxying. AJP is still supported.

  • Configuration parameter has been renamed. Please consult the administration manual.

Configuration parameter tomcat.ajp.enable has been renamed to tomcat.ajp.enabled.

Version 3.5.0

This version contains updates in several third-party libraries.

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 23.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

Keycloak update.

ERS

  • CARA 2.5.6

MTG Certificate Lifecycle Manager

  • Server responses do not contain user provided secrets and sensitive data.

  • Thorough refactor of permission mechanism to increase performance of the application.

  • Added option to download certificate’s private key in PEM format.

  • Added column Created Date on certificate requests table in MTG-CLM UI.

  • Fixed issues regarding sorting in MTG-CLM UI.

  • Search for end-entities when the policy is provided in search filter have been refactored. Now, all end-entities are returned with an additional property. This property indicates whether the end-entity violates or not the constraints posed be the end-entity rules of the policy. In the MTG-CLM UI, if the end-entity violates the rules then it is displayed, but it cannot be selected.

Version 3.4.0

This version contains updates in several third-party libraries.

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 22.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

ERS

  • CARA 2.5.2

MTG Certificate Lifecycle Manager

  • Updated API endpoint that issues certificates from multiple certificate requests (api/v1/certificates/cert-requests) to handle all certificate requests (PKCS10, Public Key, Server Generated, Self-signed).

  • Updated API endpoint that issues certificates from multiple certificate requests (api/v1/certificates/cert-requests), added optional query parameter omitArtifacts with default value false. If set to true, then no artifacts are included in server response.

  • Updated API endpoint that issues certificates from multiple certificate requests (api/v1/certificates/cert-requests), artifacts are not flat into the zip file, but in a directory named after the corresponding certificate request ID.

MTG EST Server

  • The URLs that use the policy ID are changed, to be consistent to the RFC specification.

Update URLs at the EST client side that use a policy.

MTG SCEP Server

  • Added new application parameter to configure whether the complete chain is included in the SCEP-SuccessResponse.

  • Added new application parameter to configure whether the complete chain is included in the GetCACert response.

MTG ACME Server

  • Fine-granular database transaction handling in challenge requests. This mitigates issues with deadlocks in MariaDB.

MTG AEC Server

  • If the AD account is a computer, then the FQDN is set as CN.

MTG ERS CLI Client

  • Added Edwards-curve Digital Signature Algorithm (EdDSA) support for certificate requests.

Version 3.3.0

This version contains updates in several third-party libraries.

Compatibility Tests

Third-Party

This version has been tested with the following versions of third-party software:

  • Keycloak 22.0

  • MariaDB 10.6.14

  • PostgreSQL 12

  • Oracle DB 19.3

Keycloak update.

ERS

  • CARA 2.5.2

MTG Certificate Lifecycle Manager

  • Added new billing endpoints for active end-entities.

  • Added Edwards-curve Digital Signature Algorithm (EdDSA) support for PKCS10, public key, self-signed and server generated certificates.

  • Added signed audit logging for calls to the API.

MTG AEC Server

  • Added policy and template handling to drop requirement on Windows Microsoft CA, CEP, and CES.

  • New parameter allows to configure the SASL protection modes.

MTG ACME Server

  • More specific instead of a generic error on policy violation is sent to the client.

  • Default value has been provided for one configuration property.

Older versions

For versions older than version 3.2.1 see the respective release notes of each component.

Appendix A: Migration 4.3.0 to 4.4.0

Until version 4.3.0, each security identity was correlated with a set of permissions. In version 4.4.0 a role is correlated with a set of permissions. When CLM starts it migrates data. You need to make sure that keycloak is running. During migration, a single role is created for each unique permission set. This role is associated to corresponding security identities. If two or more security identities have exact the same permissions set, then a single role is added to CLM and is associated with the security identities. The migrated roles have the name CLM_MIGRATED_ROLE_N, where N is an increasing number. You may rename the migrated roles to better reflect your use case. If a permission set contains the ADMIN global permission, then the default CLM_ADMIN role is associated with the security identity. Regardless of the state of the CLM application prior to migration, the roles CLM_ADMIN and KC_ADMIN will be correctly configured and stored to Keycloak application after migration completes.

For each realm a new default role is also created. This default role has as default the global permissions APICLIENTS_READ, USERS_READ and in the realm the permissions FULL_READ, ENDENTITIES_CREATE,POLICIES_CERTS_CREATE, POLICIES_CERTS_REVOKE. This role is automatically assigned to API clients that are going to be created in the future. Older API clients are not assigned to this role. They are migrated as described above. You can assign to them this new role over the application.

Migration of 3.10.0 to 4.0.0

Before starting CLM 4.0.0 for the first time you should configure CARA to support the new functions of CLM.

Permissions

Following permissions for the CLM application should be added to CARA.

  1. GenerateKeyPairPermission (48)

  2. GenerateRandomPermission (95)

Root certificate for encryption

Since version 4.0.0, new key pairs of end-entities are never stored in CARA but in the CLM. In order to store them encrypted in the CLM database, a root certificate used exclusively for encryption must be created in CARA. First you must create a root CA with an RSA key pair. You may choose an HSM-based or software-based device to generate the key pair for this root. You may also choose an appropriate RSA key size that satisfies your security policy. When the root CA certificate is created you must take the ID of this CA certificate and configure it to a new configuration property for the CLM application. For this, go to CARA UI and choose VCA ~ Choose correct Frontend ~ Frontends ~ Konfigurieren ~ Choose correct application. Then, place the new property clm.encryption.root.cert.id with value the ID of the newly created CA.

If the private key is deleted/destroyed from the HSM/Database of CARA, then it is not possible to restore the private keys stored in CLM.

Automatic creation of crypto module

When CLM starts for the first time, it checks if the configuration property crypto.module.builtin.default is set to true. It also checks if the built-in provider password, provided in the configuration property crypto.module.builtin.password, is non-empty. Then, a built-in crypto module is configured and is set as the active crypto module of CLM. Otherwise, if there is a CARA certificate provider configured in CLM, then a CARA-based crypto module is configured and is set as the active crypto module of CLM. Finally, if there is no CARA provider present but the password is present, then a built-in crypto module is configured and is set as the active crypto module of CLM.

As long as no active crypto module exists (or is misconfigured), it is not possible to create key pairs in CLM.