Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Smart ID 23.10.6: Updates for “Desktop App: Create Virtual Smart Card Key“ and “Desktop App: Install Certificates on Virtual Smart Card“ (aux certs).
Info

This article includes updates for Smart ID 23.04.2 and Smart ID Desktop App 2.0.10.6

Mobile App: Create Key

Description

Use this task to provision a new profile or update an existing one, overwriting existing keys. The task will create the keys needed for the "Mobile App: Install certificates" task.

...

Info

Smart ID Mobile App will sign the request data and Identity Manager will verify the mobile client's data signature using the attestation key. The attestation key is configured in the task's attestationKeySet parameter and in the Sign and encrypt engine in Identity Manager.

If the verification fails, the task will not accept the data but set two process variables instead:

  • The errorTypeField (see the parameters below) will be set to "HERMOD_ERROR_JWT_SIGNATURE". Use this in your process design to react to validation errors.

  • The errorMessageField (see the parameters below) will contain a more descriptive message

Configuration

To use this task, configure the following delegate expression in your service task:

...

The following parameters can be configured in Identity Manager Admin:

Parameter

Mandatory

Value

Description

messagingServer

(tick)

Example value:

  • MessagingServer

The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

messageName

(tick)

Example value:

  • p10PreparationCallback

The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

userid

(tick)

Example value:

  • ${Person_Email}

ID representing the user on the messaging server. This will be displayed in the profile on the mobile app to verify the correct data is provided.

A common approach is to use the user's email address.

errorMessageField

(tick)

Example value:

  • ErrorMessage

Process variable to put the error message in case of failure.

errorTypeField

(tick)

Example value: 

  • ErrorType

Process variable to put the error type in case of failure.

signCertificateTemplate

-

Signature certificate template.

authCertificateTemplate

-

Authentication certificate template.

profileName

If new profile

Leave empty (when updating a profile)

Profile name for Smart ID Messaging. Will be displayed in the Smart ID Mobile App. Leave empty if you want to update an existing profile.

serverName

If new profile

Example value: 

  • Smart ID

Name of the server that issued the provisioning request. This is for the user to understand where the profile comes from. 

attestationKeySet

-

(If not set will default to "ATTESTATION")

Example value:

  • ATTESTATION (default value)

The name of the attestation key that will be used for signing (by the client) and validating (by Identity Manager) the mobile client's data. The available values are the names of the descriptors in the sign and encrypt engine that start with "att_", without this prefix. An attestation key with the same name must be defined in Smart ID Mobile App/MDM device.

Default value is "ATTESTATION" when no descriptor value is provided.

qrResultField

If new profile

Example value:

  • QR_CODE_VAR

Process variable to put the resulting url. This url may be converted to a QR-Code for the Smart ID Mobile App by using GenerateQRCodeParametrizedAction.

profileId

If update profile

Leave empty (for new profile)

Id of the Smart ID Mobile App profile that will be updated with new keys. Leave empty if you want to provision a new profile.

storagePriority

(tick)

Valid values:

  • APP (for Smart ID Mobile App, default)

  • EXT (for Mobile Iron device)

  • MDM (replaced by EXT, but still supported)

Storage priority of certificates. MDM is replaced by EXT, however MDM is still supported.

visualIdLayout

If using visual ID

Example value:

  • Default Layout

The layout to be used for creating the visual ID. If there is a juel expression configured for the front or backside image, this will take precedence over the statically configured image. If there is no image found for the juel expression, and there is no statically configured image, the task will fail.

cardDatapool

If using visual ID

Example value:

  • PcmDpPersonalMobile

 The datapool used for saving the mobile ID profile.

contentId

If using visual ID

Example value:

  • ${GeneratedContentId}

 A unique ID in UUID format, which will be associated with the personal mobile profile. Can be generated with the service task "MISC: Generate Random GUID into Data Map Field".

Mobile App: Install Certificates

Description 

Use this task to request and install certificates that were prepared using the "Mobile App: Create Key" task.

...

  • Signature Certificate, will be bound to the key pair created by "Mobile App: Create Key".

  • Authentication Certificate, will be bound to the key pair created by "Mobile App: Create Key".

  • Device Encryption Certificate, will be bound to the key pair created by "Mobile App: Create Key".

  • Encryption Certificate created with key archival.

  • Any number of recovered certificates.

Configuration

To use this task, configure the following delegate expression in your service task:

...

The following parameters can be configured in Identity Manager Admin: 

Parameter

Mandatory

Value

Description

messagingServer

(tick)

The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

messageName

(tick)

p10FinishedCallback

The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

userid

(tick)

${Person_Email}

ID representing the user on the messaging server. This must match the userid provided when the profile was requested.

errorMessageField

(tick)

ErrorMessage

Process variable to put the error message in case of failure.

errorTypeField

(tick)

ErrorType

Process variable to put the error type in case of failure.

