Using Local signing - API - Transaction (text) signing using BankID

Overview

To use the API, two methods must be called. The first API method call is to trigger the signing. This will return a transaction ID value, autostarttoken, qrStartToken and qrStartSecret. For information how to use autostart and Qr-Code for bankid, please view the relying party guidelines here. The second API method call will poll the status of the signing. The API client must poll until a status=OK or an error is returned.

Prerequisites

- PhenixID Signing Service Local Signing API configured

- BankID client

- BankID enrolled

- If PhenixID Signing Service Local Signing API is protected with client certificate authentication: Client certificate (p12)

- If PhenixID Signing Service Local Signing API is protected with basic authentication: Username and password

Trigger signing - data to be fetched before api call

To trigger signing, the api client must fetch these values:

- Data to be signed that should be displayed to the user

- Data to be signed that should not be displayed to the user

For recommendations about data to be signed (displayed/not displayed), please view BankID best practices.

For instruction on how to launch bankId application with autostart see BankID documentation here.

For instruction on how to animate Qrcode using qrStartToken and qrStartSecret see BankId documentation here.

Trigger signing - api call

Request

Method: HTTP PUT

Endpoint: /api/sign/bankidsign

Headers:

Name Value
Mandatory Comment
Content-Type application/json Yes
tenant t1 Yes .Value must be given to you by PhenixID Signing Service admin, it might differ depending on the environment.
Authorization <basic_auth_value> No If applicable, username and password must be given to you by PhenixID Signing Service admin.

Body:

The body must contains a json structure.

{
"userVisibleData":"..",
"userNonVisibleData":".."
} 

Json structure properties:

Name Value Mandatory Comment
pnr <user personal identification number> No Only available in BankID v5.1. Personal identification number. 12 digits. Numbers only.
userVisibleData
<Data to be signed that will be displayed to the user in the bankid client> Yes Please view BankID documentation for recommendations.
userNonVisibleData
<Data to be signed that will not be displayed to the user in the bankid client>
No Please view BankID documentation for recommendations.
userVisibleDataFormat indicates if formating is used in userVisibleData No Please view BankID documentation for recommendations.

requirement one or more requirements enforced byn bankId when signing No Please view BankID documentation for recommendations.

add to request(or directly in configuration of the valve) as escaped json. 

Example request (Please note that authorization data is not included in this example).

 

PUT /api/sign/bankidsign HTTP/1.1
Host: example.org
Content-Type: application/json
tenant: t1

Cache-Control: no-cache
{
  "userVisibleData": "This will be displayed in the bankid client",
  "userNonVisibleData": "Hidden data such as a file hash, not displayed in the bankid client" 
}

Response

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3900
{
 "autostarttoken": "c5698d12-0cf4-4456-ae7b-d795f9967798",
  "qrStartSecret": "78ed3fab-020c-41e8-a4ba-b64fb00788e1",
  "qrStartToken": "0c32dc95-74a4-4209-9ff2-e819bb740b8a",
  "transactionID": "eca638ac-fa8a-4943-bec1-1d83b4c7d3a6"
}

Collect signature - use transactionID

The API client must fetch the transactionID returned by the Trigger sign call.

The API client must call the Collect Signature API method periodically until it returns a status OK or an error message.

Collect signature - api call

Request

Method: HTTP PUT

Endpoint: /api/sign/bankidcollect

Headers:

Name Value Mandatory Comment
Content-Type application/json Yes
tenant t1 Yes This value must be given to you by the PhenixID Signing Service admin.
Authorization <basic_auth_value> No Basic authentication username and password must be given to you by PhenixID Signing Service admin.

Body:

The body must contains a json structure.

{"transactionID":"..."} 

Json structure properties:

Name Value Mandatory Comment
transactionID <Value_returned_from_trigger_sign> Yes

Example request (Please note that authorization data is not included in this example).

