Skip to content

workspace sdk certificates

Andre Lafleur edited this page Oct 8, 2026 · 13 revisions

About Workspace SDK certificates

Workspace SDK integrations may include multiple components. Some of these components require a certificate, while others do not.

Use this page when you need to determine whether a Workspace extension type consumes certificate instances and how to package the required .cert files for deployment.

Each component that requires a certificate must have its own .cert file. The filename must match the fully qualified class name of the component, with a .cert extension. All certificate files must be placed in a Certificates folder alongside the Workspace integration binaries.

It is common to reuse the same certificate content across components. The filenames must be distinct, but the ApplicationId inside each file may be identical.

How workspace components consume certificate instances

When a user opens a Workspace component that requires a certificate (such as a custom page or dashboard widget), the system registers that certificate. Each registration consumes one instance from the certificate's licensed connection count.

The Security Center license defines a maximum number of concurrent instances allowed for each certificate. This limit applies across all users and all client applications system-wide.

Example: If your certificate allows 10 concurrent instances:

  • User A opens your dashboard widget in Security Desk: 1 instance consumed (9 remaining).
  • User B opens the same dashboard widget in Security Desk: 2 instances consumed (8 remaining).
  • User A opens a second monitor with the same widget: 3 instances consumed (7 remaining).
  • When User A closes the widget, the instance is released and becomes available again.

When the instance limit is reached, any additional attempt to open the component fails. The component does not load, and the user sees an error indicating the instance count has been exceeded.

Important

Unlike Platform SDK applications where one Engine.LogOn() call consumes one connection, Workspace components consume instances per opened component, per user. A single user can consume multiple instances by opening the same component in multiple monitors or opening multiple certificate-requiring components.

Certificate file naming

The certificate file must be named after the fully qualified class name of the component, followed by .cert:

{Namespace}.{ClassName}.cert

Example

Given the component class:

namespace Genetec.Dap.CodeSamples
{
    public class CameraTilePropertiesBuilder : TilePropertiesBuilder
    {
    }
}

The certificate file must be named:

Genetec.Dap.CodeSamples.CameraTilePropertiesBuilder.cert

Certificate location

Certificate files must be placed in a Certificates folder alongside the Workspace integration DLL:

YourWorkspaceModule.dll
└── Certificates/
    ├── Genetec.Dap.CodeSamples.CameraTilePropertiesBuilder.cert
    ├── Genetec.Dap.CodeSamples.CustomDashboardWidget.cert
    └── Genetec.Dap.CodeSamples.CustomPage.cert

Note

In Workspace integrations, you cannot set the certificate using Engine.ClientCertificate. Each required component must have its .cert file named and placed correctly. See Development vs production certificates for the development certificate ApplicationId.

Missing or invalid certificates

When a workspace component has a missing or invalid certificate, the behavior differs from Platform SDK and Plugin SDK:

  • Component is silently excluded - The workspace does not crash or throw an exception. Components with certificate issues are simply not loaded.
  • Custom pages - When a user attempts to open a custom page with a missing or invalid certificate, a warning dialog appears indicating the page cannot be loaded.
  • Other components - Tile builders, dashboard widgets, and other components with certificate issues do not appear in the workspace at all. There is no visible indication to end users.
  • No component-specific log entry - A component excluded for a certificate problem produces no diagnostic entry of its own. During development, check the certificate filename, its location, and the licensed ApplicationId directly.
  • Graceful degradation - The rest of the workspace continues to function normally. Only the affected components are unavailable.

This behavior allows partial functionality when some components have valid certificates and others do not.

Visibility of certificate usage

Workspace SDK certificate usage is not visible in the Security Center user interface.

  • The System Status > Applications task only shows the hosting client application (Security Desk or Config Tool), not individual Workspace components.
  • There is no built-in UI to display which Workspace components are currently consuming certificate instances or how many instances remain available.
  • To determine certificate usage, you must track how many users have the component open across the system.

Certificate requirements by component type

Most Workspace SDK component types require certificates. Only specific types are exempt.

Types that require a certificate:

Type Notes
Page Excluding ConfigPage and ReportPage
TilePage Subclass of Page
TileWidgetBuilder No additional notes
TileViewBuilder No additional notes
TilePropertiesBuilder No additional notes
DashboardWidgetBuilder No additional notes
TimelineProviderBuilder No additional notes
ContentBuilder No additional notes
LogonProvider Checked after the client logs on
BadgePrinter No additional notes
CardholderFieldsExtractor No additional notes
CredentialEncoder No additional notes
CredentialReader No additional notes
ImageExtractor No additional notes
IncidentBuilder No additional notes
PinnableContentBuilder No additional notes

Types that do not require a certificate:

Type
ConfigPage
ContextualAction
ContextualActionGroup
CustomActionBuilder
EventExtender
IService
MapImporter
MapLayerBuilder
MapObjectProvider
MapObjectViewBuilder
MapPanelBuilder
MapSearcher
Notification
OptionPage
OptionsExtension
ReportPage
Task

See also

Platform SDK

Plugin SDK

Workspace SDK

Media SDK

Macro SDK

Web SDK

Synergis RIO

Media Gateway

Genetec Web Player

Clone this wiki locally