signatureCertificate

-

${SIG_VAR}

The signature certificate.

authenticationCertificate

-

${AUTH_VAR}

The authentication certificate.

deviceEncryptionP10

(tick)

${DEVICE_ENC_P10_VAR}

The PKCS#10 request for the Device Encryption Certificate, created by the "Mobile App: Create Key" task.

profileId

(tick)

${profileId}

The id of the profile under which to store the certificates. This is initially provided by the "Mobile App: Create Key" task.

encryptionCertificate

-

Encryption certificate template.

recoveryCertificate

-

Recovery certificate template.

processVariable

-

Certificate_CoreObjects

Variable name which holds Core object ids list or Core object descriptor list of certificates to be recovered.

p12PasswordField

(tick)

profilePassword

Reference field where the created password is stored. This password is used for all PKCS#12 containers in this communication. There are a number of actions for creating passwords.

storagePriority

(tick)

Valid values:

  • APP (for Smart ID Mobile App, default)

  • EXT (for Mobile Iron device)

  • MDM (replaced by EXT, but still supported)

Storage priority of encryption certificates. MDM is replaced by EXT, however MDM is still supported.

Mobile App: Delete Profile

Description

Use this task to delete a profile managed by Smart ID Desktop App. It can also delete all Smart ID Messaging mailboxes for a specific user id.

...

  1. Set the confirmation flag to false.

    Note

    Even if the confirmation flag is set to false, you need to set the 'messageName' parameter to a dummy value to be able to delete the mailbox(es).

  2. Smart ID Messaging will delete either a specific mailbox when a profile id is provided or all mailboxes of the specified user id when the profile id is absent.
    The profiles themselves in their respective apps will be retained, as the deletion request will not be forwarded.

Configuration

To use this task, configure the following delegate expression in your service task:

...

The following parameters can be configured in Identity Manager Admin:

Parameter

Mandatory

Value

Description

messagingServer

(tick)

The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

messageName

(tick)

The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

errorMessageField

(tick)

ErrorMessage

Process variable to put the error message in case of failure.

errorTypeField

(tick)

ErrorType

Process variable to put the error type in case of failure.

profileId

when confirmation flag is true

${Card_ProfileId}

ID of the profile to be deleted, as created via 'Mobile App: Create Key'.

userid

(tick)

${Person_Email}

ID representing the user on the messaging server. This must match the userid provided when the profile was requested.

confirmation

(tick)

Valid values:

  • true

  • false

Messaging Server will forward the profile deletion request to Smart ID Mobile App when set to true.

Desktop App: Create Virtual Smart Card Key

Description

Use this task to create up to three template PKCS#10 requests that can be used to request certificates needed for the "Desktop App: Install Certificates on Virtual Smart Card" task.

Use this task to create up to three one or more template PKCS#10 requests:

  • Signature Certificate (if template name is provided)

  • (Primary) Authentication Certificate (if template name is provided)

  • Device Encryption (always, used to secure the communication with Smart ID Desktop App)

...

  • Further Auxiliary Authentication Certificates (optional if parameters like "aux_<identifier>_certificateTemplate" are manually added for each additional authentication certificate. The parameters must start with "aux_" and end with "_certificateTemplate")

Info

Auxiliary Authentication Certificates

Any number of auxiliary authentication certificates can be requested by manually adding one parameter per auxiliary certificate to this task. The parameter names must be of the form “aux_<identifier>_certificateTemplate“, where <identifier> needs to be replaced with some arbitrary alphanumeric string, for example “aux_myDomain_certificateTemplate“. The parameter’s value must be the certificate template to use.

For each auxiliary certificate, a corresponding parameter with the same <identifier> but in the form “aux_<identifier>_certificate” must be added manually to the "Desktop App: Install Certificates on Virtual Smart Card" task that will process the requested certificates. In this example, the parameter of that task would need to be named “aux_myDomain_certificate“.

These requests will then be sent to Smart ID Desktop App and transformed into new PKCS#10 requests (with keypairs generated on the client but keeping all subject data).
The new requests will then be sent to the message catching intermediate event identified by the parameter 'messageName'.
Identity Manager will put these PKCS#10 requests into the process map under the keys "SIG_P10_VAR" (signature CSR), "AUTH_P10_VAR" . Identity (authentication CSR) and "aux_MyExtraAuthCert_p10" (auxiliary authentication CSRs).
Identity Manager will also put the new profile id into the process map under the key "profileId". In order to save the profile id you will need to copy it into a data pool field.

This task can only provision a new profile

...

. Updating an existing profile is currently only supported in Smart ID Mobile App at this time, not in Smart ID Desktop App.

Info

Attestation Key

Smart ID Desktop App will sign the request data and Identity Manager will verify the client's data signature using the attestation key. The attestation key is configured in the task's attestationKeySet parameter and in the Sign and encrypt engine in Identity Manager.