PUT /api/sign/bankidcollect HTTP/1.1
Host: example.org
Content-Type: application/json
tenant: t1
Cache-Control: no-cache
{"transactionID":"829b3b56-5a0a-449f-8dc8-50e6772c076f"}

Response

Response

The response body JSON structure properties:

 

Name Possible values Comment
status OK
PENDING
OUTSTANDING_TRANSACTION
ERROR
CANCELLED
PENDING -> Continue to poll
OUTSTANDING_TRANSACTION-> Continue to poll
USER_SIGN -> Continue to poll (bankid client is open)
Other status -> Stop polling
signature
The signature data. Only available if status=OK.
ocspResponse
The OCSP Response. Only available if status=OK.
name
Full name of BankID holder. Only available if status=OK.
givenName
Given name (first name) of BankID holder. Only available if status=OK.
surName
Last name of BankID holder. Only available if status=OK.
message
Error message. Only available if status=ERROR.
details
Detailed error message. Only available if status=ERROR.

Example response:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 390010
{
"surName" : "Landgren",
  "signature" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PFNpZ25hdHVyZSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+PFNpZ25lZEluZm8geG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPjxDYW5vbmljYWxpemF0aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sLWMxNG4tMjAwMTAzMTUiPjwvQ2Fub25pY2FsaXphdGlvbk1ldGhvZD48U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxkc2lnLW1vcmUjcnNhLXNoYTI1NiI+PC9TaWduYXR1cmVNZXRob2Q+PFJlZmVyZW5jZSBUeXBlPSJodHRwOi8vd3d3LmJhbmtpZC5jb20vc2lnbmF0dXJlL3YxLjAuMC90eXBlcyIgVVJJPSIjYmlkU2lnbmVkRGF0YSI+PFRyYW5zZm9ybXM+PFRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLXhtbC1jMTRuLTIwMDEwMzE1Ij48L1RyYW5zZm9ybT48L1RyYW5zZm9ybXM+PERpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI3NoYTI1NiI+PC9EaWdlc3RNZXRob2Q+PERpZ2VzdFZhbHVlPmZQSVQ1TzVSZDJHMmM0cTF3a25uZDJMTHVkOE1mR3pXK1d3b3FlS3FyVkU9PC9EaWdlc3RWYWx1ZT48L1JlZmVyZW5jZT48UmVmZXJlbmNlIFVSST0iI2JpZEtleUluZm8iPjxUcmFuc2Zvcm1zPjxUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy14bWwtYzE0bi0yMDAxMDMxNSI+PC9UcmFuc2Zvcm0+PC9UcmFuc2Zvcm1zPjxEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyNzaGEyNTYiPjwvRGlnZXN0TWV0aG9kPjxEaWdlc3RWYWx1ZT5xbWthSi9UQzAyY3lyakdBdk5hSyt3YW8yRXpOSnVZaUZmK09VWnAwRzhJPTwvRGlnZXN0VmFsdWU+PC9SZWZlcmVuY2U+PC9TaWduZWRJbmZvPjxTaWduYXR1cmVWYWx1ZT5sUlZXZFJRZC9GUzVrbjhhcGExcE9weUlmWThyS1ZtRGxCb1hEWnRxZDlTMHlVSXhVYnlZbUFtNmdkQmN1UFh4YlRMSDk2UFExTWwrbVRNU0swLzlzTmUvcFI4V1VlVWhjS21GdFhUT21OcStmSDdmUHhxb01mbXhob3B6ak1DeFlaSXFoM1lDMVhDZGhqOTQ5RVBIMER3K29UcldwY3Q2am9zRmx4VlVFeklOa0ZnRTVxd1c0V3pvSmhWdk1PaUd4MmJxSHZEa0lNbTNWNUp4TjNNT3VrMTBhR0NyYzJYM3hnWVBoMnBjUWs1b1J2bVA4RTlyT083MlNrZ2lZcVVCbi9nMDJSbWlmMTJIbkwyOE9qeGVMb0ZBNm9jMDVocVNQSnh3a2o1bk5vUGRQaGhZTXRiWnBoSEZERHRMKzB6VGxtS0pzTy9SNEFueC9hemVBK29saGc9PTwvU2lnbmF0dXJlVmFsdWU+PEtleUluZm8geG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiIElkPSJiaWRLZXlJbmZvIj48WDUwOURhdGE+PFg1MDlDZXJ0aWZpY2F0ZT5NSUlGV2pDQ0EwS2dBd0lCQWdJSU5uaVoxcCs3b3ZFd0RRWUpLb1pJaHZjTkFRRUxCUUF3ZURFTE1Ba0dBMVVFQmhNQ1UwVXhIVEFiQmdOVkJBb01GRlJsYzNSaVlXNXJJRUVnUVVJZ0tIQjFZbXdwTVJVd0V3WURWUVFGRXd3eE1URXhNVEV4TVRFeE1URXhNekF4QmdOVkJBTU1LbFJsYzNSaVlXNXJJRUVnUTNWemRHOXRaWElnUTBFeElIWXhJR1p2Y2lCQ1lXNXJTVVFnVkdWemREQWVGdzB4TnpBeU1qTXlNekF3TURCYUZ3MHhPVEF5TWpReU1qVTVOVGxhTUlHNE1Rc3dDUVlEVlFRR0V3SlRSVEVkTUJzR0ExVUVDZ3dVVkdWemRHSmhibXNnUVNCQlFpQW9jSFZpYkNreEVUQVBCZ05WQkFRTUNFeGhibVJuY21WdU1RNHdEQVlEVlFRcURBVlNaV2x1WlRFVk1CTUdBMVVFQlJNTU1Ua3hNakV5TVRJM056Y3hNVGN3TlFZRFZRUXBEQzRvTVRjd01qSTBJREV4TGpVeEtTQlNaV2x1WlNCTVlXNWtaM0psYmlBdElFSmhibXRKUkNCd3c2VWdabWxzTVJjd0ZRWURWUVFEREE1U1pXbHVaU0JNWVc1a1ozSmxiakNDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFLNm1yZXBCZnZ0V2d2ZEZVY0dBVDR1S3kzSUNlVkI4eGZzcjZ3cW9KR0RCRk1xTlRUWmJWZXpDL01kK0o4dCs0NTN1cFpYVjZHc2ZFSzdFZFZkSlRuT0VYS1dlakppTVNsQmh6MGtXaEQvNnhmeVpDR0gzUysydkIxVFErUWhUQlhiZXJpRGp4YUxzcko5RUtnQ0d4b0ExSHNvNStnNUk1bDE2UXA1NW1CWlA2MVMxWll4QnhuWFB2WFByQVZmQkJuZCt0Qmt5MWpGRG1OUytqSXhNeVA2MGwxQUFVZnNEWGFlU2xxdk9kN2lEZEhLYWp4YWgxMkY1VXEwZVQvUVU2MlBQMmoyUFdCQkV0OHBVL3krSWVRTjEwekphdTZ3cUtzSzROdUV2amxyL3JacmZNejVSNDVwQ3M1a1VEa1JJMHZCMUdlY0pkdUVOMlNva1NYeU5rWGNDQXdFQUFhT0JwakNCb3pBK0JnZ3JCZ0VGQlFjQkFRUXlNREF3TGdZSUt3WUJCUVVITUFHR0ltaDBkSEE2THk5amNHRmpkQzUwWlhOMExuQnJhWE5sY25acFkyVnpMbU52YlM4d0VRWURWUjBnQkFvd0NEQUdCZ1FxQXdRRk1BNEdBMVVkRHdFQi93UUVBd0lHUURBZEJnTlZIUTRFRmdRVVR3NFlVTEdvck15QzlKdG5rek9wbWx1ZjFzSXdId1lEVlIwakJCZ3dGb0FVWUhwOXAxbURqSitrc1JmcURVTkRsVVBtbWYwd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFHSXA3M2FvRFBlQ0x2VTR5d0hUK3U5d2o2OFBwTWdMcGZVeUdId2NFMFdRZTVHTE44MUlWZUIyRXhuNS9SUVErY1RERXhPSWNaOG8xdzZDTCtRUktNeDIzcDIwczVHV0FaTXdzNUt2emZDK0dBWHo0SlBlY0RwTDJoZ3FPOFB4b0szeVdoelByZ3JWYnp5VDJlSmk5MWJpNXdLcEZ4MjRFdDZ3MlJJR1pqbVFSUEQyVFdVRUhKS0tPOUdScWRjOERsa2RCdDdiOXhEQ3JCRmRaeUlDK0h3c0hPTWhETHJjSkpXdVU5ZVljWm14STRIQm0xTituUktrVy9UKzB4QkwxbG1NRlhZbGZqdWVpS29JU3ZLZkRKNjFGVmw4eElhTi9IajJDYVBnSEpBK01SN2U3UThkcDJmdCtaOHVYbXFlZ0JHSmw0SWQ2RWZLTndybG1QTkQ0UmtKYWg5OElOZXVJbExqVVFMSHJkNHE4cTkycnZ1NXBiMlhOazFTVGJncjFlVkQ4S2xGak4rVmZFRndJMXN5b1ZXdWtGVjYyY2hQeTl0ck0rZk8rMEVqc2JjS1lEYlV3MlFlVnl3VU4zZkN0Qm01MjZLa1VWWXFibnc3R2RkNlRxRElhV0JNTUxtZzFIRG9Bb2pWdjhjN20wMnJYZzIyenBzYUJJNnhkUjNobW9XbWdBVk84N0VGMDB5d2hvbk41WlBPbG10clpWdFh1M1FXOFV5c1NkS3paWE5TNkxZL3Vaai9JOWNiZlkxMmJ1cllhME82c2ZKYllRNldaUFBsaW9OK2JGV0x0TVREMW9rQ1BFQkFRUXNHcEFESnJKMEpJZ3ozczhvN2VsUHkrTFlEMEpDSTBJTHZhMm1VSXA2Y2VmNDQ1UG53elJPb2E2MWdaS0VPM2R6RzwvWDUwOUNlcnRpZmljYXRlPjxYNTA5Q2VydGlmaWNhdGU+TUlJRjNqQ0NBOGFnQXdJQkFnSUlGblpWeWVobVhZd3dEUVlKS29aSWh2Y05BUUVOQlFBd2JqRUxNQWtHQTFVRUJoTUNVMFV4SFRBYkJnTlZCQW9NRkZSbGMzUmlZVzVySUVFZ1FVSWdLSEIxWW13cE1SVXdFd1lEVlFRRkV3d3hNVEV4TVRFeE1URXhNVEV4S1RBbkJnTlZCQU1NSUZSbGMzUmlZVzVySUVFZ1EwRWdkakVnWm05eUlFSmhibXRKUkNCVVpYTjBNQjRYRFRFeE1Ea3lNakUwTWpFeE5Gb1hEVE0wTVRJd01URTBNakV4TkZvd2VERUxNQWtHQTFVRUJoTUNVMFV4SFRBYkJnTlZCQW9NRkZSbGMzUmlZVzVySUVFZ1FVSWdLSEIxWW13cE1SVXdFd1lEVlFRRkV3d3hNVEV4TVRFeE1URXhNVEV4TXpBeEJnTlZCQU1NS2xSbGMzUmlZVzVySUVFZ1EzVnpkRzl0WlhJZ1EwRXhJSFl4SUdadmNpQkNZVzVyU1VRZ1ZHVnpkRENDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0NBZ29DZ2dJQkFJVzBEUG9wTEVodGF3VlJ3TnJFNDMxR1ZzaC9IbldWc1hkZ09qelVzRDdRRDMwL3RmT0hST1FpOW5MdURXa1kxZkVVeFowNllxNUx0Uk9vRnBrVFE2U1JpMlJnaVVrdUNOcU1Fd3NqMmVpYTdLaFlSSWsvWEpra0ZwMUJ2RTYySTYzdnRVelp6UzY5SEFzTU5QbGZkTFUycElaMkFuZDJRSjJkQzB4aW1tRmpZNWs1L3o3L05rM0pHQmJheExIL1g2emhjTnFPcHIyU3J2OUcrbGsrR3Z5N2hRTEltTkxSVis0RzNtYWxIajZRTSt3RGNSS3ZUNFYraVJkdnpQOW84MDMvZytHTDVxaXVmVzZSZFQrMmx3R2lmUDJkM3N1TDc5dUdXMUhPOHFiaWkvaTRIVHhEZnRLZFhGc2xGclhmUisrUVVVNEIrdjZReWI0ckYzcWhEZmVha2dmTDh1emZ0TXRUTVJsb3d4SWIwOGp4Q2VoQ1NhWTBDTUJIUVRTMEx0WDFDL1ZqTTZVYmJwU2EyODB6U0wreFhsUzdTNzI3c0pCNzIyZnpXUjMvTlNwM01aVGJFMFFBcU1URU5ZNHBmd2MvbFh3Vm44VHZBTncxRkl4RTdpa3dJQk1GU282ZVgyVUREejlhaTZkelJyWWZ0STQ0RXRMVHYzS1Y1VURXY0lic1JCdmxnQlFxcXVwaGN1UlZ2MWE2WG85eGVIMitvK0Jzcitzb3VtaUM2eklGdVV1QnhCNHVxc1NxZVZRRmtJYWVwaW53aFg1Q0pCWkxjT1JhTVpGNkkxa0d2RURaT1ZZWE9FdDlQV2cvU3NTY0dNK3NmMjUxMEd6MGYyb21Rak9MNUJlemRZWUtOQXd6aXo5VTFJcjFWcHZ6a0pGNFNBM1cwNWNtampLWkFnTUJBQUdqZGpCME1CMEdBMVVkRGdRV0JCUmdlbjJuV1lPTW42U3hGK29OUTBPVlErYVovVEFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjhHQTFVZEl3UVlNQmFBRktQeWVIa2RLMFdLeWVIS2xRbmxubS9PeTA3Rk1CRUdBMVVkSUFRS01BZ3dCZ1lFS2dNRUJUQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0RRWUpLb1pJaHZjTkFRRU5CUUFEZ2dJQkFEeGh5eldTem9reUcraFVDcDNVZzdRWnhiTUxLKzZJWXArOGFjUnVUU0ZmcjVtYUgzTXJ5ZDg3L0IyeTlLM2ZXK0ZYUUxwZGhWSG92S0pPQVF5di90M0NBNjJaR3J6aEFYR3FDY1I5U240NGVjS1JKUEU5WkpiemFsbzR3dEtSVXYwNFcyWmdGdW5ZVE41NVRzTm4zYkd6Y0lpQWRkTXE5VE1Ld0lqbDZwNWk2b0lqQW10OS83NVFmN3FRLzF4MjBFVWRzdis4UVBJcDF2bEI4dkF6QXRvKzhiWkZDUnNkTVZMUlJrOTZDb1M1M3Y0YURZWUFNeG1zVGJndkxxVlU1L0NOZlZFZ1ZlU3BGVlN6NmZsYkZNQlpkNUxPUGdsaS9sUko3Rldld1F2clphS2dmSmdkbVVVdkNwaTBlRCsvS0Juc0VKTGJoZG5LL0IraVRvNEE2QndvUis5WGhPUXlOTVRCL1NEdFNZY3pKMzV2RmhaZktKNS8wcHNxWFNKSC8yNXdBNHBlLzM0RVJ6UTFtZ2xhZHQ2Sk9obldmOTJKdzVqZHc3QkZwdGc3bG1Ja0R5WURVKzZSeUVzQXJDaWJJKzI4eUY1L2ZDWkN1VWR3RHc5aUhwb29kZjFoOHQxZ2ZQbm5ta2N3R1RmUGcvZHVVZ2tGd0tZOTdTemZaZ1IwMmhkN3h4bzVwSzc5Y3ppbU1GMkdURnc5U1dTbmxaSzcxZm9ZMjVGelNVSE5tdUdIaEZ6Rzk4QUZJdDBWTHdpVGo4dEplU2pUaTQxaWYyMzd2RE52c2VwdCs4L3R0ODAvZjQ1S3pQTmZXVUIwNi9GR3Iwd2ZvWWdacDRQaTlSUlRYekRhZndqN3FMZHVhZXBSckxjRVVwWFdDR3J1U1V5bHh4Q2hkQlR3VnpabjwvWDUwOUNlcnRpZmljYXRlPjxYNTA5Q2VydGlmaWNhdGU+TUlJRjB6Q0NBN3VnQXdJQkFnSUlVWW1mZHRxdHk4MHdEUVlKS29aSWh2Y05BUUVOQlFBd2JURWtNQ0lHQTFVRUNnd2JSbWx1WVc1emFXVnNiQ0JKUkMxVVpXdHVhV3NnUWtsRUlFRkNNUjh3SFFZRFZRUUxEQlpDWVc1clNVUWdUV1Z0WW1WeUlFSmhibXR6SUVOQk1TUXdJZ1lEVlFRRERCdFVaWE4wSUVKaGJtdEpSQ0JTYjI5MElFTkJJSFl4SUZSbGMzUXdIaGNOTVRFd09USXlNVFF4TlRBeldoY05NelF4TWpNeE1UUXdNVE16V2pCdU1Rc3dDUVlEVlFRR0V3SlRSVEVkTUJzR0ExVUVDZ3dVVkdWemRHSmhibXNnUVNCQlFpQW9jSFZpYkNreEZUQVRCZ05WQkFVVERERXhNVEV4TVRFeE1URXhNVEVwTUNjR0ExVUVBd3dnVkdWemRHSmhibXNnUVNCRFFTQjJNU0JtYjNJZ1FtRnVhMGxFSUZSbGMzUXdnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDRHdBd2dnSUtBb0lDQVFDVHFVN3V4azVRemJYUzZBclhJR1RXTmVaWHo2NWJ6ZGdveGI3OUx2WWgvcDdrY0syNW1BMnR6R3BPM1FTMWVLSkp1ODRHOVVOem00bU1sNmNuZ25YY2p4RVRZaUVxdGlqckE1bWZ6ODY1L1g2VWdPcFg3RGtvdVE4ZDVlRHloSjQ5VXJEcWxyZ29WTXgzMjJrTTBTWjRoZVZlWDgzZTFJU0ZpeXhxWkJLeGgyNXlLWUVaQTRFeklyRGoydGk4Q1JyV1BIQ1RXYUlGcGNkNVR5TWhwVVRQbjREendQaFBHV01STnhnT0FlUDRCU0RCN1I2YXo0cm94N1RQa2Qyc1dHMU9Eai8wSVJQaEpTMWRRMUI3UWlOSFk1OFJqbk5UaEVRS3dkV1dNUE1LUHRoU2QrR0VqTDlHRGFmWXhPc0lyS0ZZd2xZTkJXM0M1bWJlM1QrM2orQXhqNlcySGJnbUpYUEdJdEx1Y3hZMWtQd1Q5TDd1NW5JeGFST21oMXVUd1lxcjlwdUdxNnNvSm5nZ0VTM0s0UEloTTZrYW12bkNDUFhvcVdDQ3J1U0VQVmd5RVpFaTBzaHkrODFRc2ViMWdjOXJZZ1ZyRW5MQk9JeU1xYVR0RXhhRnByWWJ2MWYvQXdXdGpGVWkyWGlTZE44YU1wK2txYmkrMXRLSlVVUExDK0NyZHU5ZkZvLzhsc2xTZGV3K1NuUFZGZVZ6NUNPS2J0NkdURTR4Y0plUnpXNXdRMHc3YityR0xXaEp2d1JKc1M1R1h2cWEzTGc4RXlXaUxKc3d1VEZhRXdQVUR2WkJ2eUZaRVplcnRLZ1piUll2ZXpvOS9ncnd5Qittb3JWckxyeXU5Y2hZRVl3RTU1MHV6eUt0elhVenlnVjhGcFhlOURwbXBPU2ZHTUFVUlFJREFRQUJvM1l3ZERBZEJnTlZIUTRFRmdRVW8vSjRlUjByUllySjRjcVZDZVdlYjg3TFRzVXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWZCZ05WSFNNRUdEQVdnQlJLOTZOcUNOb0lPQmNaVXlqSTJxYldOTmhhdWpBUkJnTlZIU0FFQ2pBSU1BWUdCQ29EQkFVd0RnWURWUjBQQVFIL0JBUURBZ0VHTUEwR0NTcUdTSWIzRFFFQkRRVUFBNElDQVFEUDFEb3hqRWpleUcyN3hlYWkrbXB4eEpvcUIxUkRWVEVZODZSZE55bHVVS1FPSWJmS0pNbVgrRFg0dlR1VVFTMzUzOXh6SEt3cGo2Z2sraVpWakYxVW9KdEdwK3F1cmpqYXJPaDQ0cysrczB5V0tpS3JKQkVsb0puOG8rWVhGVDhDN2UxV3RxSlZvYUZkREJDdm9oSnlLMjBQS1M3L25VRzViN0o2aXEzNTE3WXZqYjREOTRMdDBkSE5TZ0QyQklJSG1Oa3BTWVdneWkxc2VhdmhONUFqdGZKcjRwMTAxdTJTc05jTEFyNDJBNWZyYW45dkwyOUhqYU0yTVRVOEwwT3hvSVg4bGdjcFV5OXdjaTdsSFFLT2l3YU9jSUtmQ0MxcU03bE81ejBjNFArbzB6VDYxODN4SlYzcm13MjJHR1lkNDBFQnFXOTdvcUJLMElqK0tsNXN1eWNaNEoycUsxYVZjaVlCWnNCTmxidG16L2s4SHVCeHk5V2JFZVBzWS82MUk1MGZCTFNBa1ZrL1RlYTRqK05OSEoxaW1wN0JvMThhTG84cGxiOWUyaVplSUR6SDF1NjZvMFJGWWJIZG5KRDhDblBlQkxWZ1N2RXFtQlMxMWZnSHI4MS90azVsSnhjS2VqZHNFZnR6R1F4d3VIdy9wamtqb2JJa3hycm9YcGE2aVhva1Z5SDRiZTE2K2YvZERhRWtoOVJmOExoMVVFUVB4eHBDeUlTTWlmSDVwTDc4REtoR25oOFZmaTdFZXNVVjFrNlkzZVZDRncyQ0NLV2N2WHNKYjlRcUxGc0RxSWxXUGg2YkJnTTRhWGZwZTBhckRyZ1lSYmJ4OEw2b3VoeXhBSHdqdHo5aTBsWGV6V01YNWY3UVlSRU1UQzV5QlBOVFRQMmZDTnNvelE9PTwvWDUwOUNlcnRpZmljYXRlPjwvWDUwOURhdGE+PC9LZXlJbmZvPjxPYmplY3Q+PGJhbmtJZFNpZ25lZERhdGEgeG1sbnM9Imh0dHA6Ly93d3cuYmFua2lkLmNvbS9zaWduYXR1cmUvdjEuMC4wL3R5cGVzIiBJZD0iYmlkU2lnbmVkRGF0YSI+PHVzclZpc2libGVEYXRhIGNoYXJzZXQ9IlVURi04IiB2aXNpYmxlPSJ3eXNpd3lzIj5WR2hwY3lCcGN5QjBhR1VnWkdGMFlTQjBieUJpWlNCemFXZHVaV1FoSVE9PTwvdXNyVmlzaWJsZURhdGE+PHVzck5vblZpc2libGVEYXRhPlZHaHBjeUJwY3lCMGFHVWdhR2xrWkdWdUlHUmhkR0VoSVE9PTwvdXNyTm9uVmlzaWJsZURhdGE+PHNydkluZm8+PG5hbWU+WTI0OVJsQWdWR1Z6ZEdObGNuUWdNaXh1WVcxbFBWUmxjM1FnWVhZZ1FtRnVhMGxFTEhObGNtbGhiRTUxYldKbGNqMHhNak0wTlRZM09DeHZQVlJsYzNSaVlXNXJJRUVnUVVJZ0tIQjFZbXdwTEdNOVUwVT08L25hbWU+PG5vbmNlPjhPeVRsQXVVT0tUUzNZcDNrVjg0OFZNT1VCVT08L25vbmNlPjxkaXNwbGF5TmFtZT5WR1Z6ZENCaGRpQkNZVzVyU1VRPTwvZGlzcGxheU5hbWU+PC9zcnZJbmZvPjxjbGllbnRJbmZvPjxmdW5jSWQ+U2lnbmluZzwvZnVuY0lkPjx2ZXJzaW9uPlVHVnljMjl1WVd3OU55NHhMakF1TWpBbVFtRnVhMGxFWDJWNFpUMDNMakV1TUM0eU1DWkNTVk5RUFRjdU1TNHdMakl3Sm5Cc1lYUm1iM0p0UFcxaFkyOXplQ1p2YzE5MlpYSnphVzl1UFRFd0xqRXdKblZvYVQxbmNqZEtTR0oyVldkT1kycDFOamxHZEVOa0x6RjNlVlYwYlhCUUpteGxaMkZqZVhWb2FUMW5jamRLU0dKMlZXZE9ZMnAxTmpsR2RFTmtMekYzZVZWMGJYQlFKbUpsYzNSZlltVm1iM0psUFRFME9UYzJPVEUyTkRNbTwvdmVyc2lvbj48ZW52PjxhaT48dHlwZT5UMU5mV0E9PTwvdHlwZT48ZGV2aWNlSW5mbz5NVEF1TVRBPTwvZGV2aWNlSW5mbz48dWhpPmdyN0pIYnZVZ05janU2OUZ0Q2QvMXd5VXRtcFA8L3VoaT48ZnNpYj4wPC9mc2liPjx1dGI+Y3MxPC91dGI+PHJlcXVpcmVtZW50Pjxjb25kaXRpb24+PHR5cGU+Q2VydGlmaWNhdGVQb2xpY2llczwvdHlwZT48dmFsdWU+MS4yLjMuNC41PC92YWx1ZT48L2NvbmRpdGlvbj48L3JlcXVpcmVtZW50PjwvYWk+PC9lbnY+PC9jbGllbnRJbmZvPjwvYmFua0lkU2lnbmVkRGF0YT48L09iamVjdD48L1NpZ25hdHVyZT4=",
  "ocspResponse" : "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",
  "givenName" : "Reine",
  "name" : "Reine Landgren",
  "status" : "OK"
}

Common errors

Common errors will result in a HTTP Status 500 with a body containing the error message:

{”message”:”<error explained>”}