Docaposte documentation interface

Introduction

This document aims to assist you in your testing of the components provided by Docaposte (Docaposte Console) on the Potential Playground. On the Docaposte Console, you will be able to perform issuance and verification of electronic attestations of attributes based on Potential use cases (UC) using templates preloaded by default in your environment. You will also be able to create templates derived from the default templates or even create your own issuance and verification templates. As part of using the Docaposte Console, you will need to create an account so that we can save your test configurations. For any questions, please contact the support team listed at the bottom of the page.

Note: As a reminder, your wallet must accept the certificate from our verifier located on Nextcloud: Exchange > 21 - PEM files > Readers

1. Click on "Create an account"

Fill in the required information to create your account. Your password must contain at least 8 characters.

Your information is only used to create an account, which will enable you to define your own templates, use them on different sessions, and consult the logs. It will not be used for any other reason. You can now log in with your email and password.

The test platform does not send any emails related to this account. Therefore, the password must be carefully stored. If you lose your password, please contact the support team.

2. Log In

Fill in your email and password, then log in.

You will land directly on the page displaying the verification “templates” available on your account. Several default templates have been prepared to allow you to easily test use cases from Potential. This page allows you to switch between the verification and issuance templates, use them in order to start a verifiable presentation or an attestation issuance, or create new templates or edit existing ones.

3. Using the verification template

In order to use a default template, choose your template (the names of the supporting attestations for the default templates are indicated in the template name, and the expected attestation format is indicated in the version name), then click on "Start Verification." In this simple example, we will verify an EudiPid in SD-JWT format.

Change the name of your verification if you wish to customize it. Otherwise, it will default to "Verification of" + the template name. This name will allow you to identify the operation in the logs of the platform (History)

The "Verification Parameters" section allows you to view the parameters provided by our verifier (some parameters are fixed and cannot be modified). You can choose verification parameters such as the expected response mode for the wallet, the prefix to wake up the prefixed wallet instead of scanning the QR code, and the callback URL to optionally specify the URL where you would like to receive the verification results (on the Potential playground, this value is optional as we will display the callback content in plain text after the verification).