If the verification fails, the task will not accept the data but set two process variables instead:

  • The errorTypeField (see the parameters below) will be set to "HERMOD_ERROR_JWT_SIGNATURE". Use this in your process design to react to validation errors.

  • The errorMessageField (see the parameters below) will contain a more descriptive message

Configuration

To use this task, configure the following delegate expression in your service task:

...

The following parameters can be configured in Identity Manager Admin: 

Parameter

Mandatory

Value

Description

messagingServer

(tick)

Example value:

  • MessagingServer

The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

messageName

(tick)

Example value:

  • p10PreparationCallback

The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

userid

(tick)

Example value:

  • ${Person_Email}

ID representing the user on the messaging server. This will be displayed in the profile(-list) on the desktop app to verify the correct data is provided.

A common approach is to use the user's email address.

errorMesageField

(tick)

Example value: 

  • ErrorMessage

Process variable to put the error message in case of failure.

errorTypeField

(tick)

Example value: 

  • ErrorType

Process variable to put the error type in case of failure.

signCertificateTemplate

-

Example value:

  • Sign-Certificate

Certificate template of the signature certificate.

authCertificateTemplate

-

Example value:

  • Authentication-Certificate

Certificate template of the authentication certificate.

aux_<identifier>_certificateTemplate

-

Example value:

  • Authentication-Certificate

Certificate template of the authentication certificate

Certificate template of auxiliary authentication certificate. <identifier> bust be replaced with an alphanumeric value, for example aux_myDomain_certificateTemplate. You can optionally add one or more parameters of this form.

The name of the identifier must be the same as the one used in the "aux_<identifier>_certificate" parameter in "Desktop App: Install Certificates on Virtual Smart Card").

profileName

(tick)

Example value:

  • VSC 1

Profile name for Smart ID Messaging. Will be displayed in Smart ID Desktop App as the heading of the profile.

serverName

(tick)

Example value:

  • Smart ID

Name of the server that issued the provisioning request. This is for the user to understand where the profile comes from.

attestationKeySet

-

(If not set will default to "ATTESTATION")

Example value:

  • ATTESTATION (default value)

The name of the attestation key that will be used for signing (by the client) and validating (by Identity Manager) the client's data. The available values are the names of the descriptors in the sign and encrypt engine that start with "att_", without this prefix. An attestation key with the same name must be defined in Smart ID Desktop App.

Currently, Smart ID Desktop App accepts only default key set named "ATTESTATION".

plugoutResultField

If new profile

Example value: 

  • plugoutUri

Process variable to put the resulting Smart ID Plugout URI that will open Smart ID Desktop App on the client machine.

adminKey

(tick)

Example value: 

  • ${Card_CardManagerKey}

The secret field reference of 24-byte 3DES admin key in HEX format. The key can also be set directly as plain hex value for testing.

Note: Smart ID Desktop App.s own default is 123456781234567812345678123456781234567812345678, but you must make sure Identity Manager always defines the value!

smartCardId

(tick)

Example Value: 

  • ${Card_VscId}

Virtual smart card id. Usually it will be created via a dedicated number-range.

provisionReader

(tick)

Valid values:

For all app versions:

  • CreateTPM

For Smart ID Desktop App 1.x only:
  • FreeTPM

  • RenewTPM 

  • 0TPM/1TPM..../15TPM

  • CreateTPM (create a new VSC on the TPM) 

  • FreeTPM (use first free VSC on the TPM) .

  • RenewTPM Use this option to renew existing TPM certificates.

  • 0TPM / 1TPM / ... / 15TPM  Specific VSC on the TPM can be also used for installing certificates.

The value is passed as-is to Smart ID Desktop App.

note

Smart ID Desktop App version 2.0 and later versions support the CreateTPM option only. All other options behave as if CreateTPM was selected.

pinMinLength

(tick)

Example value:

  • 6

