This workflow is started if the CertificateManager determines that an update to one or more Certificates used for an existing Endpoints is required. It is shown in Figure 17. The boxes with blue text indicate Method calls.

image020.png

Figure 17 – PushManagement Update Multiple Certificates Workflow

The steps of the workflow are described in Table 22.

Table 22 – PushManagement Update Workflow Steps

Step

Description

Initial Conditions

The update is triggered when the CertificateManager becomes aware that one or more Certificates need to be updated. Possible trigger mechanisms include:

  • A trigger set based on Certificate expiry time;
  • Manual intervention by an Administrator;
  • Periodic changes triggered by policy.

The CertificateManager needs to have a DiscoveryUrl for the Server and should already trust at least one existing Certificate.

It also needs the NodeId of the ApplicationConfigurationType instance being updated or the ApplicationUri for the Application being updated. This is either the well-known ServerConfiguration Object or one of the ApplicationConfigurationType instances in the ManagedApplications Folder.

The list of CertificateGroups to update may be specified by an administrator or discovered by browsing a ApplicationConfigurationType instance. Only CertificateGroups with an ApplicationCertificateType Purpose are considered.

The CertificateManager needs credentials that will have access to the SecurityAdmin Role on the Server.

Connect

The CertificateManager creates a secure connection using encryption and a Session with the Server. The Session requires access to the SecurityAdmin Role or equivalent.

Possible credentials used to authenticate the CertificateManager are:

Update TrustList Workflow

The steps involved in updating the Certificate are described in the Update TrustList workflow.

For each CertificateGroup the TrustList is updated first. The updates shall include all issuers and CRLs needed to validate any new Certificates assigned to the CertificateGroup.

If the CertificateManager needs to connect using an Endpoint associated with the CertificateGroup then the TrustList update shall include all Certificates needed to trust the CertificateManager.

An application being configured via the ManagedApplications Folder does not need to trust the CertificateManager

Certificate Update Required?

For each CertificateType in a CertificateGroup the CertificateManager must determine if an update is required. This is usually based on any of the checks that triggered the workflow in the first place. For example, a Certificate close to its expiry date needs to be updated.

Update Single Certificate Workflow

The steps involved in updating the Certificate are described in the Update Single Certificate workflow.

The Certificate update process may take time or require approval by an administrator so the CertificateManager may start multiple updates in parallel.

Apply Changes Required?

For each CertificateGroup it may be necessary to call ApplyChanges once the Certificate Update workflow completes. ApplyChanges is required if one or more if the Methods calls returns applyChangesRequired=TRUE.

This step may cause the Server to close its Endpoints and force all Clients to reconnect. If this happens the CertificateManager may need to use the new Certificate to re-establish a Session with the Server.

Disconnect

Disconnect from Server.