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.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:
|
Version 4.7.0
Date: 2024-11-25
Compatibility Tests
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
Version 4.4.0
Date: 2024-09-27
Compatibility Tests
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.
Version 4.3.0
Version 4.2.1
Version 4.2.0
Date: 2024-07-19
This version contains updates in several third-party libraries.
Compatibility Tests
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.
Version 4.1.0
Version 4.0.0
Date: 2024-06-06
This version contains updates in several third-party libraries.
Compatibility Tests
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.
Version 3.10.0
Version 3.9.0
This version contains updates in several third-party libraries.
Compatibility Tests
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.
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
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.
Version 3.7.0
This version contains updates in several third-party libraries.
Compatibility Tests
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
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.
Version 3.5.0
This version contains updates in several third-party libraries.
Compatibility Tests
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
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 parameteromitArtifacts
with default valuefalse
. If set totrue
, 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.
Version 3.3.0
This version contains updates in several third-party libraries.
Compatibility Tests
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.
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.
-
GenerateKeyPairPermission (48)
-
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. |