Min. length of the VSC PIN (Windows API allows 4-127 characters,
see https://docs.microsoft.com/en-us/uwp/api/windows.devices.smartcards.smartcardpinpolicy.minlength )

pinMaxLength

(tick)

Example value:

  • 15

Max length of the VSC PIN (Windows API allows 4-127 characters,
see https://docs.microsoft.com/en-us/uwp/api/windows.devices.smartcards.smartcardpinpolicy.maxlength )

pinUppercase

(tick)

Valid values:

  • ALLOWED (default)

  • DISALLOWED

  • REQUIRED

Whether uppercase chars in the PIN are ALLOWED / DISALLOWED / REQUIRED

pinLowercase

(tick)

Valid values:

  • ALLOWED (default)

  • DISALLOWED

  • REQUIRED

Whether lowercase chars in the PIN are ALLOWED / DISALLOWED / REQUIRED

pinDigits

(tick)

Valid values:

  • ALLOWED (default)

  • DISALLOWED

  • REQUIRED

Whether digits in the PIN are ALLOWED / DISALLOWED / REQUIRED

pinSpecialChars

(tick)

Valid values:

  • ALLOWED (default)

  • DISALLOWED

  • REQUIRED

Whether special chars in the PIN are ALLOWED / DISALLOWED / REQUIRED

hybridProfile

-

Valid values:

  • FALSE

(default)
  • TRUE

  • Enable profile which supports multiple storagePriority options (for fallback,, if one is unavailable).
    • (default)

    • TRUE

    oldAdminKey

    -

    -

    This field only makes sense in case the "FreeTPM" provisionReader is configured. If provided, it will change the VSC's admin key. "oldAdminkey" must hold the old admin key and "adminKey" must hold the new admin key.

    For example, default admin key of 010203040506070801020304050607080102030405060708 when you create VSC from Tpmvscmgr tool.

    storagePriority

    (tick)

    Valid values (version-dependent, Smart ID Desktop App or Smart ID Messaging update may be required for some):

    • VSC (TPM-based virtual smart card, default)

    • TPM (direct TPM storage, depending on the version of Smart ID Desktop App, it might have same meaning as VSC

    or be unsupported
    • )

    • YUBI (Yubico YubiKey 5 PIV Token, since Identity Manager 3.12.5)

    • OS (operating system certificate store)

    Storage priority - defines where certificates and keys are stored. Usually just a single value.
    If hybridProfile is TRUE, then this may be a comma-separated list.

    Example:

    VSC,

    OS would

    OS would mean: try to write to a virtual smart card first, and if that fails, use the OS certificate store instead.

    Note

    Smart ID Desktop App 2.0 and later versions have additional limitations:

  • TPM is not supported and will fail - use VSC instead

  • in hybrid profile mode the only valid combination is: VSC, OS

    desktopKeyProtectionLevel

    (tick)

    Valid values:

    • NONE (default)

    • CONSENT

    • PASSWORD

    • BIOMETRICS

    Specifies the key protection level at OS key store. It is only used in case of OS storage priority. 

    • NONE - No strong key protection.

    • CONSENT - The user is notified through a dialog box when the private key is created or used.

    • PASSWORD - The user is prompted to enter a password for the key when the key is created or used.

    • BIOMETRICS - The user is prompted to enter a fingerprint verification for the key when the key is created or used.

    Desktop App: Install Certificates on Virtual Smart Card

    Description

    This task requests and installs certificates that were prepared using the "Desktop App: Create Virtual Smart Card Key" task.

    ...

    • Signature Certificate, will be bound to the key pair created by 'Desktop App: Create Virtual Smart Card Key'.

    • (Primary) Authentication Certificate, will be bound to the key pair created by 'Desktop App: Create Virtual Smart Card Key'.

    • Auxiliary Authentication Certificates, will be bound to the key pair created by 'Desktop App: Create Virtual Smart Card Key'.

    • Device Encryption Certificate, will be bound to the key pair created by 'Desktop App: Create Virtual Smart Card Key'.

    • Encryption Certificate created with key archival.

    • Any number of recovered certificates.

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Smart ID Desktop App 2.0 and later versions have additional limitations:

    Parameter

    Mandatory

    Value

    Description

    messagingServer

    (tick)

    The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

    messageName

    (tick)

    p10FinishedCallback

    The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

    userid

    (tick)

    ${Person_Email}

    ID representing the user on the messaging server. This must match the userid provided when the profile was requested.

    errorMessageField

    (tick)

    ErrorMessage

    Process variable to put the error message in case of failure.

    errorTypeField

    (tick)

    ErrorType

    Process variable to put the error type in case of failure.

    signatureCertificate

    ${SIG_VAR}

    The signature certificate.

    authenticationCertificateauthenticationCertificate

    ${AUTH_VAR}

    The authentication certificate.

    aux_<identifier>_certificate

    ${AUTH<identifier>_CERT_VAR}

    The auxiliary authentication certificate <identifier>.
    It is necessary to replace <identifier> with a value as described in the "Desktop App: Create Virtual Smart Card Key" task. You can optionally add one or more parameters of this form.

    deviceEncryptionP10

    (tick)

    ${DEVICE_ENC_P10_VAR}

    The PKCS#10 request for the Device Encryption Certificate, created by the "Desktop App: Create Virtual Smart Card Key" task.

    profileId

    (tick)

    ${profileId}

    The id of the profile under which to store the certificates. This is initially provided by the 'Desktop App: Create Virtual Smart Card Key' task.

    encryptionCertificate

    Encryption certificate template.

    recoveryCertificate

    Recovery certificate template.

    processVariable

    Certificate_CoreObjects

    Variable name which holds Core object ids list or Core object descriptor list of certificates to be recovered.

    p12PasswordField

    (tick)

    p12password

    Reference field where the created password is stored. This password is used for all PKCS#12 containers in this communication. There are a number of actions for creating passwords.

    smartCardId

    (tick)

    ${Card_VscId}

    Virtual smart card id. Usually it will be created via a dedicated number-range.

    storagePriority

    (tick)

    Valid values (version-dependent, Smart ID Desktop App or Smart ID Messaging update may be required for some):

    • VSC (TPM-based virtual smart card, default)

    • TPM (direct TPM storage, depending on the version of Smart ID Desktop App, it might have same meaning as VSC or be unsupported)

    • YUBI (Yubico YubiKey 5 PIV Token, since Identity Manager 3.12.5)

    • OS (operating system certificate store)

    Storage priority - defines where certificates and keys are stored. Usually just a single value.

    If the profile was created with hybridProfile set to TRUE (see 'Desktop App: Create Virtual Smart Card Key'), then this may be a comma-separated list.

    Example:

    VSC, OS would OS would mean: try to write to a virtual smart card first, and if that fails, use the OS certificate store instead.

    Note
    • TPM is not supported and will fail - use VSC instead

    • in hybrid profile mode the only valid combination is: VSC, OS

    desktopKeyProtectionLevel

    (tick)

    Valid values:

    • NONE (default)

    • CONSENT

    • PASSWORD

    • BIOMETRICS

    Specifies the key protection level at OS key store. It is only used in case of OS storage priority. 

    • NONE - No strong key protection.

    • CONSENT - The user is notified through a dialog box when the private key is created or used.

    • PASSWORD - The user is prompted to enter a password for the key when the key is created or used.

    • BIOMETRICS - The user is prompted to enter a fingerprint verification for the key when the key is created or used.

    Desktop App: Delete Virtual Smart Card profile

    Description

    Use this task to delete a virtual smart card profile managed by Smart ID Desktop App on a TPM and also to delete all Smart ID Messaging mailboxes for a specific user id.

    ...

    1. Set the confirmation flag to false. Smart card id and keys can be omitted.

    2. Smart ID Messaging will delete either a specific mailbox when a profile id is provided or all mailboxes of the specified user id when the profile id is absent.

      • The profiles themselves, in their respective apps, will be retained, as the deletion request will not be forwarded.

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Parameter

    Mandatory

    Value

    Description

    messagingServer

    (tick)

    The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

    messageName

    (tick)

    deleteSmartCardCallback

    The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

    errorMessageField

    (tick)

    ErrorMessage

    Process variable to put the error message in case of failure.

    errorTypeField

    (tick)

    ErrorType

    Process variable to put the error type in case of failure.

    profileId

    when confirmation flag is true

    ${Card_ProfileId}

    ID of the profile to be deleted, as created via 'Desktop App: Create Virtual Smart Card Key'.

    smartCardId

    when profileId provided and confirmation flag is true

    ${Card_VscId}

    ID of the virtual smart card, as created via 'Desktop App: Create Virtual Smart Card Key'.

    plugoutUrl

    when profileId provided and confirmation flag is true

    plugoutUrl

    Process variable to put the resulting Smart ID Plugout URI that will open Smart ID Desktop App on the client machine.

    userid

    (tick)

    ${Person_Email}

    ID representing the user on the messaging server. This must match the userid provided when the profile was requested.

    adminKey

    when profileId provided and confirmation flag is true

    The secret field reference of the new 24-byte 3DES admin key to be set, in HEX format. The key can also be set directly as plain hex value for testing.

    oldAdminKey

    when profileId provided and confirmation flag is true

    ${Card_CardManagerKey}

    The secret field reference of the 24-byte 3DES current admin key, in HEX format. The key can also be set directly as plain hex value for testing.

    confirmation

    (tick)

    Valid values:

    • true (default)

    • false

    Messaging Server will forward the delete profile request to Smart ID Desktop App when this set to true.

    Desktop App: Create Windows Cert Store Key

    Description

    Use this task to create a template PKCS#10 request that can be used to request the certificate needed for the "Desktop App: Install Certificates On Windows Cert Store" task:

    ...

    Info

    Smart ID Desktop App will sign the request data and Identity Manager will verify the client's data signature using the attestation key. The attestation key is configured in the task's attestationKeySet parameter and in the Sign and encrypt engine in Identity Manager.

    If the verification fails, the task will not accept the data but set two process variables instead:

    • The errorTypeField (see the parameters below) will be set to "HERMOD_ERROR_JWT_SIGNATURE". Use this in your process design to react to validation errors.

    • The errorMessageField (see the parameters below) will contain a more descriptive message

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Parameter

    Mandatory

    Value

    Description

    messagingServer

    (tick)

    Example value:

    • MessagingServer

    The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

    messageName

    (tick)

    Example value:

    • p10PreparationCallback

    The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

    userid

    (tick)

    Example value:

    • ${Person_Email}

    ID representing the user on the messaging server. This will be displayed in the profile(-list) on the desktop app to verify the correct data is provided.

    A common approach is to use the user's email address.

    errorMesageField

    (tick)

    Example value: 

    • ErrorMessage

    Process variable to put the error message in case of failure.

    errorTypeField

    (tick)

    Example value: 

    • ErrorType

    Process variable to put the error type in case of failure.

    profileName

    (tick)

    Example value:

    • Windows Certs

    Profile name for Smart ID Messaging. Will be displayed in Smart ID Desktop App as heading of the profile.

    serverName

    (tick)

    Example value:

    • Smart ID

    Name of the server that issued the provisioning request. Will be displayed in Smart ID Desktop App so the user can understand where this profile comes from. 

    plugoutResultField

    (tick)

    Example value: 

    • plugoutUri

    Process variable to put the resulting Smart ID Plugout URI that will open Smart ID Desktop App on the client machine.

    desktopKeyProtectionLevel

    (tick)

    Valid values:

    • NONE (default)

    • CONSENT

    • PASSWORD

    • BIOMETRICS

    Specifies the key protection level at OS key store. It is only used in case of OS storage priority. 

    • NONE - No strong key protection.

    • CONSENT - The user is notified through a dialog box when the private key is created or used.

    • PASSWORD - The user is prompted to enter a password for the key when the key is created or used.

    • BIOMETRICS - The user is prompted to enter a fingerprint verification for the key when the key is created or used.

    attestationKeySet

    -

    (If not set will default to "ATTESTATION")

    Example value:

    • ATTESTATION (default value)

    The name of the attestation key that will be used for signing (by the client) and validating (by Identity Manager) the client's data. The available values are the names of the descriptors in the sign and encrypt engine that start with "att_", without this prefix. An attestation key with the same name must be defined in Smart ID Desktop App.

    Smart ID Desktop App only accepts the default key set named "ATTESTATION".

    If new profile

    Desktop App: Install Certificates On Windows Cert Store

    Description

    Use this task to request and install certificates that were prepared using the "Desktop App: Create Windows Cert Store Key" task.

    ...

    • Device Encryption Certificate, will be bound to the key pair created by 'Desktop App: Create Windows Cert Store Key' task.

    • Softtoken certificate created with key archival.

    • Any number of recovered certificates.

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Parameter

    Mandatory

    Value

    Description

    messagingServer

    (tick)

    The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

    messageName

    (tick)

    p10FinishedCallback

    The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

    userid

    (tick)

    ${Person_Email}

    ID representing the user on the messaging server. This must match the userid provided when the profile was requested.

    errorMessageField

    (tick)

    ErrorMessage

    Process variable to put the error message in case of failure.

    errorTypeField

    (tick)

    ErrorType

    Process variable to put the error type in case of failure.

    deviceEncryptionP10

    (tick)

    ${DEVICE_ENC_P10_VAR}

    The PKCS#10 request for the Device Encryption Certificate, created by the "Desktop App: Create Virtual Smart Card Key" task.

    profileId

    (tick)

    ${profileId}

    The id of the profile under which to store the certificates. This is initially provided by the 'Desktop App: Create Virtual Smart Card Key' task.

    softttokenCertificate

    Softtoken certificate template.

    recoveryCertificate

    Recovery certificate template.

    processVariable

    Certificate_CoreObjects

    Variable name which holds Core object ids list or Core object descriptor list of certificates to be recovered.

    p12PasswordField

    (tick)

    p12Password

    Reference field where the created password is stored. This password is used for all PKCS#12 containers in this communication. There are a number of actions for creating passwords.

    desktopKeyProtectionLevel

    (tick)

    Valid values:

    • NONE (default)

    • CONSENT

    • PASSWORD

    • BIOMETRICS

    Specifies the key protection level at OS key store. It is only used in case of OS storage priority. 

    • NONE - No strong key protection.

    • CONSENT - The user is notified through a dialog box when the private key is created or used.

    • PASSWORD - The user is prompted to enter a password for the key when the key is created or used.

    • BIOMETRICS - The user is prompted to enter a fingerprint verification for the key when the key is created or used.

    Desktop/Mobile App: Start Connection

    Description

    Use this task to start a connection to Smart ID Messaging. With this connection, scripts can be executed. Finally, the connection needs to be closed. Once the connection is established you receive a boxId and a plugoutUrl which can be used to start Smart ID Desktop App and connect it to the corresponding box on Smart ID Messaging.

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Parameter

    Mandatory

    Value

    Description

    messagingServer

    (tick)

    The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

    boxId

    (tick)

    Process variable to put the boxId.

    plugoutUrl

    (tick)

    Process variable to put the plugout url.

    messageToUser

    (tick)

    A An optional message to the user which will be displayed in Smart ID Desktop App.

    messageName(tick)

    The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

    Desktop/Mobile App: Execute Script

    Description

    Use this service task to execute a script in Smart ID Desktop App. The script needs to be passed as a JSON array (for example: [{"type":"APDU", "data":"00A4040000", "response":".*(9000)"}]

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Parameter

    Mandatory

    Value

    Description

    messagingServer

    (tick)

    The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

    boxId

    (tick)

    Process variable to put the boxId.

    scriptCommands

    (tick)

    Example value:

    • [{"type":"APDU", "data":"00A4040000", "response":".*(9000)"}]

    Process variable containing the script commands. The commands need to be formatted as a JSON array.

    messageToUser

    An optional message to the user which will be displayed in Smart ID  Desktop App.

    messageName

    (tick)

    The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

    Desktop/Mobile App: End Connection

    Description

    Use this service task to close a scripting connection to Smart ID Messaging.

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Parameter

    Mandatory

    Value

    Description

    messagingServer

    (tick)

    The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

    boxId

    (tick)

    Process variable to put the boxId.

    messageToUser

    An optional message to the user which will be displayed in Smart ID Desktop App.

    messageName

    (tick)

    The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

    Desktop/Mobile App: Encrypt Secret for Transport

    Description

    Use this task to encrypt the pin or card manager key that is sent during a pin operation. The corresponding app while provide this one time key in the callback message when the operation is requested.

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Parameter

    Mandatory

    Value

    Description

    jweAlgorithm

    (tick)

    ${transportKeyType}

    The value as provided by the corresponding app via a callback message. In most cases the default value should be used. RSA-OAEP, RSA-OAEP-256, and RSA1-5 are supported. 

    key

    (tick)

    ${transportKey}

    The value as provided by the corresponding app via a callback message. In most cases the default value should be used. Supports only X509 encoded RSA key in byte array.

    sourceData

    (tick)

    ${Card_CardManagerKey}

    The secret to be encrypted. 

    targetField

    (tick)

    ${encryptedSecret}

    Process variable to hand over the encrypted secret to the acknowledge task.

    Desktop App: Request PIN Reset on Virtual Smart Card

    Description

    Use this task to initiate a pin reset on a virtual smart card.

    ...

    After this task is executed, use the 'Credentials: Calculate Minidriver Offline Unblocking Response' task to encrypt the challenge stored in the process variable "challenge" and store the encrypted challenge in the process variable "encryptedChallenge". Then you can proceed to the "Desktop App: Acknowledge PIN Reset on Virtual Smart Card" task.

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Parameter

    Mandatory

    Value

    Description

    messagingServer

    (tick)

    The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

    messageName

    (tick)

    startPinResetCallback

    The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

    userid

    (tick)

     ${Person_Email}

    ID representing the user on the messaging server. This must match the userid provided when the profile was requested.

    errorMessageField

    (tick)

    ErrorMessage

    Process variable to put the error message in case of failure.

    errorTypeField

    (tick)

    ErrorType

    Process variable to put the error type in case of failure.

    profileId

    (tick)

     ${Card_ProfileId}

    Id of the profile whose pin to change, as created via 'Desktop App: Create Virtual Smart Card Key'.

    smartCardId

    (tick)

     ${Card_VscId}

    Id of the virtual smart card, as created via 'Desktop App: Create Virtual Smart Card Key'.

    boxId

    (tick)

     boxId

    Process variable to put the boxId. This will be needed to complete the pin reset.

    plugoutUrl

    (tick)

     plugoutUrl

    Process variable to put the plugout url.

    Desktop App: Request PIN Operation on Physical Smart Card

    Description

    Use this task to initiate a pin reset on a physical smart card.

    ...

    After this task is executed, use the 'Credentials: Calculate Minidriver Offline Unblocking Response' task to encrypt the challenge stored in the process variable "challenge" and store the encrypted challenge in the process variable "encryptedChallenge". Then you can proceed to the "Desktop App: Acknowledge PIN Reset on Virtual Smart Card" task.

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Parameter

    Mandatory

    Value

    Description

    messagingServer

    (tick)

    The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

    messageName

    (tick)

    startPinResetCallback

    The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

    operation

    (tick)

     resetPIN

    • resetPIN: reset the user pin

    • changeAdminKey: set a new card manager key

    errorMessageField

    (tick)

    ErrorMessage

    Process variable to put the error message in case of failure.

    errorTypeField

    (tick)

    ErrorType

    Process variable to put the error type in case of failure.

    driverType

    (tick)

    MiniDriver

    What kind of driver is used for the operation. At the moment only MiniDriver is supported.

    driverName

    (tick)

     CardOS

    Name of the driver to be used .

    Desktop App: Acknowledge PIN Reset on Virtual Smart Card

    Description

    Use this task to complete a pin reset on a virtual smart card. Once the pin is reset by Smart ID Desktop App, Identity Manager will receive an event indicating success or failure of the operation.

    As a prerequisite you must have encrypted the challenge received in the "Desktop App: Request PIN Reset on Virtual Smart Card" task.

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Parameter

    Mandatory

    Value

    Description

    messagingServer

    (tick)

    The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

    messageName

    (tick)

    endPinResetCallback

    The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

    errorMessageField

    (tick)

    ErrorMessage

    Process variable to put the error message in case of failure.

    errorTypeField

    (tick)

    ErrorType

    Process variable to put the error type in case of failure.

    profileId

    (tick)

    ${Card_ProfileId}

    Id of the profile whose pin to change, as created via 'Desktop App: Create Virtual Smart Card Key'.

    smartCardId

    (tick)

    ${Card_VscId}

    Id of the virtual smart card, as created via 'Desktop App: Create Virtual Smart Card Key.

    boxId

    (tick)

    ${boxId}

    The boxId that was created with 'Desktop App: Request PIN Reset on Virtual Smart Card'

    response

    (tick)

    ${encryptedChallenge}

    The challenge received in the callback of 'Desktop App: Request PIN Reset on Virtual Smart Card' encrypted with the card manager key of this VSC using 'Credentials: Calculate Minidriver Offline Unblocking Response'.

    Desktop App: Acknowledge PIN Operation on Physical Smart Card

    Description

    Use this task to complete a pin operation on a virtual smart card. Once the pin is changed by Smart ID Desktop App, Identity Manager will receive an event indicating success or failure of the operation.

    As a prerequisite you must have encrypted the challenge received in the "Desktop App: Request PIN Reset on Virtual Smart Card" task, and, if the pin (or card manager key) is provided by the Identity Manager is has to be encrypted for secure transport using the "Desktop/Mobile App: Encrypt Secret for Transport" task. 

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Parameter

    Mandatory

    Value

    Description

    messagingServer

    (tick)

    The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

    messageName

    (tick)

    endPinResetCallback

    The name of the intermediate message catching event that will be triggered by Smart ID Messaging.

    errorMessageField

    (tick)

    ErrorMessage

    Process variable to put the error message in case of failure.

    errorTypeField

    (tick)

    ErrorType

    Process variable to put the error type in case of failure.

    encryptedSecret

    (tick)

    ${encryptedSecret}

    Only required, if the secret (like card manager key or pin) in managed by Identity Manager. It is encrypted using the "Desktop/Mobile App: Encrypt Secret for Transport" task. If the secret is entered by the user into the app, this can be omitted.

    boxId

    (tick)

    ${boxId}

    The boxId that was created with 'Desktop App: Request PIN Reset on Virtual Smart Card'.

    response

    (tick)

    ${encryptedChallenge}

    The challenge received in the callback of 'Desktop App: Request PIN Reset on Virtual Smart Card', encrypted with the card manager key of this VSC using 'Credentials: Calculate Minidriver Offline Unblocking Response'.

    Desktop App: Ping Virtual Smart Card profile

    Description

    Use this task to retrieve profile and device information of virtual smart cards that are managed by Smart ID Desktop App.

    ...

    The task will put a "commandId" value into a process variable which must be used for polling the response using "Desktop App: Poll meta data from client".

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...

    Parameter

    Mandatory

    Value

    Description

    messagingServer

    (tick)

    The name of the Smart ID Messaging configuration as defined in Identity Manager Admin. This configuration provides data (url, authentication token, lifespan and timeout) needed for the Smart ID Messaging connection.

    errorMessageField

    (tick)

    ErrorMessage

    Process variable to put the error message in case of failure.

    errorTypeField

    (tick)

    ErrorType

    Process variable to put the error type in case of failure.

    profileId

    (tick)

    ${Card_ProfileId}

    If provided, restrict requested information to this profile. ProfileId values are created in the 'Desktop App: Create Virtual Smart Card Key' task.

    plugoutUrl

    (tick)

     plugoutUrl

    Process variable to put the plugout url.

    userid

    (tick)

    Valid values:

    • If profileid is set: provided userid 

    • Otherwise: any value

    ID representing the user on the messaging server. If a profileId parameter is set, this must match the userid provided when the profile was requested. Otherwise any value will do.

    deviceInfo

    (tick)

    Valid values:

    • true (default)

    • false

    Request device information.

    profileInfo

    (tick)

    Valid values:

    • true (default)

    • false

    Request profile information.

    commandId

    (tick)

    commandId

    Process variable to put the commandId value, which is needed for polling in the "Desktop App: Poll meta data from client" task.

    Desktop App: Poll meta data from client

    Description

    Use this task to poll a ping response from Smart ID Messaging based upon the 'commandId' (which was created at the ping request to Smart ID Messaging).

    Execute this task after a ping request to Smart ID Messaging. It polls the message from Smart ID Messaging, based upon the provided command id. After receiving the response from Smart ID Messaging it stores the profile and device Information into configured service task parameters. 

    Configuration

    To use this task, configure the following delegate expression in your service task:

    ...