Set of instructions to interact with the conformance service. Check also the scripts located in scripts/wctv3
with complete flows.
conformance get <url>
Command to GET in conformance service. It is useful to get the conformance logs.
Parameters:
- url: Path to get.
Examples:
data: conformance get /logs/5fd122e1-c5e5-40a6-b448-00e0f21f9d7e
conformance get /logs/ conformanceId
conformance get /health
conformance clientMockInitiate
Some of the tests for the Wallet Conformance Testing require the creation of a server to be used in the PEXv2/OpenID for VP protocol. This command helps you to create this server in the conformance service side, it is called the Client Mock. Take into account that this is a temporary API just for testing purposes and it's persistency it's not guaranteed.
Examples:
conformance clientMockInitiate
once it's created run view user
to see the URL of your client.
conformance clientMockUpdateList <statusIndex> <statusListIndex> <value>
Command to setup, in the client mock, a service to get the status of revocation of a list of VCs by following the StatusList2021 standard. This command can also be used to update the status of these VCs. Take into account that this service is only for testing purposes and should not be used in production.
Parameters:
- statusIndex: Status index of the url. For instance, use "1" when targeting /credentials/status/1.
- statusListIndex: Bit position of the status of the credential.
- value: 0 for valid, 1 for revoked.
Examples:
conformance clientMockUpdateList 1 0 0
conformance authMockAuthorize <openIdCredentialIssuer> <openIdConfiguration> <requestedTypes> <alg> <codeVerifier> <issuerState>
Command to call the /authorize endpoint of the auth mock in conformance service. The redirect is intercepted and this command returns the query params in the location field of the headers.
Parameters:
- openIdCredentialIssuer: OpenID credential issuer. It is obtained with
conformance get /issuer-mock/.well-known/openid-credential-issuer
. - openIdConfiguration: OpenID configuration. It is obtained with
conformance get /auth-mock/.well-known/openid-configuration
. - requestedTypes: Array of requested types.
- alg (optional): Signing algorithm (ES256 by default).
- codeVerifier (optional): Code verifier in case of using PKCE challenge.
- issuerState (optional): Issuer state to be included in the query params.
Examples:
conformance authMockAuthorize {"authorization_server":"https://api-conformance.ebsi.eu/conformance/v3/auth-mock","credential_issuer":"https://api-conformance.ebsi.eu/conformance/v3/issuer-mock"} {"authorization_endpoint":"https://api-conformance.ebsi.eu/conformance/v3/auth-mock/authorize"} ["VerifiableCredential","VerifiableAttestation","VerifiableAuthorisationToOnboard"] ES256
conformance authMockDirectPostIdToken <openIdCredentialIssuer> <openIdConfiguration> <issuerRequest> <alg>
Command to call the direct post endpoint of the auth mock of the conformance service by presenting an ID Token. The redirect is intercepted and this command returns the query params in the location field of the headers.
Parameters:
- openIdCredentialIssuer: OpenID credential issuer. It is obtained with
conformance get /issuer-mock/.well-known/openid-credential-issuer
. - openIdConfiguration: OpenID configuration. It is obtained with
conformance get /auth-mock/.well-known/openid-configuration
. - issuerRequest: Object containing state and nonce, which are obtained from the /authorize endpoint.
- alg (optional): Signing algorithm (ES256 by default).
Examples:
conformance authMockDirectPostIdToken {"authorization_server":"https://api-conformance.ebsi.eu/conformance/v3/auth-mock","credential_issuer":"https://api-conformance.ebsi.eu/conformance/v3/issuer-mock"} {"redirect_uris":["https://api-conformance.ebsi.eu/conformance/v3/auth-mock/direct_post"]} {"state":"6dfa6336-4dfd-4461-927f-0e8c5e482cee","client_id":"https://api-conformance.ebsi.eu/conformance/v3/auth-mock","redirect_uri":"https://api-conformance.ebsi.eu/conformance/v3/auth-mock/direct_post","response_type":"id_token","response_mode":"direct_post","scope":"openid","nonce":"8b0fbc51-f020-4811-9d8f-0bc8faaaf44a","request_uri":"https://api-conformance.ebsi.eu/conformance/v3/auth-mock/request_uri/56774e12-0d71-4089-9446-7b316ec93955"} ES256
conformance authMockDirectPostVpToken <openIdConfiguration> <issuerRequest> <vpJwt> <type>
Command to call the direct post endpoint of the auth mock of the conformance service by presenting a VP Token. The redirect is intercepted and this command returns the query params in the location field of the headers.
Parameters:
- openIdConfiguration: OpenID configuration. It is obtained with
conformance get /auth-mock/.well-known/openid-configuration
. - issuerRequest: Object containing state and nonce, which are obtained from the /authorize endpoint.
- vpJwt: Verifiable Presentation in JWT format.
- type: It must be "holder" when making a presentation submission related to the Holder Wallet test. Or empty value for other cases.
conformance authMockToken <openIdCredentialIssuer> <openIdConfiguration> <code> <alg> <codeVerifier> <type>
Command to call the /token endpoint of the auth mock in conformance service.
Parameters:
- openIdCredentialIssuer: OpenID credential issuer. It is obtained with
conformance get /issuer-mock/.well-known/openid-credential-issuer
. - openIdConfiguration: OpenID configuration. It is obtained with
conformance get /auth-mock/.well-known/openid-configuration
. - code: Code obtained from the direct post call.
- alg (optional): Signing algorithm (ES256 by default).
- codeVerifier (optional): Code verifier in case of using PKCE challenge.
- type (optional): It must be authorised (default) or preAuthorised.
Examples:
conformance authMockToken {"authorization_server":"https://api-conformance.ebsi.eu/conformance/v3/auth-mock","credential_issuer":"https://api-conformance.ebsi.eu/conformance/v3/issuer-mock"} {"token_endpoint":"https://api-conformance.ebsi.eu/conformance/v3/auth-mock/token"} b170601e-fe20-4cf7-860f-782e0c3262fb ES256
conformance issuerMockCredential <openIdCredentialIssuer> <nonce> <requestedTypes> <alg>
Command to call the /credential endpoint of the issuer mock of conformance service. It is used to issue the credential.
Parameters:
- openIdCredentialIssuer: OpenID credential issuer. It is obtained with
conformance get /issuer-mock/.well-known/openid-credential-issuer
. - nonce: c_nonce obtained from the token endpoint.
- requestedTypes: Array of requested types.
- alg (optional): Signing algorithm (ES256 by default).
Examples:
conformance issuerMockCredential {"credential_issuer":"https://api-conformance.ebsi.eu/conformance/v3/issuer-mock"} 84317381-94b1-43f2-a79d-ee134b02c3cc ["VerifiableCredential","VerifiableAttestation","VerifiableAuthorisationToOnboard"] ES256
conformance issuerMockDeferred <openIdCredentialIssuer> <acceptanceToken>
Command to call the deferred credential endpoint when receiving the credential in deferred way, like in the exchange of requesting a credential to be a Root TAO.
Parameters:
- openIdCredentialIssuer: OpenID credential issuer. It is obtained with
conformance get /issuer-mock/.well-known/openid-credential-issuer
. - acceptanceToken: Acceptance token obtained from the /credential endpoint.
conformance issuerMockInitiateCredentialOffer <initiateCredentialOfferEndpoint> <credentialType>
Command to initiate the credential offer in the issuer mock of the conformance service. It is used during the Holder Wallet test.
Parameters:
- initiateCredentialOfferEndpoint: Initiate credential offer endpoint.
- credentialType: Requested type.
Examples:
conformance issuerMockInitiateCredentialOffer https://api-conformance.ebsi.eu/conformance/v3/issuer-mock/initiate-credential-offer CTWalletCrossAuthorisedInTime
conformance getCredential <type> <alg> <vc> <issuer>
Command to make the complete presentation exchange (auth mock and issuer mock) in order to get a Verifiable Credential.
Parameters:
- type: Type of presentation exchange to be established with the issuer. It must be "onboard", "ti", "tao", "roottao", "ctrevocable", or "qualification".
- alg (optional): Signing algorithm (ES256 by default).
- vc (optional): VC to be wrapped in the verifiable presentation.
- issuer (optional): DID of the issuer if the target is the client mock of conformance service. Otherwise the issuer mock will be targeted.
Examples:
conformance getCredential onboard
conformance holder <credentialType> <communicationType> <inputAlg> <vc> <typeCredentialOffer> <inputIssuer>
Command to make the complete presentation exchange in order to get a credential for a natural person.
Parameters:
- credentialType: Credential type to be requested. It must be one of the following values: CTWalletSameAuthorisedInTime, CTWalletCrossAuthorisedInTime, CTWalletSameAuthorisedDeferred, CTWalletCrossAuthorisedDeferred, CTWalletQualificationCredential, CTWalletSamePreAuthorisedInTime, CTWalletCrossPreAuthorisedInTime, CTWalletSamePreAuthorisedDeferred, CTWalletCrossPreAuthorisedDeferred, or VerifiablePortableDocumentA1.
- communicationType (optional): It must be authorisedInTime, authorisedDeferred, preAuthorisedInTime, or preAuthorisedDeferred.
- alg (optional): Signing algorithm (ES256 by default).
- vc (optional): VCs to be wrapped in the verifiable presentation. Use empty for no VCs.
- typeCredentialOffer (optional): It must be credential-offer or skip-credential-offer.
- inputIssuer (optional): DID of the issuer if the target is the client mock of conformance service. Otherwise the issuer mock will be targeted.
Examples:
cPda1: conformance holder VerifiablePortableDocumentA1 authorisedDeferred
conformance holder CTIssueQualificationCredential authorisedInTime ES256 empty skip-credential-offer
conformance holder CTWalletQualificationCredential authorisedInTime ES256 ["ey...", "ey..."]
conformance check <testId>
Command to call the check endpoint of the conformance service in order to verify if a test passed.
Parameters:
- testId: Test ID to be checked.
Examples:
conformance check ct_wallet_same_pre_authorised_in_time
conformance check request_ct_issue_to_holder_qualification_credential
conformance check verifier_id_token_exchange
conformance check verifier_vp_revoked_vc