Verify ISO/IEC 18013-5 mdoc credentials
This guide shows how to verify an ISO/IEC 18013-5:2021 mdoc (mDL) device response with the Vidos Verifier service.
Prerequisites
Section titled “Prerequisites”Before you start, complete the setup guide so your verifier endpoint and API key are ready.
Step 1: Prepare an mdoc device response
Section titled “Step 1: Prepare an mdoc device response”For ISO/IEC 18013-5, the Verifier expects the credential as a base64url-encoded string.
The example below is a sample device response. In a real flow, you would receive this from a wallet or device-to-reader exchange.
uQADZ3ZlcnNpb25jMS4waWRvY3VtZW50c4G5AANnZG9jVHlwZXVvcmcuaXNvLjE4MDEzLjUuMS5tRExsaXNzdWVyU2lnbmVkuQACam5hbWVTcGFjZXO5AAFxb3JnLmlzby4xODAxMy41LjGM2BhYZ7kABGhkaWdlc3RJRABmcmFuZG9tWCD61pyp42bGpG7ZKWc1RCKdEVbzeW3EH_tyFl1UVSTOmXFlbGVtZW50SWRlbnRpZmllcmtmYW1pbHlfbmFtZWxlbGVtZW50VmFsdWVlU21pdGjYGFhluQAEaGRpZ2VzdElEAWZyYW5kb21YIJgyNfOKp_1v6NVBKuV9Kl01aplp5zY-Piu4Lgdz79kpcWVsZW1lbnRJZGVudGlmaWVyamdpdmVuX25hbWVsZWxlbWVudFZhbHVlZEpvaG7YGFhuuQAEaGRpZ2VzdElEAmZyYW5kb21YIB5_yuxA3sTp2Sa_U1BS397ZQCklxJs-sRFCgXJz8DM_cWVsZW1lbnRJZGVudGlmaWVyamJpcnRoX2RhdGVsZWxlbWVudFZhbHVl2QPsajE5ODAtMDYtMTXYGFhuuQAEaGRpZ2VzdElEA2ZyYW5kb21YIOUburfHLwXL5_8VZ4QjvIcUY7h_pNQDrYV82Mvm5MbTcWVsZW1lbnRJZGVudGlmaWVyamlzc3VlX2RhdGVsZWxlbWVudFZhbHVl2QPsajIwMjMtMDMtMDHYGFhvuQAEaGRpZ2VzdElEBGZyYW5kb21YIOSkBCVJEtEyglyjQu3tIkTtpH3RfVf2iWoQaj_wR4kZcWVsZW1lbnRJZGVudGlmaWVya2V4cGlyeV9kYXRlbGVsZW1lbnRWYWx1ZdkD7GoyMDI4LTAzLTMx2BhYaLkABGhkaWdlc3RJRAVmcmFuZG9tWCBLMwvV-dOqBOAs89TBFFEhVAokeC_Jzqe7FRaR2oqvdXFlbGVtZW50SWRlbnRpZmllcm9pc3N1aW5nX2NvdW50cnlsZWxlbWVudFZhbHVlYlVT2BhYbrkABGhkaWdlc3RJRAZmcmFuZG9tWCDAHo0PXgkqKqowuCU99WWjAAfa1LxhAuHhdz5AsYRhm3FlbGVtZW50SWRlbnRpZmllcnFpc3N1aW5nX2F1dGhvcml0eWxlbGVtZW50VmFsdWVmTlkgRE1W2BhYc7kABGhkaWdlc3RJRAdmcmFuZG9tWCBP_G7HokIEvNJyJ8CRD56aLoB0zulWdV56fGfG1JCo2XFlbGVtZW50SWRlbnRpZmllcnRpc3N1aW5nX2p1cmlzZGljdGlvbmxlbGVtZW50VmFsdWVoTmV3IFlvcmvYGFhxuQAEaGRpZ2VzdElECGZyYW5kb21YICZeRL1TA1YK-VZfTGnocQYtHoxZmADMDXlegfjFm1-8cWVsZW1lbnRJZGVudGlmaWVyb2RvY3VtZW50X251bWJlcmxlbGVtZW50VmFsdWVrMDEtMzMzLTcwNzDYGFhjuQAEaGRpZ2VzdElECWZyYW5kb21YIM_jHbcOLcknX02DFKiVNYiZ6a3A0OUZIOAoKFU26DO9cWVsZW1lbnRJZGVudGlmaWVyaHBvcnRyYWl0bGVsZW1lbnRWYWx1ZWRic3Ry2BhYsbkABGhkaWdlc3RJRApmcmFuZG9tWCDEkW1up2fuH-cP6pCkb5xjScujvjZ4EnHB7wDb31XOD3FlbGVtZW50SWRlbnRpZmllcnJkcml2aW5nX3ByaXZpbGVnZXNsZWxlbWVudFZhbHVlgbkAA3V2ZWhpY2xlX2NhdGVnb3J5X2NvZGVhQ2ppc3N1ZV9kYXRlajIwMjMtMDMtMDFrZXhwaXJ5X2RhdGVqMjAyOC0wMy0zMdgYWHq5AARoZGlnZXN0SUQLZnJhbmRvbVggS-PBhOrVDNVAt5o-hU6wBzcd4cjISvYsvwSb8YDlavNxZWxlbWVudElkZW50aWZpZXJ2dW5fZGlzdGluZ3Vpc2hpbmdfc2lnbmxlbGVtZW50VmFsdWVtdGJkLXVzLm55LmRtdmppc3N1ZXJBdXRohEOhASaiBEIxMRghgVkCLjCCAiowggHQoAMCAQICFFfGzNMIveQ-yjdE8qhxONq7uIToMAoGCCqGSM49BAMCMFMxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhOZXcgWW9yazEPMA0GA1UEBwwGQWxiYW55MQ8wDQYDVQQKDAZOWSBETVYxDzANBgNVBAsMBk5ZIERNVjAeFw0yMzA5MTQxNDU1MThaFw0zMzA5MTExNDU1MThaMFMxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhOZXcgWW9yazEPMA0GA1UEBwwGQWxiYW55MQ8wDQYDVQQKDAZOWSBETVYxDzANBgNVBAsMBk5ZIERNVjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIk8LYNHkG3GzWm39javS_1TP5YYTwqtrNEIMNpEcdvbYKwXDRz8U0-uLZ3NSI93R_35eNkl6jHp6Qg8OCup7VOjgYEwfzAdBgNVHQ4EFgQUq20uA7kdSSJAM4-8yt79kzPq9scwHwYDVR0jBBgwFoAUq20uA7kdSSJAM4-8yt79kzPq9scwDwYDVR0TAQH_BAUwAwEB_zAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwCgYIKoZIzj0EAwIDSAAwRQIgCf0Mq5ewPnj2TnTX3O6IZoxHagr8WqLOv_4H0753LqkCIQDaOKvJiggPSfJP_s4f_8imzdWywLXaj8e3Z6w6ldy4PlkDGdgYWQMUuQAGZ3ZlcnNpb25jMS4wb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2bHZhbHVlRGlnZXN0c7kAAm9vcmcuY3VzdG9tLnRlc3ShAFggPFEWEJwGj6f78xhrrsE-5svkjMbEoA_TSbn68KBPL_1xb3JnLmlzby4xODAxMy41LjGsAFggg8ZTwufH0uDwcvQmmiD06zXUOPl6HJMCaqEk-3B-FHkBWCCnDBSUOgAroGde-ilemF41YZd2T0WRZWy2syQbbLtfHgJYIPDF3PDqw57aYvT1LlJpL_3AnBM_RAYAhpaENQHlNk75A1gglPPMFL4hCs5PnUVFlIB0-vOgE4otEEGtrEXMrh8SCNIEWCDAetmSJTUAPkeIdlTqrgVWZ1Zce9GaiXXwM2hl-Cvw9QVYIGPLCRKJL7zXYehbgEjKqVS8DbYONnipdZAgRFsJpGI-BlggBSyCVHi5DlAY6FejrpDI3eNPX-UFahQ9t3181hB998kHWCCgDz4wlMPS6l1DYPJg1G9I3a2ry0niwrKFDykT_cToqghYIK6hsyC5fnkiR2xoAI0nXs9JBOoJ1yuVDeemBUvabni3CVgg92Sj9dDZmLc1Be8dwY6xXXes0SsuIQDlkAGrnAaF2lQKWCCh3Q_718_y_h7kRSPTXbu91cm1nGrgCtbdeFVUl4iYyQtYIP0siFlNZZSHK4esXVxD2XIRpz_9NIoKrqceVO8dwvvJbWRldmljZUtleUluZm-5AAFpZGV2aWNlS2V5pAECIVggiBh5ynojixm_D0wfjADpouGbp6b3Pq6SuFHU3htQhVkiWCCjFLU4A5Entc1Qc19UUZ4zwTRFBUXFYDrZ8mP6zFbTdyABZ2RvY1R5cGV1b3JnLmlzby4xODAxMy41LjEubURMbHZhbGlkaXR5SW5mb7kAA2ZzaWduZWTAdDIwMjMtMDktMjlUMTU6NDE6NTlaaXZhbGlkRnJvbcB0MjAyMy0wOS0yOVQxNTo0MTo1OVpqdmFsaWRVbnRpbMB0MjA3My0wOS0yOVQxNTo0MTo1OVpYQNgsmCtJJhS8BCQUhCBtphsc_2S_oNMbVQwJCWvGLybBO07yytS4fZ5zcXYgAB2ykX542oWJbQRuJTWVr59CpZRsZGV2aWNlU2lnbmVkuQACam5hbWVTcGFjZXPYGEGgamRldmljZUF1dGi5AAFvZGV2aWNlU2lnbmF0dXJlhEOhASahBEIxMVjS2BhYzoR0RGV2aWNlQXV0aGVudGljYXRpb26D9vaEZjEyMzQ1NngrQ3ExYW5QYjh2WlU1ajVDMGQ3aGNzYnVKTEJwSWF3VUpJRFFSaTJFYndiNHhcaHR0cDovL2xvY2FsaG9zdDo0MDAwL2FwaS9wcmVzZW50YXRpb25fcmVxdWVzdC9kYzg5OTlkZi1kNmVhLTRjODQtOTk4NS0zN2E4YjgxYTgyZWMvY2FsbGJhY2tnYWJjZGVmZ3VvcmcuaXNvLjE4MDEzLjUuMS5tREzYGEGgWECpe1-bWdGT7aZiVC5xy32vb6iVKsiwzOgvIueDTR-o8NLKslpwhlgibAPZaVDQDDUW_OYqIgdI1PCmlgciQ7UCZnN0YXR1cwAStep 2: Configure holder binding (recommended)
Section titled “Step 2: Configure holder binding (recommended)”To validate device authentication, provide ISO/IEC 18013-5 holder binding inputs under options.policyParams.proof.holderBinding.
{ "at": "2026-02-22T00:00:00.000Z", "policyParams": { "proof": { "holderBinding": { "type": "iso18013-5", "encodedSessionTranscript": "2BhYnoP29oRmMTIzNDU2eCtDcTFhblBiOHZaVTVqNUMwZDdoY3NidUpMQnBJYXdVSklEUVJpMkVid2I0eFxodHRwOi8vbG9jYWxob3N0OjQwMDAvYXBpL3ByZXNlbnRhdGlvbl9yZXF1ZXN0L2RjODk5OWRmLWQ2ZWEtNGM4NC05OTg1LTM3YThiODFhODJlYy9jYWxsYmFja2dhYmNkZWZn", "ephemeralReaderKey": "U0tSZWFkZXI" } } }}If you omit encodedSessionTranscript and ephemeralReaderKey, the Verifier can skip the device signature check for mdoc proofs.
Use holder binding options when you need device authentication to be enforced.
Step 3: Call the Verifier API
Section titled “Step 3: Call the Verifier API”Send the credential and options.
curl \ --request POST -i "$VIDOS_VERIFIER_ENDPOINT/vidos/verifier/v1/verify" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $VIDOS_API_KEY" \ --data '{ "credential": "uQADZ3ZlcnNpb25jMS4waWRvY3VtZW50c4G5AANnZG9jVHlwZXVvcmcuaXNvLjE4MDEzLjUuMS5tRExsaXNzdWVyU2lnbmVkuQACam5hbWVTcGFjZXO5AAFxb3JnLmlzby4xODAxMy41LjGM2BhYZ7kABGhkaWdlc3RJRABmcmFuZG9tWCD61pyp42bGpG7ZKWc1RCKdEVbzeW3EH_tyFl1UVSTOmXFlbGVtZW50SWRlbnRpZmllcmtmYW1pbHlfbmFtZWxlbGVtZW50VmFsdWVlU21pdGjYGFhluQAEaGRpZ2VzdElEAWZyYW5kb21YIJgyNfOKp_1v6NVBKuV9Kl01aplp5zY-Piu4Lgdz79kpcWVsZW1lbnRJZGVudGlmaWVyamdpdmVuX25hbWVsZWxlbWVudFZhbHVlZEpvaG7YGFhuuQAEaGRpZ2VzdElEAmZyYW5kb21YIB5_yuxA3sTp2Sa_U1BS397ZQCklxJs-sRFCgXJz8DM_cWVsZW1lbnRJZGVudGlmaWVyamJpcnRoX2RhdGVsZWxlbWVudFZhbHVl2QPsajE5ODAtMDYtMTXYGFhuuQAEaGRpZ2VzdElEA2ZyYW5kb21YIOUburfHLwXL5_8VZ4QjvIcUY7h_pNQDrYV82Mvm5MbTcWVsZW1lbnRJZGVudGlmaWVyamlzc3VlX2RhdGVsZWxlbWVudFZhbHVl2QPsajIwMjMtMDMtMDHYGFhvuQAEaGRpZ2VzdElEBGZyYW5kb21YIOSkBCVJEtEyglyjQu3tIkTtpH3RfVf2iWoQaj_wR4kZcWVsZW1lbnRJZGVudGlmaWVya2V4cGlyeV9kYXRlbGVsZW1lbnRWYWx1ZdkD7GoyMDI4LTAzLTMx2BhYaLkABGhkaWdlc3RJRAVmcmFuZG9tWCBLMwvV-dOqBOAs89TBFFEhVAokeC_Jzqe7FRaR2oqvdXFlbGVtZW50SWRlbnRpZmllcm9pc3N1aW5nX2NvdW50cnlsZWxlbWVudFZhbHVlYlVT2BhYbrkABGhkaWdlc3RJRAZmcmFuZG9tWCDAHo0PXgkqKqowuCU99WWjAAfa1LxhAuHhdz5AsYRhm3FlbGVtZW50SWRlbnRpZmllcnFpc3N1aW5nX2F1dGhvcml0eWxlbGVtZW50VmFsdWVmTlkgRE1W2BhYc7kABGhkaWdlc3RJRAdmcmFuZG9tWCBP_G7HokIEvNJyJ8CRD56aLoB0zulWdV56fGfG1JCo2XFlbGVtZW50SWRlbnRpZmllcnRpc3N1aW5nX2p1cmlzZGljdGlvbmxlbGVtZW50VmFsdWVoTmV3IFlvcmvYGFhxuQAEaGRpZ2VzdElECGZyYW5kb21YICZeRL1TA1YK-VZfTGnocQYtHoxZmADMDXlegfjFm1-8cWVsZW1lbnRJZGVudGlmaWVyb2RvY3VtZW50X251bWJlcmxlbGVtZW50VmFsdWVrMDEtMzMzLTcwNzDYGFhjuQAEaGRpZ2VzdElECWZyYW5kb21YIM_jHbcOLcknX02DFKiVNYiZ6a3A0OUZIOAoKFU26DO9cWVsZW1lbnRJZGVudGlmaWVyaHBvcnRyYWl0bGVsZW1lbnRWYWx1ZWRic3Ry2BhYsbkABGhkaWdlc3RJRApmcmFuZG9tWCDEkW1up2fuH-cP6pCkb5xjScujvjZ4EnHB7wDb31XOD3FlbGVtZW50SWRlbnRpZmllcnJkcml2aW5nX3ByaXZpbGVnZXNsZWxlbWVudFZhbHVlgbkAA3V2ZWhpY2xlX2NhdGVnb3J5X2NvZGVhQ2ppc3N1ZV9kYXRlajIwMjMtMDMtMDFrZXhwaXJ5X2RhdGVqMjAyOC0wMy0zMdgYWHq5AARoZGlnZXN0SUQLZnJhbmRvbVggS-PBhOrVDNVAt5o-hU6wBzcd4cjISvYsvwSb8YDlavNxZWxlbWVudElkZW50aWZpZXJ2dW5fZGlzdGluZ3Vpc2hpbmdfc2lnbmxlbGVtZW50VmFsdWVtdGJkLXVzLm55LmRtdmppc3N1ZXJBdXRohEOhASaiBEIxMRghgVkCLjCCAiowggHQoAMCAQICFFfGzNMIveQ-yjdE8qhxONq7uIToMAoGCCqGSM49BAMCMFMxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhOZXcgWW9yazEPMA0GA1UEBwwGQWxiYW55MQ8wDQYDVQQKDAZOWSBETVYxDzANBgNVBAsMBk5ZIERNVjAeFw0yMzA5MTQxNDU1MThaFw0zMzA5MTExNDU1MThaMFMxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhOZXcgWW9yazEPMA0GA1UEBwwGQWxiYW55MQ8wDQYDVQQKDAZOWSBETVYxDzANBgNVBAsMBk5ZIERNVjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIk8LYNHkG3GzWm39javS_1TP5YYTwqtrNEIMNpEcdvbYKwXDRz8U0-uLZ3NSI93R_35eNkl6jHp6Qg8OCup7VOjgYEwfzAdBgNVHQ4EFgQUq20uA7kdSSJAM4-8yt79kzPq9scwHwYDVR0jBBgwFoAUq20uA7kdSSJAM4-8yt79kzPq9scwDwYDVR0TAQH_BAUwAwEB_zAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwCgYIKoZIzj0EAwIDSAAwRQIgCf0Mq5ewPnj2TnTX3O6IZoxHagr8WqLOv_4H0753LqkCIQDaOKvJiggPSfJP_s4f_8imzdWywLXaj8e3Z6w6ldy4PlkDGdgYWQMUuQAGZ3ZlcnNpb25jMS4wb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2bHZhbHVlRGlnZXN0c7kAAm9vcmcuY3VzdG9tLnRlc3ShAFggPFEWEJwGj6f78xhrrsE-5svkjMbEoA_TSbn68KBPL_1xb3JnLmlzby4xODAxMy41LjGsAFggg8ZTwufH0uDwcvQmmiD06zXUOPl6HJMCaqEk-3B-FHkBWCCnDBSUOgAroGde-ilemF41YZd2T0WRZWy2syQbbLtfHgJYIPDF3PDqw57aYvT1LlJpL_3AnBM_RAYAhpaENQHlNk75A1gglPPMFL4hCs5PnUVFlIB0-vOgE4otEEGtrEXMrh8SCNIEWCDAetmSJTUAPkeIdlTqrgVWZ1Zce9GaiXXwM2hl-Cvw9QVYIGPLCRKJL7zXYehbgEjKqVS8DbYONnipdZAgRFsJpGI-BlggBSyCVHi5DlAY6FejrpDI3eNPX-UFahQ9t3181hB998kHWCCgDz4wlMPS6l1DYPJg1G9I3a2ry0niwrKFDykT_cToqghYIK6hsyC5fnkiR2xoAI0nXs9JBOoJ1yuVDeemBUvabni3CVgg92Sj9dDZmLc1Be8dwY6xXXes0SsuIQDlkAGrnAaF2lQKWCCh3Q_718_y_h7kRSPTXbu91cm1nGrgCtbdeFVUl4iYyQtYIP0siFlNZZSHK4esXVxD2XIRpz_9NIoKrqceVO8dwvvJbWRldmljZUtleUluZm-5AAFpZGV2aWNlS2V5pAECIVggiBh5ynojixm_D0wfjADpouGbp6b3Pq6SuFHU3htQhVkiWCCjFLU4A5Entc1Qc19UUZ4zwTRFBUXFYDrZ8mP6zFbTdyABZ2RvY1R5cGV1b3JnLmlzby4xODAxMy41LjEubURMbHZhbGlkaXR5SW5mb7kAA2ZzaWduZWTAdDIwMjMtMDktMjlUMTU6NDE6NTlaaXZhbGlkRnJvbcB0MjAyMy0wOS0yOVQxNTo0MTo1OVpqdmFsaWRVbnRpbMB0MjA3My0wOS0yOVQxNTo0MTo1OVpYQNgsmCtJJhS8BCQUhCBtphsc_2S_oNMbVQwJCWvGLybBO07yytS4fZ5zcXYgAB2ykX542oWJbQRuJTWVr59CpZRsZGV2aWNlU2lnbmVkuQACam5hbWVTcGFjZXPYGEGgamRldmljZUF1dGi5AAFvZGV2aWNlU2lnbmF0dXJlhEOhASahBEIxMVjS2BhYzoR0RGV2aWNlQXV0aGVudGljYXRpb26D9vaEZjEyMzQ1NngrQ3ExYW5QYjh2WlU1ajVDMGQ3aGNzYnVKTEJwSWF3VUpJRFFSaTJFYndiNHhcaHR0cDovL2xvY2FsaG9zdDo0MDAwL2FwaS9wcmVzZW50YXRpb25fcmVxdWVzdC9kYzg5OTlkZi1kNmVhLTRjODQtOTk4NS0zN2E4YjgxYTgyZWMvY2FsbGJhY2tnYWJjZGVmZ3VvcmcuaXNvLjE4MDEzLjUuMS5tREzYGEGgWECpe1-bWdGT7aZiVC5xy32vb6iVKsiwzOgvIueDTR-o8NLKslpwhlgibAPZaVDQDDUW_OYqIgdI1PCmlgciQ7UCZnN0YXR1cwA", "options": { "at": "2026-02-22T00:00:00.000Z", "policyParams": { "proof": { "holderBinding": { "type": "iso18013-5", "encodedSessionTranscript": "2BhYnoP29oRmMTIzNDU2eCtDcTFhblBiOHZaVTVqNUMwZDdoY3NidUpMQnBJYXdVSklEUVJpMkVid2I0eFxodHRwOi8vbG9jYWxob3N0OjQwMDAvYXBpL3ByZXNlbnRhdGlvbl9yZXF1ZXN0L2RjODk5OWRmLWQ2ZWEtNGM4NC05OTg1LTM3YThiODFhODJlYy9jYWxsYmFja2dhYmNkZWZn", "ephemeralReaderKey": "U0tSZWFkZXI" } } } }}'Step 4: Review the response
Section titled “Step 4: Review the response”A successful verification returns HTTP 200 with individual policy outcomes.
You should see at least format and proof results for an mdoc credential. If temporal policies are enabled, you should also see notBefore and notAfter results.
{ "results": [ { "data": { "credentialType": "org.iso.18013.5.1.mDL", "format": "mdoc", "version": "1.0" }, "path": [], "policy": "format", "service": "verifier", "status": "success" }, { "data": { "reference": "2073-09-29T15:41:59.000Z", "status": "success", "target": "2026-02-22T00:00:00.000Z" }, "path": [], "policy": "notAfter", "service": "verifier", "status": "success" }, { "data": { "reference": "2023-09-29T15:41:59.000Z", "status": "success", "target": "2026-02-22T00:00:00.000Z" }, "path": [], "policy": "notBefore", "service": "verifier", "status": "success" }, { "data": { "type": "mdl" }, "path": [], "policy": "proof", "service": "verifier", "status": "success" } ]}Verify success
Section titled “Verify success”You have verified the credential when:
- The HTTP status is 200.
- The
formatpolicy identifies the credential asmdoc. - The
proofpolicy reportsstatus: "success".
Troubleshooting
Section titled “Troubleshooting”- Unsupported credential format: Confirm your Verifier instance enables ISO
18013-5:2021under theformatpolicy. - Holder binding failure: Ensure
encodedSessionTranscriptandephemeralReaderKeyare base64url-encoded and match the values from your reader session. - Temporal failure: Change
options.atto the time you want to verify against, or issue a new credential if it is outside its validity window.