In the "Requested Attributes" section, choose whether to make certain claims mandatory or optional by requested attributes for the wallet to transmit. (These changes will not affect the original template, which follows Potential's recommendations, but will allow you to test new configurations for this particular verification workflow.) Each tab represents a required attribute in the request to the wallet. For this example, we have chosen a verification template with a single required attestation. However, you can observe this case in templates like Power_of_Representation_PoR_AND_EudiPiD.

Choose and fill in all the required fields. Optionally, modify the mandatory claims for each requested attribute in the expected response from the wallet. Then, click on "Start Verification."

Specific tips for test wallets :

The European Wallet Reference Implementation:

For the latest version of the European Wallet Reference Implementation, they have updated the version of the draft of Open ID for Verifiable Presentation (draft 24 OID4VP). As long as the reference playground wallets do not support this version, the default templates are still using draft 23 of OID4VP. We will update them soon. In the meantime, you can duplicate a default template and modify it by changing the protocol version to "draft 24" to make it work.

In any case, you also need to:

The European Wallet Reference Implementation has a certificate whitelist that we are not part of; remember to whitelist our certificate.

You can now scan the QR code with your Wallet to perform the verification, or open your wallet directly if you are on the same device (in this case, it is useful to have provided a prefix in the previous step to trigger the opening of the desired wallet).

You will see the verification result and the transmitted attestations displayed clearly on your screen. You can also receive this feedback via the callback if you provided a callback URL in step 2.

4. Using the Issuance template

On the "Templates" page, click on the "Issuance" tab. Choose your template (the name of the issued attestation for the default templates are indicated in the template name, and the attestation format is indicated in the version name), then click on "Start an issuance." In this simple example, we will issue a Power Of Representation in SD-JWT format.

Change the name of your issuance if you wish to customize it. Otherwise, it will default to "Issuance of" + the template name. This name will allow you to identify the operation in the logs of the platform (History)

The "Issuance Parameters" section allows you to view the parameters provided by our issuer (some parameters are fixed and cannot be modified). You can choose issuance parameters such as the OIDC Prefix, which allows you to wake up the prefixed wallet if you are on the same device instead of scanning the QR code. In the "Credential Data" section fill out the data form that constitutes the attestation to be issued. (In the default templates, the required fields in the Credential Data form are the fields that must necessarily be included in a attestation according to Potential's specifications. It is not possible to modify them at this step. If you want to create other attestation or with different required fields, you will need to create a new Template.) Fill in the required fields. Then, click on "Start Issuance."

You can now scan the QR code with your Wallet to perform the issuance, or open your wallet directly if you are on the same device (in this case, it is useful to have provided a prefix in the previous step to trigger the opening of the desired wallet).

You will see the issuance result clearly on your screen.

5. Create a new template of verification

Click on the Verification tab and then on New Template

You land on the new template completion screen. Fill in the template name and version of the attestation: note that it cannot contain spaces or special characters. We suggest adding "_" to replace spaces. The template version can correspond to the attestation format, the type of verification performed, or a version number, according to your preference, and complements the information regarding the template name.

Choose the protocol version of OpenID for Verifiable Presentation that will be supported by the Verifier.

You can also describe the purpose (that will have no impact on the verification, and is only used as an explanation for the user) and add a wallet prefix that will be used for verification. This will be editable when using the template but pre-filled at this stage to avoid this repetitive task. Reminder, the prefix is the URL used to wake up the wallet of your choice if you open the wallet on the same device without scanning a QR code.

Further down the page, you have access to the description of the request you will make to the wallet. You can request one or more attestations or 'Input Descriptors'.

"In each input descriptor, you must describe (in the red box) the name you will give to this part of the request, the expected attestation format. You can add a purpose for each input descriptor, in addition to the general purpose of the verification. In the green box, you define the expected attestation structure by adding new fields, specifying the technical name of the field (Path) in 'Name', and indicating if you want the wallet to filter by a specific format of attribute by choosing the type of constraint to apply to the attribute in the filter (String, Number, Block), along with details (optional) on the constraints, such as a pattern (verification applied to the field, which must be defined as REGEXP).

Note: If your attestation is of type mDoc, remember to add a Block-type field containing the namespace of your attestation first, as the parent of all your attributes.

If your attestation is of type sd-jwt, make sure to define a required field for the desired VCT (Verifiable Credential Type).

(For this part, it is recommended to rely on the implementing acts and Potential specification, as the structure, technical names, and formats are standardized attestations and should therefore be implemented according to these specifications in the wallets you are querying.)

Using the blue checkmark to the right of the field, you indicate whether the field is required in the attestation for the verification performed in the template.

Click on Submit to create your template. You can now use it from the template menu, just like the default templates already available on the console.

6. Create a new template of Issuance

Choose the Issuance tab and click on New Template

You land on the new template completion screen. Fill in the template name and version of the attestation: note that it cannot contain spaces or special characters. We suggest adding "_" to replace spaces. The template version can correspond to the attestation format, the type of issuance performed, or a version number, according to your preference, and complements the information regarding the template name.

Choose the protocol version of OpenID for Verifiable Credential issuance that will be supported by the Issuer.

You can also add the protocol version, a callback URL and a wallet prefix that will be used for Issuance. This will be editable when using the template but pre-filled at this stage to avoid this repetitive task. Reminder, the prefix is the URL used to wake up the wallet of your choice if you open the wallet on the same device without scanning a QR code.

In the center of the page, you can modify and preview the display settings: that is, how the attestation will be displayed on the wallet. The display interpretation may vary from one wallet to another, but the information entered here is transmitted in a standardized way to the wallets.

You must indicate the title of the attestation that will appear on the preview image of it on the wallet, as well as add a description, a logo, a background image, or change the text color.

At the bottom of the screen, you have access to the "Attestation content" section, which allows you to describe the structure of the attestation that will be generated from this template.

Here you describe the structure of the attestation as well as the expected attributes. For each attribute, you describe the technical name of the attribute in the Label, specify the type of field it is ( String, Number, Array, Block), add the visual name of the associated attribute in the Display (which defines the name of the field that will appear in the wallet for the attribute), and define a placeholder to pre-fill the fields when using the template. If this placeholder value is completed, when using the template, this value will be editable but pre-filled.

Finally, you need to specify whether the attribute is required in the issued document by checking or unchecking the 'Required' box on the right (when you use this template to issue the attribute).

Note: If your attestation is of type mDoc, remember to add a Block-type field containing the namespace of your attestation first, as the parent of all your attributes.

For an attestation issuance in SD-JWT format, you need to fill in the VCT field (Verifiable Credential Type).

(For this part, it is recommended to rely on the execution acts and Potential specification, as the structure, technical names, and formats are standardized and therefore should be expected according to these specifications in the wallets.)

Click on Submit to create your template. You can now use it from the template menu, just like the default templates already available on the console.

Specific tips:

EUDI PID - For the “sex” field in number format:

Values shall be one of the following

0 = not known;

1 = male;

2 = female;

3 = other;

4 = inter;

5 = diverse;

6 = open;

9 = not applicable.

For values 0, 1, 2 and 9, ISO/IEC 5218 applies.

7. Quick actions on templates

Whether it is for a verification or issuance template, you can access quick actions by clicking on the "..." at the end of the template row. You can then choose to Edit, Duplicate, or Delete a template. However, the default templates cannot be deleted, and modified.

8. History

By clicking on the History menu, you can access the actions that have been performed (issuance, verification from a template).

You can thus view the type (issuance, verification) of the workflow, their last modification of its status, the user responsible for the last modification, and the current status (Pending: issuance/verification workflow created but not yet used by a wallet, Completed: workflow completed without error, Error: workflow completed but contains an error).

The "New Issuance" and "New Verification" buttons allow you to return to the template menu to use an issuance and verification template, respectively

9. Legal information, terms of use, and privacy policy

The data entered on the platform is stored in a database hosted on the ANTS infrastructure (Docaposte does not retain this information). However, please note that to facilitate the improvement of our platform, administrators have access to it. If you wish to have your information deleted, please contact the support team.

Have an issue regarding this stub?

Credential Issuers mDoc SD-JWT