Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

 Personal Server: Create Key

Description 

This task will create up to three template PKCS#10 requests:

  • Signature Certificate (if template name is provided)
  • Authentication Certificate (if template name is provided)
  • Device Encryption (always, used to secure the communication with Personal Mobile)

These requests then will be sent to the mobile phone, where a key pair is created and bound to the requests. (This approach makes sure the private keys won't leave the mobile phone.) The requests will, in turn, be sent to the message catching intermediate event identified by the parameter 'messageName'.

In PRIME 3.9 this task can be configured to either provision a new profile, or to update an existing profile, overwriting any existing keys with the respective key id.

Configuration

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

${hermodKeyCreationTask}

The following parameters can be configured in PRIME Designer:

ParameterMandatorySample valueDescription

messageName

 

The name of the message in the message event in the process which is reacting on the callback.
userid


The field in the dataMap that should be mapped to the userId for Hermod. This will be shown to user on the mobile phone, to verify the correct data is provided.
lifespan

300Lifespan of command for Hermod in seconds. After this the command is removed from history and the provisioning will fail.
timeout

250Timeout of command for Hermod in seconds (must be < lifespan). After this, the command is removed from message box, but kept for polling until lifespan is reached.
errorMessageField

ErrorMessageDatamap field to contain error message in case of failure.
errorTypeField

ErrorTypeDatamap field to contain error type in case of failure.
signCertificateTemplate-
Certificate template for the signature certificate. Leave blank if no signature certificate is desired
authCertificateTemplate-
Certificate template for the authentication certificate. Leave blank if no authentication certificate is desired
profileName

new profile


Name of the profile for Hermod. As displayed in Personal Mobile App
serverName

new profile


Name of the server that issued the provisioning request.
qrResultField

new profile

QR_CODE_VARThe field in the dataMap where the resulting url should be stored in. This url might be converted to a QR-Code to be used by Personal Mobile App. GenerateQRCodeParametrizedAction can be used to generate this QR code. 
profileIdupdate

Expression resolving to the Personal Mobile profile ID of the profile that shall be updated with new keys.
Leave empty if you want to provision a new profile!

 Personal Server: Create Virtual Smartcard Key

Description

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

  • Signature Certificate (if template name is provided)
  • Authentication Certificate (if template name is provided)
  • Device Encryption (always, used to secure the communication with Personal Desktop App)

These requests will then be sent to Personal Desktop App, where a key pair is created and bound to the requests. (This approach makes sure the private keys won't leave the TPM.) The requests will, in turn, be sent to the message catching intermediate event identified by the parameter 'messageName'.

This task can be used only when provision a new profile - updating an existing profile is only supported in Personal Mobile at this time, not in Personal Desktop App.

Configuration

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

${pxVscHermodKeyCreationTask}

The following parameters can be configured in PRIME Designer:

ParameterMandatorySample ValueDescription

messageName

 

The name of the message in the message event in the process which is reacting on the callback.
lifespan

300Lifespan of command for Hermod in seconds. After this the command is removed from history and the provisioning will fail.
timeout

250

Timeout of command for Hermod in seconds (must be < lifespan). After this, the command is removed from message box, but kept for polling until lifespan is reached.

errorMesageField

ErrorMessageDatamap field to contain error message in case of failure.
errorTypeField

ErrorTypeDatamap field to contain error type in case of failure.
userid


The field in the dataMap that should be mapped to the userId for Hermod. This will be displayed in Personal Desktop App.
signCertificateTemplate- Certificate template for the signature certificate. Leave blank if no signature certificate is desired.
authCertificateTemplate- Certificate template for the authentication certificate. Leave blank if no authentication certificate is desired.
profileName

 Name of the profile for Hermod. Will be displayed in Personal Desktop App.
serverName

 

Name of the server that issued the provisioning request.

plugoutResultField

plugoutUriThe field in the dataMap where the resulting Personal Plugout URI  should be stored (to be used by a user task for displaying the plugout URI).
adminKey

Card_CardManagerKeyName of 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: Personal Desktop App's own default is 123456781234567812345678123456781234567812345678, but you must make sure PRIME always defines the value!
smartCardId

${Card_VscId}Expression that resolves to a generated ID for the virtual smartcard. Usually it will be created via a dedicated number-range.
provisionReader

CreateTPM

CreateTPM (create a new VSC on the TPM) / FreeTPM (use first free VSC on the TPM) / 0TPM / 1TPM / ... / 15TPM (use specific VSC on the TPM).

The value is passed as-is to Personal Desktop App.

Creating a new VSC with Personal Desktop App requires it to run with a local admin account - this is not needed for using a pre-created VSC.

Pre-created VSCs are required to have the Tpmvscmgr default admin key of 010203040506070801020304050607080102030405060708 see https://docs.microsoft.com/en-us/windows/security/identity-protection/virtual-smart-cards/virtual-smart-card-tpmvscmgr - this admin key will be overwritten with the one specified in the adminKey parameter listed above.

You can create a new VSC with this command as admin user: TpmVscMgr create /name MyVSC /pin default /adminkey default /generate [optional params go here]

This will also set the PIN to 12345678 (Personal Desktop App currently does not reset the PIN - use /pin prompt to set a custom PIN).

Also the PIN policy is defined through TpmVscMgr (see link above for optional /pinpolicy  parameter docs and the respective defaults).

pinMinLength

6Min. 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

15Max 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

ALLOWEDWhether uppercase chars in the PIN are ALLOWED / DISALLOWED / REQUIRED
pinLowercase

ALLOWEDWhether lowercase chars in the PIN are ALLOWED / DISALLOWED / REQUIRED
pinDigits

ALLOWEDWhether digits in the PIN are ALLOWED / DISALLOWED / REQUIRED
pinSpecialChars

ALLOWEDWhether special chars in the PIN are ALLOWED / DISALLOWED / REQUIRED
 Personal Server: End Connection

Description

Use this service task to end a connection to Hermod. 

Configuration

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

${hermodEndConnectionParametrizedTask}

The following parameters can be configured in PRIME Designer:

ParameterMandatoryDefault valueDescription

lifespan

300


timeout

250
boxId


The datamap field into which the boxId shall be inserted
messageToUser-
An optional message to the user which will be displayed in the client application.
messageName


This field describes the name of the bpmn MessageCatchEvent which will be called once the connection was ended successfully on the client.
 Personal Server: Execute Script

Description

Use this service task to execute a script via Hermod. 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 expressing in your service task:

${hermodExecuteScriptParametrizedTask}

The following parameters can be configured in PRIME Designer:

ParameterMandatoryDefault valueDescription

lifespan

300


timeout

250
boxId


The datamap field into which the boxId shall be inserted
scriptCommands


The datamap field where the script commands are stored. The commands need to be formatted as a JSON array (for example: [{"type":"APDU", "data":"00A4040000", "response":".*(9000)"}])
messageToUser-
An optional message to the user which will be displayed in the client application.
messageName


This field describes the name of the bpmn MessageCatchEvent which will be called once the script was executed successfully on the client.
 Personal Server: Install Certificates

Description 

Use this task to install a number of certificates on the mobile phone:

  • Signature Certificate, will be bound to the key pair created by Hermod Key Creation
  • Authentication Certificate, will be bound to the key pair created by Hermod Key Creation
  • Device Encryption Certificate, will be bound to the key pair created by Hermod Key Creation
  • Encryption Certificate create with key archival (Only if certificate template is provided)
  • Any number of recovered certificates. prepareDataForCertificateKeyRecoveryTask can be used to prepare the data.

Configuration

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

${hermodInstallCertificatesTask}

The following parameters can be configured in PRIME Designer:

ParameterMandatorySample valueDescription

messageName

 

The name of the intermediate message catching event used to provide the result of installing the certificates. Basically success or failure.
userid


The field in the dataMap that should be mapped to the userId for Hermod. This will be shown to user on the mobile phone, to verify the correct data is provided.
lifespan

300Lifespan of command for Hermod in seconds. After this, the command is removed from history and the provisioning will fail.
timeout

250Timeout of command for Hermod in seconds (must be < lifespan). After this, the command is removed from message box, but kept for polling until lifespan is reached.
errorMessageField

ErrorMessageDatamap field to contain error message in case of failure.
errorTypeField

ErrorTypeDatamap field to contain error type in case of failure.
signatureCertificate-${SIG_VAR}The signature certificate created using the PKCS#10 request from the mobile. Leave blank or use an expression pointing to an empty field if no signature certificate is desired.
authenticationCertificate-${AUTH_VAR}The authentication certificate created using the PKCS#10 request from the mobile. Leave blank or use an expression pointing to an empty field if no authentication certificate is desired.
deviceEncryptionP10

${DEVICE_ENC_P10_VAR}The PKCS#10 request of the Device Encryption Certificate. This is provided by Hermod through the message event mentioned in Hermod Key Creation.
profileId

profileIdThe id of profile created on the mobile. This is provided by Hermod through the message event mentioned in Hermod Key Creation.
serverName


Name of the server that issued the provisioning request.
encryptionCertificate-
Certificate template for encryption certicate. Or leave it blank is not desired.
recoveryCertificate-
Certificate template used to recover the certifiactes provided in the processVariable
processVariable-
List of core object ids of certificates to be recovered.
p12PasswordField


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.
 Personal Server: Install Certificates on Virtual Smartcard

Description

Use this task to install a number of certificates on the virtual smartcard through Personal Desktop App.

  • Signature Certificate, will be bound to the key pair created by 'Personal Server: Create Key'
  • Authentication Certificate, will be bound to the key pair created by 'Personal Server: Create Key'
  • Device Encryption Certificate, will be bound to the key pair created by 'Personal Server: Create Key'
  • Encryption Certificate create with key archival (Only if certificate template is provided)
  • Any number of recovered certificates. prepareDataForCertificateKeyRecoveryTask can be used to prepare the data.

Configuration

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

${pxVscHermodInstallCertificatesTask}

The following parameters can be configured in PRIME Designer:

ParameterMandatorySample ValueDescription

messageName

 

The name of the intermediate message catching event used to provide the result of installing the certificates. Basically success or failure.
userid

 

The field in the dataMap that should be mapped to the userId for Hermod. This will be displayed in Personal Desktop App.
lifespan

300Lifespan of command for Hermod in seconds. After this the command is removed from history and the provisioning will fail.
timeout

250

Timeout of command for Hermod in seconds (must be < lifespan). After this, the command is removed from message box, but kept for polling until lifespan is reached.

errorMessageField

ErrorMessageDatamap field to contain error message in case of failure.
errorTypeField

ErrorTypeDatamap field to contain error type in case of failure.
signatureCertificate-${SIG_VAR}The signature certificate created using the PKCS#10 request from the VSC. Leave blank or use an expression pointing to an empty field if no signature certificate is desired.
authenticationCertificate-${AUTH_VAR}The authentication certificate created using the PKCS#10 request from the VSC. Leave blank or use an expression pointing to an empty field if no authentication certificate is desired.
deviceEncryptionP10

${DEVICE_ENC_P10_VAR}The PKCS#10 request of the Device Encryption Certificate. This is provided by Hermod through the message event mentioned in Hermod Key Creation.
profileId

${profileId}The id of profile created on the TPM. This is provided by Hermod through the message event mentioned in Hermod Key Creation.
serverName

 

Name of the server that issued the provisioning request.

encryptionCertificate- Certificate template for encryption certificate. Or leave it blank if not desired.
recoveryCertificate- Certificate template used to recover the certificates provided in the processVariable.
processVariable- List of core object ids of certificates to be recovered.
p12PasswordField

 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

${Card_VscId}Expression that resolves to a generate ID for the virtual smartcard. Usually it will be created via a dedicated number-range.
 Personal Server: Request PIN Reset on Virtual Smartcard

Description

Use this task to start to establish a connection to a virtual smart card in order to reset the pin. Once the operation is allowed by the user through Personal Desktop App, PRIME will receive an event containing a challenge, that need to be encrypted via the card manager key in order to authorize the pin reset.

Configuration

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

${hermodStartPinResetTask}

The following parameters can be configured in PRIME Designer:

ParameterMandatorySample ValueDescription

messageName

 

The name of the message in the message event in the process which is reacting on the callback.
userid

 ${Person_Email}

The field in the dataMap that should be mapped to the userId for Hermod. This will be shown to user on the mobile phone, to verify the correct data is provided.
lifespan

300Lifespan of command for Hermod in seconds. After this the command is removed from history and the provisioning will fail.
timeout

250

Timeout of command for Hermod in seconds (must be < lifespan). After this, the command is removed from message box, but kept for polling until lifespan is reached.

errorMessageField

ErrorMessageDatamap field to contain error message in case of failure.
errorTypeField

ErrorTypeDatamap field to contain error type in case of failure.
profileId

 ${Card_ProfileId}As created via 'Personal server: Create virtual smartcard key'
smartCardId

 ${Card_VscId}As created via 'Personal server: Create virtual smartcard key'
boxId

 boxIdName of a variable to store the boxId. This will be necessary to acknowledge the PIN reset.
plugoutUrl

 plugoutUrl

Name of a variable to store the plugout url that will open Personal Desktop App on the client machine.

 Personal Server: Acknowledge PIN Reset on Virtual Smartcard

Description

Use this task to establish a connection to a virtual smart card in order to reset the PIN. Once the PIN is reset by Personal Desktop App, PRIME will receive an event indicating success or failure of the operation.

Configuration

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

${hermodEndPinResetTask}

The following parameters can be configured in PRIME Designer:

ParameterMandatorySample ValueDescription

messageName

 

The name of the message in the message event in the process which is reacting on the callback.
lifespan

300Lifespan of command for Hermod in seconds. After this the command is removed from history and the provisioning will fail.
timeout

250

Timeout of command for Hermod in seconds (must be < lifespan). After this, the command is removed from message box, but kept for polling until lifespan is reached.

errorMessageField

ErrorMessageDatamap field to contain error message in case of failure.
errorTypeField

ErrorTypeDatamap field to contain error type in case of failure.
profileId

${Card_ProfileId}As created via 'Personal server: Create virtual smartcard key'
smartCardId

${Card_VscId}As created via 'Personal server: Create virtual smartcard key'
boxId

${boxId}The boxId that was created with 'Personal server: Request PIN reset on virtual smartcard'
response

${encryptedChallenge}The challenge received in the callback of 'Personal Server: Request PIN Reset on Virtual Smartcard' encrypted with the card manager key of this VSC using 'Credentials: Calculate Minidriver Offline Unblocking Response'.
 Personal Server: Start Connection

Description

Use this task to start a connection to Hermod. Once the connection is established you receive a bid (boxId) and a plugoutUrl which can be used to start a client tool (so far only Nexus Personal) and connect it to the given boxId at Hermod.

Configuration

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

${hermodStartConnectionParametrizedTask}

The following parameters can be configured in PRIME Designer:

ParameterMandatoryDefault valueDescription

lifespan

300


timeout

250
boxId


The datamap field into which the boxId shall be inserted
plugoutUrl


The datamap field into which the plugout url shall be inserted
messageToUser-
An optional message to the user which will be displayed in the client application.
messageName-
In case of passing script commands into the start connection request, a callback will be triggered once the scripts has executed successfully. This field describes the name of the bpmn MessageCatchEvent.
  • No labels