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>”}