Skip to content

Commit

Permalink
SIVA-744 retain validation report TimestampCreationTime field in case…
Browse files Browse the repository at this point in the history
… of 'T' profile signature
  • Loading branch information
nortaljevgenikr committed Oct 23, 2024
1 parent c778ab6 commit fe8a635
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ eu.europa.esig.dss.simplereport.SimpleReport getDssSimpleReport(AsicESignature b
private Info getInfo(Signature signature) {
Info info = new Info();
info.setBestSignatureTime(getBestSignatureTime(signature));
if (signature.getProfile() == SignatureProfile.LT) {
if (List.of(SignatureProfile.T, SignatureProfile.LT, SignatureProfile.LTA).contains(signature.getProfile())) {
info.setTimestampCreationTime(getTimestampTime(signature));
}
info.setOcspResponseCreationTime(getOcspTime(signature));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ final class BDOCTestUtils {
static final String BDOC_TEST_OF_KLASS3_CHAIN = "etoken_CPP.bdoc";
static final String BDOC_TEST_FILE_UNSIGNED = "3f_2s_1f_unsigned.bdoc";
static final String BDOC_TEST_FILE_ALL_SIGNED = "2f_all_signed.bdoc";
static final String BDOC_TEST_FILE_T_LEVEL_SIGNATURE = "TS-05_23634_TS_unknown_TSA.bdoc";
static final String ASICE_TEST_FILE_LTA_LEVEL_SIGNATURE = "valid-asice-lta.asice";

static ValidationDocument buildValidationDocument(String testFile) {
return DummyValidationDocumentBuilder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,20 +65,24 @@

import static ee.openeid.validation.service.timemark.BDOCTestUtils.ASICE_CRL_ONLY;
import static ee.openeid.validation.service.timemark.BDOCTestUtils.BDOC_TEST_FILE_ALL_SIGNED;
import static ee.openeid.validation.service.timemark.BDOCTestUtils.ASICE_TEST_FILE_LTA_LEVEL_SIGNATURE;
import static ee.openeid.validation.service.timemark.BDOCTestUtils.BDOC_TEST_FILE_T_LEVEL_SIGNATURE;
import static ee.openeid.validation.service.timemark.BDOCTestUtils.BDOC_TEST_FILE_UNSIGNED;
import static ee.openeid.validation.service.timemark.BDOCTestUtils.BDOC_TEST_OF_KLASS3_CHAIN;
import static ee.openeid.validation.service.timemark.BDOCTestUtils.VALID_ASICE;
import static ee.openeid.validation.service.timemark.BDOCTestUtils.VALID_BALTIC_EST_LT;
import static ee.openeid.validation.service.timemark.BDOCTestUtils.VALID_BDOC_TM_2_SIGNATURES;
import static ee.openeid.validation.service.timemark.BDOCTestUtils.VALID_ID_CARD_MOB_ID;
import static ee.openeid.validation.service.timemark.BDOCTestUtils.buildValidationDocument;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.Matchers.empty;
import static org.hamcrest.Matchers.emptyOrNullString;
import static org.hamcrest.Matchers.greaterThan;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.beans.HasPropertyWithValue.hasProperty;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
Expand Down Expand Up @@ -471,6 +475,24 @@ void certificatePresentLT() throws Exception {
assertEquals("SK TIMESTAMPING AUTHORITY", timestampCertificate.getCommonName());
}

@Test
void validateDocument_ProfileLevelIsT_TimestampCreationTimeIsPresent() {
SimpleReport validationResult = timemarkContainerValidationService.validateDocument(buildValidationDocument(BDOC_TEST_FILE_T_LEVEL_SIGNATURE)).getSimpleReport();

String tsCreationTime = validationResult.getValidationConclusion().getSignatures().get(0).getInfo().getTimestampCreationTime();
assertThat(tsCreationTime, notNullValue());
assertThat(tsCreationTime, equalTo("2014-05-19T10:45:19Z"));
}

@Test
void validateDocument_ProfileLevelIsLTA_TimestampCreationTimeIsPresent() {
SimpleReport validationResult = timemarkContainerValidationService.validateDocument(buildValidationDocument(ASICE_TEST_FILE_LTA_LEVEL_SIGNATURE)).getSimpleReport();

String tsCreationTime = validationResult.getValidationConclusion().getSignatures().get(0).getInfo().getTimestampCreationTime();
assertThat(tsCreationTime, notNullValue());
assertThat(tsCreationTime, equalTo("2018-11-23T12:24:04Z"));
}

private void assertSubjectDNPresent(SignatureValidationData signature, String serialNumber, String
commonName, String givenName, String surname) {
SubjectDistinguishedName subjectDistinguishedName = signature.getSubjectDistinguishedName();
Expand Down
Binary file not shown.
Binary file not shown.

0 comments on commit fe8a635

Please sign in to comment.