Skip to content

workspace sdk certificates

Andre Lafleur edited this page Apr 24, 2026 · 8 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 will fail. The component will not load, and the user will see 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.
  • Diagnostic logging - Certificate validation failures are logged to the application diagnostics, which can help during development and troubleshooting.
  • 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
TileViewBuilder
TilePropertiesBuilder
DashboardWidgetBuilder
TimelineProvider
EventExtender
BadgePrinter
CardholderFieldsExtractor
CredentialEncoder
CredentialReader
ImageExtractor
IncidentBuilder
MapDesignerTool
MapDesignerWidget
PinnableContentBuilder

Types that do not require a certificate:

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

See also

Platform SDK

Plugin SDK

Workspace SDK

Media SDK

Macro SDK

Web SDK

Media Gateway

Genetec Web Player

Clone this wiki locally