diff --git a/src/SignatureXAdES_B.cpp b/src/SignatureXAdES_B.cpp
index 6f1723853..ea4920f5d 100644
--- a/src/SignatureXAdES_B.cpp
+++ b/src/SignatureXAdES_B.cpp
@@ -154,10 +154,11 @@ int initXmlSecCallback()
return {};
}
- auto find = [name](auto files) -> const DataFile* {
+ string uriName = File::fromUriPath(name);
+ auto find = [&uriName](auto files) -> const DataFile* {
for(const DataFile *file: files)
{
- if(file->fileName() == name)
+ if(file->fileName() == uriName)
return file;
}
return {};
@@ -505,10 +506,7 @@ void SignatureXAdES_B::validate(const string &policy) const
EXCEPTION_ADD(exception, "Reference '%.*s' ID missing", int(uri.size()), uri.data());
else
{
- string uriPath = File::fromUriPath(uri);
- if(uriPath.front() == '/')
- uriPath.erase(0);
- signatureref.emplace(uriPath, mimeinfo[string("#").append(ref["Id"])]);
+ signatureref.emplace(File::fromUriPath(uri), mimeinfo[string("#").append(ref["Id"])]);
}
}
if(!signedInfoFound)
diff --git a/src/SignatureXAdES_LTA.cpp b/src/SignatureXAdES_LTA.cpp
index 33d341a8b..7c14acb48 100644
--- a/src/SignatureXAdES_LTA.cpp
+++ b/src/SignatureXAdES_LTA.cpp
@@ -54,9 +54,6 @@ void SignatureXAdES_LTA::calcArchiveDigest(const Digest &digest, string_view can
}
string uriPath = File::fromUriPath(uri);
- if(uriPath.front() == '/')
- uriPath.erase(0);
-
auto files = bdoc->dataFiles();
auto file = find_if(files.cbegin(), files.cend(), [&uriPath](DataFile *file) {
return file->fileName() == uriPath;
diff --git a/src/util/File.cpp b/src/util/File.cpp
index c57643f15..9cecc09b3 100644
--- a/src/util/File.cpp
+++ b/src/util/File.cpp
@@ -349,6 +349,8 @@ constexpr bool fromHexChar(auto pos, auto end, auto &value)
string File::fromUriPath(string_view path)
{
+ if(!path.empty() && path.front() == '/')
+ path.remove_prefix(1);
string ret;
ret.reserve(path.size());
uint8_t value = 0;
diff --git a/test/data/EE_T.xml b/test/data/EE_T.xml
index bcfe4ac35..382e0671f 100644
--- a/test/data/EE_T.xml
+++ b/test/data/EE_T.xml
@@ -1,7 +1,7 @@
- 5
- 22
+ 6
+ 34
http://uri.etsi.org/TrstSvc/TrustedList/TSLType/EUgeneric
Information System Authority
@@ -75,7 +75,7 @@
- 2024-11-18T15:43:39Z
+ 2026-05-11T12:22:20Z
2027-08-20T21:00:00Z
@@ -1252,18 +1252,308 @@
+
+
+ http://uri.etsi.org/TrstSvc/Svctype/CA/QC
+
+ TEST of SK ID Solutions EID-Q 2024E
+
+
+
+ MIIDxzCCAymgAwIBAgIUIJ92Wg42THMIC1QSOpWpxv3+22AwCgYIKoZIzj0EAwMwbjELMAkGA1UEBhMCRUUxGzAZBgNVBAoMElNLIElEIFNvbHV0aW9ucyBBUzEXMBUGA1UEYQwOTlRSRUUtMTA3NDcwMTMxKTAnBgNVBAMMIFRFU1Qgb2YgU0sgSUQgU29sdXRpb25zIFJPT1QgRzFFMB4XDTI0MDYwMzEzMDEyMloXDTM5MDUzMTEzMDEyMVowcTEsMCoGA1UEAwwjVEVTVCBvZiBTSyBJRCBTb2x1dGlvbnMgRUlELVEgMjAyNEUxFzAVBgNVBGEMDk5UUkVFLTEwNzQ3MDEzMRswGQYDVQQKDBJTSyBJRCBTb2x1dGlvbnMgQVMxCzAJBgNVBAYTAkVFMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE9tnu4Hr6oZ3virQ52FkQ8zgSnRLjSpbr7y6hjaI5ZtvFTssL3aOgvULxOvV5x+HtOmcGVfmhvy9YtoJENq/E3pFFOkofrkX3O/RVLdtPpiVahYa89HCgqoEVDln5ILMWo4IBgzCCAX8wEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBTiHN5j3L74hH4BOy5LgLHhf9Xx5jBsBggrBgEFBQcBAQRgMF4wOAYIKwYBBQUHMAKGLGh0dHA6Ly9jLnNrLmVlL1RFU1RfU0tfUk9PVF9HMV8yMDIxRS5kZXIuY3J0MCIGCCsGAQUFBzABhhZodHRwOi8vZGVtby5zay5lZS9vY3NwMHAGA1UdIARpMGcwBgYEVR0gADBdBgNVHSAwVjBUBggrBgEFBQcCARZIaHR0cHM6Ly93d3cuc2tpZHNvbHV0aW9ucy5ldS9yZXNvdXJjZXMvY2VydGlmaWNhdGlvbi1wcmFjdGljZS1zdGF0ZW1lbnQvMDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jLnNrLmVlL1RFU1RfU0tfUk9PVF9HMV8yMDIxRS5jcmwwHQYDVR0OBBYEFLAkFxmI42b4zShYZXtNFNiSZk9rMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwOBiwAwgYcCQXIdNKdyvEhtB+48QZEXi2dgXiAjYD7O0D4f4Y2KPajqrRcwd9KEYr/yFjK0JWYHqRFN47tMdYhisy7aFySEWmKcAkIBUbTJeSboXAKBT9+j2zQduKv8Eqb/AIQybcVXyP23w+1ujNkcQZMkok41nGOH2YNRP7aGsCZa7Wy8pf2lw6EcfyU=
+
+
+ http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted
+ 2024-06-03T13:01:22Z
+
+ https://www.skidsolutions.eu/en/repository/CPS/
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+ 1.3.6.1.4.1.10015.17.2
+
+
+ All certificates issued under this CA/QC service that have nonRepudiation bit set exclusively are issued as qualified certificates
+
+
+
+
+
+
+ http://uri.etsi.org/TrstSvc/TrustedList/SvcInfoExt/ForeSignatures
+
+
+
+
+
+
+
+ http://uri.etsi.org/TrstSvc/Svctype/CA/QC
+
+ TEST of SK ID Solutions EID-Q 2024R
+
+
+
+ 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
+
+
+ http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted
+ 2024-06-04T06:53:58Z
+
+ https://www.skidsolutions.eu/en/repository/CPS/
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+ 1.3.6.1.4.1.10015.17.2
+
+
+ All certificates issued under this CA/QC service that have nonRepudiation bit set exclusively are issued as qualified certificates
+
+
+
+
+
+
+ http://uri.etsi.org/TrstSvc/TrustedList/SvcInfoExt/ForeSignatures
+
+
+
+
+
+
+
+ http://uri.etsi.org/TrstSvc/Svctype/TSA/QTST
+
+ DEMO SK TIMESTAMPING UNIT 2025E
+
+
+
+ MIIDqTCCAy+gAwIBAgIQfa9+FvsGICCYmcn24d0EazAKBggqhkjOPQQDAjBlMSAwHgYDVQQDDBdURVNUIG9mIFNLIFRTQSBDQSAyMDIzRTEXMBUGA1UEYQwOTlRSRUUtMTA3NDcwMTMxGzAZBgNVBAoMElNLIElEIFNvbHV0aW9ucyBBUzELMAkGA1UEBhMCRUUwHhcNMjQxMjMxMjIwMDAwWhcNMzEwMzMwMjE1OTU5WjBtMSgwJgYDVQQDDB9ERU1PIFNLIFRJTUVTVEFNUElORyBVTklUIDIwMjVFMRcwFQYDVQRhDA5OVFJFRS0xMDc0NzAxMzEbMBkGA1UECgwSU0sgSUQgU29sdXRpb25zIEFTMQswCQYDVQQGEwJFRTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABABDeV/Ain3DRLR8YoB0+42LwxUK4gna2tRiKx308K4ubuqEyM5V4VQs1ZDsUBRN3TFMCmj+kIC43G2M+MKCSeOjggG3MIIBszAfBgNVHSMEGDAWgBRpBaK0o4dLjl8YRS3VsZc0z2c7tzBuBggrBgEFBQcBAQRiMGAwOgYIKwYBBQUHMAKGLmh0dHA6Ly9jLnNrLmVlL1RFU1Rfb2ZfU0tfVFNBX0NBXzIwMjNFLmRlci5jcnQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9kZW1vLnNrLmVlL29jc3AwgZ4GA1UdIASBljCBkzCBkAYGBACPegECMIGFMDsGCCsGAQUFBwIBFi9odHRwczovL3d3dy5za2lkc29sdXRpb25zLmV1L2VuL3JlcG9zaXRvcnkvdHNhLzBGBggrBgEFBQcCAjA6DDhUU1UgY2VydGlmaWNhdGUgaGFzIGJlZW4gaXNzdWVkIGFjY29yZGluZyB0byBOQ1ArIHBvbGljeTAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDA4BgNVHR8EMTAvMC2gK6AphidodHRwOi8vYy5zay5lZS90ZXN0X3NrX3RzYV9jYV8yMDIzZS5jcmwwHQYDVR0OBBYEFHh6Lgr61N6+uGJW+j2wP/7+synjMA4GA1UdDwEB/wQEAwIGwDAKBggqhkjOPQQDAgNoADBlAjEA069B7Yyns64RZhgv9keesbcU1/1j3g6KAZOcZuPJunkr5BkT7c92lxUekpz/xUT+AjBkIlkM8I+x+fMw9K1+gRYhJFdIkmnpaM1yPjBDv+QT3QqlXDm7Wf0gcOBdmkt43bM=
+
+
+ http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted
+ 2025-01-01T00:00:00Z
+
+ http://tsa.demo.sk.ee/tsaecc
+
+
+
+
+
+ http://uri.etsi.org/TrstSvc/Svctype/TSA/QTST
+
+ DEMO SK TIMESTAMPING UNIT 2025R
+
+
+
+ MIIHFTCCBP2gAwIBAgIQVWJ51V8WTbTEFhZiT/b4czANBgkqhkiG9w0BAQwFADBlMSAwHgYDVQQDDBdURVNUIG9mIFNLIFRTQSBDQSAyMDIzUjEXMBUGA1UEYQwOTlRSRUUtMTA3NDcwMTMxGzAZBgNVBAoMElNLIElEIFNvbHV0aW9ucyBBUzELMAkGA1UEBhMCRUUwHhcNMjQxMjMxMjIwMDAwWhcNMzEwMzMwMjE1OTU5WjBtMSgwJgYDVQQDDB9ERU1PIFNLIFRJTUVTVEFNUElORyBVTklUIDIwMjVSMRcwFQYDVQRhDA5OVFJFRS0xMDc0NzAxMzEbMBkGA1UECgwSU0sgSUQgU29sdXRpb25zIEFTMQswCQYDVQQGEwJFRTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJ2lkCFUbGYqD1Vt0f1xF/IxPoJecchfta2h3nAnlZF61AbosAo/Bvek9z1iecNBgJWzidBcw5ZL72+XFWjqZSC59xsEKNDIDCAXC/u6fw+JSgUvv8Uhn8lhxMtpIjRwffHWVqjuM2C+LbtupU34VwZGa48Tpz+2Fp+oygXFmEO9EtlkfgkXnP0DFH9IHnx+44g//q6BPd4dI99cFO7hZCPgIzvjzOfLy/oTNCMr7qN0Jd6LmcpZ+u9N3wXL+m1yEG1DtB79FHOQ8gW39tWBx2YwUNIjS3qqMlUbVEWy20P9Zfnn+0cFP6yLdlUqCpIFFuqocDo4aamIG0fpDNOvVpoY6mFQi4Q9oi7J907oLRpX0KlsvsE1nFZW29CBh3RV2xhUzEBroQO+URacFbLMPEkKthIXv602vUYrSWf2u+jvmZ5vzKzpkrfW+5//nycBxq4dyI8JfaGp7hxVQrrFG/P1RluvUBMPsytBe9pLSAKpSFZjfxOZ8JZNEKTD2Kh+yc/FPKozHW9AWnV7tO6B3NJg6/mJi+dUHwMS0tZnBhxkYinEr9+yAklA3j2RJ5Ei/PKTiepEDUp4/ocmpUL6jfcowWyz85EWYSbDi7fXQUaI3h+WW1VlWXkEs31B/WsYnvT0DuSZY6JMtDIPsjjEkKXU6wzYTsEmAijtF/WrB3zJAgMBAAGjggG3MIIBszAfBgNVHSMEGDAWgBQdecbIQuQ7/bD5n8Gq9KIDgiYhejBuBggrBgEFBQcBAQRiMGAwOgYIKwYBBQUHMAKGLmh0dHA6Ly9jLnNrLmVlL1RFU1Rfb2ZfU0tfVFNBX0NBXzIwMjNSLmRlci5jcnQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9kZW1vLnNrLmVlL29jc3AwgZ4GA1UdIASBljCBkzCBkAYGBACPegECMIGFMDsGCCsGAQUFBwIBFi9odHRwczovL3d3dy5za2lkc29sdXRpb25zLmV1L2VuL3JlcG9zaXRvcnkvdHNhLzBGBggrBgEFBQcCAjA6DDhUU1UgY2VydGlmaWNhdGUgaGFzIGJlZW4gaXNzdWVkIGFjY29yZGluZyB0byBOQ1ArIHBvbGljeTAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDA4BgNVHR8EMTAvMC2gK6AphidodHRwOi8vYy5zay5lZS90ZXN0X3NrX3RzYV9jYV8yMDIzci5jcmwwHQYDVR0OBBYEFJ275mpq9aZ14MA7JfCJ4dVqthGeMA4GA1UdDwEB/wQEAwIGwDANBgkqhkiG9w0BAQwFAAOCAgEAXzenb5asZe0qaWsEb1u2n6t9+gb3+GTI5d7zkZcg54QUzCQlZtrxC1hagKfPs2xgk9GIepVuIMVAQdSqgvRfzcxHJKXeN4tk0+Avw3GpTaWWUdiWHtQ0a/KdbKqNquJWSvTmswVqwSKKG+6IdJ6xtGfQFDMbnjOZE6H3c6mFfDiFDf/nbGPX/ArTubK1nYv3yVG3QYTfrS+FbE5+PjQfondhVg0M2hc+mvIb0HWpWHoAIWj0IgERTMbViGmmwC8JP/NeZ10ElRvH2oaaVisB+yrzqDI3BkY/XSK4dDHtAHV2o15UJzrTqnXzIzPrcfgEq3QqojApbQS1IW5xEGfi9ZqZoTole6OZFthn5b3mQQ5dFsdoFf2lsnwlhMUJA2WyhRzgZ5GrGxNEltCXnodSDWIYhsEhYE4OTPOTgU/hkc9WrKuU3XUbgUQgg7oopsUFSkyWnBhCCPxgsF9gGOXMcmXDypddx85/efuDlJdIy35a6A/Zp+aWeHMzvqOXJEtrCHMjJm2wCxbMD/lcK1w71YRBN4pSqdji3p5+jpIQW8vzoCwu85hexFPbZVHgKP4fgUEiBN7/nzcglaSZKUEPq9mDRAQgZg7zUbt2QSAKvgHvtCAtDFq0CiUKj/JlRDRRZW6EN8FzIhwQjqs9oTyFT7USGcpmwBY4/G6H6LZJGMg=
+
+
+ http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted
+ 2025-01-01T00:00:00Z
+
+ http://tsa.demo.sk.ee/tsarsa
+
+
+
+
+
+ http://uri.etsi.org/TrstSvc/Svctype/Certstatus/OCSP/QC
+
+ DEMO of KLASS3-SK 2016 OCSP RESPONDER 2026
+
+
+
+ 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
+
+
+ http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted
+ 2026-01-30T15:08:00Z
+
+ http://demo.sk.ee/ocsp
+
+
+
+
+
+
+
+
+ Zetes Estonia
+
+
+ Zetes
+
+
+
+
+ A. H. Tammsaare tee 47
+ Tallinn
+ Harjumaa
+ 11316
+ EE
+
+
+
+ https://www.ria.ee
+
+
+
+ https://repository-test.eidpki.ee
+
+
+
+
+
+ http://uri.etsi.org/TrstSvc/Svctype/CA/QC
+
+ Test ESTEID2025
+
+
+
+ MIIDMTCCAregAwIBAgIUNtXxgsJYFy9r5Opm2j2LcsnZYtkwCgYIKoZIzj0EAwMwXTEZMBcGA1UEAwwQVGVzdCBFRUdvdkNBMjAyNTEXMBUGA1UEYQwOTlRSRUUtMTcwNjYwNDkxGjAYBgNVBAoMEVpldGVzIEVzdG9uaWEgT8OcMQswCQYDVQQGEwJFRTAeFw0yNDExMDQxMjU5NTVaFw0zOTExMDMxMjU5NTRaMFwxGDAWBgNVBAMMD1Rlc3QgRVNURUlEMjAyNTEXMBUGA1UEYQwOTlRSRUUtMTcwNjYwNDkxGjAYBgNVBAoMEVpldGVzIEVzdG9uaWEgT8OcMQswCQYDVQQGEwJFRTB2MBAGByqGSM49AgEGBSuBBAAiA2IABC8Uc5s70j1iWMZNbQyVYpDmwp4Ad5HlQmFB9noY2yBeDKL2KHKQG31SDTboKlBz7JUWsmaxF1Vj6ZkKAwcltO2cBnEU1B5H8hWgk5Un61GZxhX2wPkwJLm7vjyidKmftqOCATcwggEzMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAU4VbfrsSXORfv3goMbOVys4vVchAwSQYIKwYBBQUHAQEEPTA7MDkGCCsGAQUFBzAChi1odHRwOi8vY3J0LXRlc3QuZWlkcGtpLmVlL3Rlc3RFRUdvdkNBMjAyNS5jcnQwQgYDVR0gBDswOTA3BgRVHSAAMC8wLQYIKwYBBQUHAgEWIWh0dHBzOi8vcmVwb3NpdG9yeS10ZXN0LmVpZHBraS5lZTA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vY3JsLXRlc3QuZWlkcGtpLmVlL3Rlc3RFRUdvdkNBMjAyNS5jcmwwHQYDVR0OBBYEFO7ylT+MsvxRnoTm5l6EEX5CuiA2MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjEA3qECw4GIfbeoC5cFhtiPJRfFlzsjRGVBtQTH6DNbZsm+EF6Gc28/iZFX1H6nUTRlAjAiwooqEyVbxA1KqT6PwVl1BXNbF59j6MaiNR43dYeJxrdOnxleR50EVdICDJFEm2E=
+
+
+ http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted
+ 2024-11-04T12:59:55Z
+
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+ Certificates for test signatures only
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+ http://uri.etsi.org/TrstSvc/TrustedList/SvcInfoExt/ForeSignatures
+
+
+
+
+
+
+
+
+
+
+ Information System Authority
+
+
+ RIA
+
+
+
+
+ Pärnu maantee 139a
+ Tallinn
+ Harjumaa
+ 15169
+ EE
+
+
+
+ https://www.ria.ee
+ mailto:info@ria.ee
+
+
+
+ http://www.sk.ee/en/repository/CPS
+
+
+
+
+
+ http://uri.etsi.org/TrstSvc/Svctype/TSA/QTST
+
+ TEST of RIA TIMESTAMPING AUTHORITY 2018 G1 PROOV 1
+
+
+
+ MIIFCjCCAvKgAwIBAgIIOTmoMM25tyUwDQYJKoZIhvcNAQEMBQAwdTELMAkGA1UEBhMCRUUxJTAjBgNVBAoMHEluZm9ybWF0aW9uIFN5c3RlbSBBdXRob3JpdHkxJDAiBgNVBAMMG1RFU1Qgb2YgUklBIFJPT1QgQ0EgMjAxOCBHMTEZMBcGCSqGSIb3DQEJARYKcGtpQHJpYS5lZTAeFw0xOTA3MTYwNzUyNTZaFw0zODA0MTQxMjA4MjZaMIGoMQswCQYDVQQGEwJFRTEVMBMGA1UECAwMSGFyanUgQ291bnR5MRAwDgYDVQQHDAdUYWxsaW5uMSUwIwYDVQQKDBxJbmZvcm1hdGlvbiBTeXN0ZW0gQXV0aG9yaXR5MQwwCgYDVQQLDANUU0ExOzA5BgNVBAMMMlRFU1Qgb2YgUklBIFRJTUVTVEFNUElORyBBVVRIT1JJVFkgMjAxOCBHMSBQUk9PViAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuwKPfXSFMJRX5/cuk950lQVN2y1dNESggm8m11D05VKAlOdor9fZO2aGVToMGqDcOa6FRH/fbdKuRN4LDJsbTiysKdlqAfoOqioOgnqu6HUt3TQztaSauqqduKKwLSNXQuN7T0/B6sTtNKlzuCtv8kwnxQVrAjPTRGx+0NIM5zxYyni0HXB+lp+w+ToG/l3s29lC5VeCnUPcYM5xtC+KsSvRRKmKI8dDK5l20v5RgmowIxP0McyhmhcGf+WbI01nq5ptEn8cFoJVwu8gcMDfLC6aRgEr+ag8G+l6pHLRiiNH+kjSFPQreDcCGcHbRKOqNT4SbwYeccZI5fpNLW7bywIDAQABo2owaDAfBgNVHSMEGDAWgBQ+6250UdpSNA6ZgOO3z9/uQysKVDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAdBgNVHQ4EFgQUgN06mzzCFCX8ThslsRNc1HnNcsswDgYDVR0PAQH/BAQDAgbAMA0GCSqGSIb3DQEBDAUAA4ICAQBHin1fKyM2t4J21djwjqDXROpYh7XncZDiUdAXGLlHnXI/wRG+x6ttWj/MjxsTeUGJrKuibsBIQDV4kWRNKoCt4zDOyDM11p3jg9oA325xad7cXcHOrRY7flbvFTB8jlKXHgrSdyfha8Cq7BJScepS2lELXLZ2ZziXXRdFxTpGzxdPqGKUB7tzpc6IIWEmcTOBTLXL/t2j6fZpLJKBihY74h+/16UxG3cXZa3E0BFkAeycm7XsbmS96XOmj2i/g2rKri7mztsS+WdFc++Awh1AvQiE9x5i0T/16nlJajsd6eJCBb2Nv/JlHqhmymDslmdiMSG1GMoHeQjTxLd197F3tz4TkVhEbcb6+tTgHn5nlSgk7W14hRqhv+9stBNt6d5ikdX01MugM8Iah7zGZKe35I+OUu3VKg8yDQFa2JItjIgvqcDTQKJ8cSep32YcIb/WFENRRfDocQQjai9PlJ7tvLbj17Z6fEe4M/mZAQnM3Lmw9rzz4OiOk8CrQAxJULeNOT0amKL8Hvsms5YKhahP6+PkU+bez+Cj2lV25rXVLfWYU5qKzd+aps6xHatR5HLJ13+aasJ4yYJ0AUXeUrbOb+KCFWzuIrKCDskoUAhIwVIr2tUQSeP65jBYurgsVtCi7IB7OSdaEjA7UTzyNurLKp81NEAOtp5zTRKwsraFMw==
+
+
+ http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted
+ 2019-07-16T08:00:00Z
+
+ http://tsa.test.riaint.ee/
+
+
+
+
+
+ http://uri.etsi.org/TrstSvc/Svctype/Certstatus/OCSP/QC
+
+ TEST of RIA OCSP RESPONDER 2019 G1
+
+
+
+ MIIE+DCCAuCgAwIBAgIIE2M27fGPKnowDQYJKoZIhvcNAQEMBQAwdTELMAkGA1UEBhMCRUUxJTAjBgNVBAoMHEluZm9ybWF0aW9uIFN5c3RlbSBBdXRob3JpdHkxJDAiBgNVBAMMG1RFU1Qgb2YgUklBIFJPT1QgQ0EgMjAxOCBHMTEZMBcGCSqGSIb3DQEJARYKcGtpQHJpYS5lZTAeFw0xOTA5MDQxMjM4MDRaFw0zODA0MTQxMjA4MjZaMIGZMQswCQYDVQQGEwJFRTEVMBMGA1UECAwMSGFyanUgQ291bnR5MRAwDgYDVQQHDAdUYWxsaW5uMSUwIwYDVQQKDBxJbmZvcm1hdGlvbiBTeXN0ZW0gQXV0aG9yaXR5MQ0wCwYDVQQLDARPQ1NQMSswKQYDVQQDDCJURVNUIG9mIFJJQSBPQ1NQIFJFU1BPTkRFUiAyMDE5IEcxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwKu3S/omS09qV59HtnFVGFtN7lOc84QZi3LsZwVjFunnWPN1Kxe/wbmR8VK8vTbS6IUe0PKzoMui6NcZIH0wJwLV3CeaXZtbpQ8Sl1ZYTd9ks6907RKLHRW9lDuu8dBwAe7xOlfJS7/cyTQO0z5475CtIOt0fODwU1mcjebXegZPqVlzUpqaRbM1ONgsOK4dSO04+MmGpFsluXt5HfaA6O5jggKG6SiTOLSIpJeaM6T4K284Mx+1+Pfl0NR+evt+vELJonmvTfxViYoEa2T8HNqHJZxMb78X8IDJGZ/Hvp3MTJ+2XDZLNHeSx3Kdy/A18HdUGgAM37xchtgGzJsZvQIDAQABo2cwZTAfBgNVHSMEGDAWgBQ+6250UdpSNA6ZgOO3z9/uQysKVDATBgNVHSUEDDAKBggrBgEFBQcDCTAdBgNVHQ4EFgQUPa7zIV4ioQssO0Djiso9ccTnktwwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBDAUAA4ICAQBRGOnbtqMQHIR85CSsjITJMv4YVqvzq1Dmm2K12I4vKMsLW8VFgCBCmeh5KtJCrTYnWJJbLDZj3EACA1pWLOQXAfMuqDu5aYZ9Uvvx7bR4CiOaPoSImjLZnYeo5IbwgFE8/yHNcaXjNmnwNYnfbvLYG8aY+qoOHrs63tj5HQL2po3N1B9BOKuYRA1zenYRyqpUYF1ZV2zYDzw2en7x8ZnZHUEln2a0rGWp2KHwH63lI+MiWpOa8yMC3Nzm9ZIpLw49u7U0+Vu2at9Lf6Cb+7aMrwdsfVuLrDVBf6AQmBSvLPZQTZa2SvdUoPNrT3mFpR1gjZRu+W4XVtikm+iSVN3dQX3lT4ycC+jwGEo7QA+N3+UZJR9A7h1Bz0jqF4g5zKRUtvxRsyMbP8pnIvDEThSHzBkr64t9nchdqlpgNruMCMQZWnoosqd6PSYlgef7W7OOhkxKTsTaUayzXR9QMH7QrSwMuq9DoOKaQlOTTfxrfLcCaoRP8fwUkE3hqqdCBnzhtnadYG0KgYnDu4mMkqTvsBOFU/EooE6aUdLScPQZ2ReLI/hAwm2G8rEqwGlS/Jun7l8moHK3ZoQUeoi56h+Hx2Dj0UqZ+Ph2KVs+zi4T28dPEqIbISBX/1hQXempPHbMNw5EIYPidlFLzovoc1aYgRWNcbimUEWaIZM2YLW9eQ==
+
+
+ http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted
+ 2019-09-04T13:00:00Z
+
+ http://ocsp.test.riaint.ee/
+
+
+
-
-+h7xMSl4cU+dfeyicSHqtYWWb+koyf3FArqRlAvzWpo=CBHF4+VRUEUdl7hKTJSPfcZU8eHr/6l51fqPyz7YT7w=MSUpnb9dJ8+6S19vmEWoaRHEIeS7eBabl4KiHzEG1vdOUgRKGFxAO22GNTkVSOYoM2vqoY337gbN
-wJ3p6BiAREwRqri4XXrxaR/rpDpWXWXZOim+Ixx7UbVcYCUmfw7nhYyuJTQGi4Bbz+JESNC0LoVz
-64bWRu/BmM895yDqVGWCSFCCSbLa98Rrhj32fW3fOwjVm8J3iD5vt5gK4ZCUFtgAUiBrhm+3/WdS
-zCBszUcEBnQOMu5KxykSrKGQQBkpsLZDFz9MAhirVAu7UETRc62jVa9IN1um+ANDmmkhk5tJJwZd
-HmIu+i5abEPSwlRbAGg+ze7GT6t3nJpv09XNQKHfC00smsTY7LaAX5lZOgekzqZnPWtut2J4MEVa
-i8qp4Qmutnfl13VBsi8t1qC0mpurTE9zbCPtQzL+7r8SRn/0SAASB/7FJHl/vl2weBmDp6d/G1TX
-/QcLYoImStvOjZ+TKPHeziQSBXid1UVhEXkwFAEKgsouIh5ZKnfT2TJTL24pZV0UWjiktM/5X8zj
-XWf3+hg+arXtNptYpOER9LgQo4soRTYJRMDAbcsXUbprkRE0F8npoAqCK4vXKNsu/L5tjQV6/Sg7
-xIOnkJjxDomCDAu60tvJcyb4hKXau3yWU0TFlf03d7ozLVFxmMilOJGP3dcdKjY/eytIjLLzeM0=MIIEvDCCAqQCCQCL/COUVyiGjTANBgkqhkiG9w0BAQUFADAgMQswCQYDVQQGEwJFRTERMA8GA1UE
+ z2/BmOOxR0ae14AvKaejjkKuFb2qD6qYlHcr6EJnPhE=I1TF6No1A4ZaPeJPgyYY6jwZEPd3pYB7pvsiYK68X8c=WyFp4oe27bJSeRhvt/E5FKdiJu3ZVNpcO9cXQxvuIBLfujviRxlHm+w2QsHIL2j8kfOOJyRnjOqV
+ADCfwa3ugSHn1nvy190bNGzZzUlXX1+fFjfgfn9T1hPPoyGb94uFhGscYzv7su9+A/Fms5HnOjQ/
+H1+K81DHftZ6MDTvRNUiLk53KU3n0QYNlnQK7U8CT1V3MjBRN60y16wmH4C3Z3nv0TInhvEFsLgM
+E+vxE1iiQRFn8sYz1pZV/txmDP1qzNjgyYQ1e24lOZml3/Ey1s3yv79VOwiKCYrhu9ksECCZ1My6
+QcRFs8b7zF9nPbwJxPG2u2CI7h4qwO0uklVblNQldI4HFJDITaxL2QPpH0qP5zlNSairxIhs8JqG
+8055bQ+SF4fskALpWGB2hG/c7dZRTdMdUQD8S78p7jwEbwvpTx8MsOEd5WhXlt+DxYy7wy5+LsQF
+iKnaD/o7GWZ2Q0u5T5IcEjopw3AeFsCLiMQzNr6vfQ16VtZSK0uSx+vqQZJlHAuyAu159Q2J2rql
+krb3Gy2T7iJV0a+G3sFLDVJCh9j6P/Epr6Nj/yZ86KgBaiyqh67a7u3U+IOslTdDhH4Vt+AvhnZJ
+Ec0R23KyHXPosWImY5BASF2W6rCh+vd2hA1HInrxA18f/oR6eb+bqfPz18ymOGq47SO1icBxIEc=MIIEvDCCAqQCCQCL/COUVyiGjTANBgkqhkiG9w0BAQUFADAgMQswCQYDVQQGEwJFRTERMA8GA1UE
AwwIVGVzdCBUU0wwHhcNMTgxMTE1MTI1MjU1WhcNMjgxMTEyMTI1MjU1WjAgMQswCQYDVQQGEwJF
RTERMA8GA1UEAwwIVGVzdCBUU0wwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDfFK0f
YeGrdngMZXZndDEpcl9pjGGNpbie3+ch5mDqObUe+OL45b4+SfPapriVRNBa+m5T1TuijP7Kb8sT
@@ -1284,4 +1574,4 @@ AzcmODU9uMRRBlGOWK8UQg05exc518heICmudSbgSyQLGqzVoI4kybhmBA3w93KEXJSXlnU7hBzo
YDP2d1g46Ay59UtvLycS1kxe0jVjxxRnh/f9aPbMwUYBzEC0naUzMeJtElHLHgW4HT6PLgFImgLL
Fh8dnYJUzn35wz10g3YBA61YUJuODpapKHixn/2X/t/8Vf1vqr/VwiwUglNQj+P78Fdb3T56JsYR
G1bdf6nz5dvv4qtLoG+OjPI/tiLjh2ktqaMjeVmlQFchy/C5Lr48d9IGmo+x2ECYSWVvwzxI7PIb
-YBI4oaPjh2zKIrz/AlY2RmqMMA==2024-11-18T13:43:39Znk6Dlz6rjsOp9TaNXJg0RNj/m53oC7RGzdDHcZ7jrfo=CN=Test TSL, C=EE10086976385427474061
\ No newline at end of file
+YBI4oaPjh2zKIrz/AlY2RmqMMA==2026-05-11T09:22:20Znk6Dlz6rjsOp9TaNXJg0RNj/m53oC7RGzdDHcZ7jrfo=MDEwJKQiMCAxCzAJBgNVBAYTAkVFMREwDwYDVQQDDAhUZXN0IFRTTAIJAIv8I5RXKIaNapplication/vnd.etsi.tsl+xml
\ No newline at end of file
diff --git a/test/data/test-leading-slash-uri.asice b/test/data/test-leading-slash-uri.asice
new file mode 100644
index 000000000..4a1286a7d
Binary files /dev/null and b/test/data/test-leading-slash-uri.asice differ
diff --git a/test/libdigidocpp_boost.cpp b/test/libdigidocpp_boost.cpp
index d449ef5e4..3fa54adcd 100644
--- a/test/libdigidocpp_boost.cpp
+++ b/test/libdigidocpp_boost.cpp
@@ -515,6 +515,20 @@ BOOST_AUTO_TEST_CASE(HexToBinConvertsHexEncodedStringToBinaryData)
}
BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE(ASiCETestSuite)
+BOOST_AUTO_TEST_CASE(LeadingSlashReferenceURI)
+{
+ // Container signed with URI="/test1.txt" (leading slash).
+ // Without the erase(0,1) fix the reference path is erased to "",
+ // failing to match the DataFile and throwing during validate().
+ auto d = Container::openPtr("test-leading-slash-uri.asice");
+ BOOST_REQUIRE_EQUAL(d->dataFiles().size(), 1U);
+ BOOST_REQUIRE_EQUAL(d->signatures().size(), 1U);
+ BOOST_CHECK_EQUAL(d->dataFiles().front()->fileName(), "test1.txt");
+ BOOST_CHECK_NO_THROW(d->signatures().front()->validate());
+}
+BOOST_AUTO_TEST_SUITE_END()
+
BOOST_AUTO_TEST_SUITE(ASiCSTestSuite)
BOOST_AUTO_TEST_CASE(OpenValidASiCSContainer)
{