From a6ffbc685f47e80811bae31bc92aa37a6d26da7a Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 16 Jun 2022 15:02:17 +0200 Subject: [PATCH] Add download link for signing certificate To further analyze the signing certificate it can be useful to be able to download the raw .crt file. --- README.md | 2 ++ docs/images/validation-page.png | Bin 63159 -> 66531 bytes .../domain/SigningCertificateInformation.java | 5 +++++ signing/build.gradle.kts | 2 +- .../TimeStampValidationResultMapper.java | 13 +++++++++++++ signing/src/main/java/module-info.java | 2 ++ .../TimeStampValidationResultMapperTest.java | 6 +++++- web/src/main/java/module-info.java | 2 ++ web/src/main/resources/messages_de.properties | 1 + web/src/main/resources/messages_en.properties | 1 + .../templates/validation-result.html | 11 +++++++++-- 11 files changed, 41 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ea0f856..9bc1796 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,8 @@ signed and who signed it: ![Validation Page](https://raw.githubusercontent.com/dnl50/tsa-server/develop/docs/images/validation-page.png "Validation Page") +You can also download the signing certificate in case it is included in the response. + ## Configuration All Parameters mentioned below can be configured in variety of ways. Please refer to the diff --git a/docs/images/validation-page.png b/docs/images/validation-page.png index 77edf600caefd87984a3fe75b0de81025190d419..8fcff3cf4a99cd4cae8a891842fa8a90ab75b1fa 100644 GIT binary patch literal 66531 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 O)4Hs8DeHpugZ~F-LWMv8 diff --git a/domain/src/main/java/dev/mieser/tsa/domain/SigningCertificateInformation.java b/domain/src/main/java/dev/mieser/tsa/domain/SigningCertificateInformation.java index 508b9d6..be5a271 100644 --- a/domain/src/main/java/dev/mieser/tsa/domain/SigningCertificateInformation.java +++ b/domain/src/main/java/dev/mieser/tsa/domain/SigningCertificateInformation.java @@ -28,4 +28,9 @@ public class SigningCertificateInformation { */ private final ZonedDateTime expirationDate; + /** + * The Base64 encoding of the ASN.1 DER X.509 encoded certificate which was used to sign the request. + */ + private final String base64EncodedCertificate; + } diff --git a/signing/build.gradle.kts b/signing/build.gradle.kts index 3096c3d..ba64842 100644 --- a/signing/build.gradle.kts +++ b/signing/build.gradle.kts @@ -13,10 +13,10 @@ dependencies { implementation("jakarta.validation:jakarta.validation-api") implementation("commons-io:commons-io:${libs.versions.commonsIo.get()}") implementation("org.apache.commons:commons-lang3") + implementation("commons-codec:commons-codec") testImplementation(project(":test-util")) testImplementation("org.apache.commons:commons-lang3") - testImplementation("commons-codec:commons-codec") integrationTestImplementation("org.springframework.boot:spring-boot-starter-test") integrationTestImplementation("org.hibernate.validator:hibernate-validator") diff --git a/signing/src/main/java/dev/mieser/tsa/signing/mapper/TimeStampValidationResultMapper.java b/signing/src/main/java/dev/mieser/tsa/signing/mapper/TimeStampValidationResultMapper.java index d86fede..4d86cd2 100644 --- a/signing/src/main/java/dev/mieser/tsa/signing/mapper/TimeStampValidationResultMapper.java +++ b/signing/src/main/java/dev/mieser/tsa/signing/mapper/TimeStampValidationResultMapper.java @@ -1,5 +1,9 @@ package dev.mieser.tsa.signing.mapper; +import static org.apache.commons.codec.binary.Base64.encodeBase64String; + +import java.io.IOException; + import lombok.RequiredArgsConstructor; import org.bouncycastle.cert.X509CertificateHolder; @@ -67,7 +71,16 @@ private SigningCertificateInformation mapCertificateInformation(SigningCertifica .serialNumber(signingCertificate.getSerialNumber()) .expirationDate(dateConverter.toZonedDateTime(signingCertificate.getNotAfter())) .issuer(signingCertificate.getIssuer().toString()) + .base64EncodedCertificate(encodeAsBase64String(signingCertificate)) .build(); } + private String encodeAsBase64String(X509CertificateHolder signingCertificate) { + try { + return encodeBase64String(signingCertificate.getEncoded()); + } catch (IOException e) { + throw new IllegalStateException("Failed to retrieve encoded signing certificate.", e); + } + } + } diff --git a/signing/src/main/java/module-info.java b/signing/src/main/java/module-info.java index 7a479c0..3133d13 100644 --- a/signing/src/main/java/module-info.java +++ b/signing/src/main/java/module-info.java @@ -13,6 +13,8 @@ requires org.bouncycastle.provider; + requires org.apache.commons.codec; + requires org.apache.commons.io; requires org.apache.commons.lang3; diff --git a/signing/src/test/java/dev/mieser/tsa/signing/mapper/TimeStampValidationResultMapperTest.java b/signing/src/test/java/dev/mieser/tsa/signing/mapper/TimeStampValidationResultMapperTest.java index 34a6f5a..c7d6015 100644 --- a/signing/src/test/java/dev/mieser/tsa/signing/mapper/TimeStampValidationResultMapperTest.java +++ b/signing/src/test/java/dev/mieser/tsa/signing/mapper/TimeStampValidationResultMapperTest.java @@ -17,6 +17,7 @@ import java.time.ZonedDateTime; import java.util.Date; +import org.apache.commons.codec.binary.Base64; import org.bouncycastle.asn1.x509.AlgorithmIdentifier; import org.bouncycastle.cert.X509CertificateHolder; import org.bouncycastle.tsp.TimeStampResponse; @@ -127,7 +128,7 @@ void mapsTimeStampTokenInformation() { } @Test - void mapsSigningCertificateIdentifier() throws Exception { + void mapsSigningCertificateIdentifier() { // given byte[] signingCertificateHash = "hash".getBytes(UTF_8); SigningCertificateHolder signingCertificateHolder = new SigningCertificateHolder(new AlgorithmIdentifier(id_SHA1), @@ -179,10 +180,13 @@ void mapsSigningCertificateInformation() throws Exception { TimeStampValidationResult mappedValidationResult = testSubject.map(timeStampResponse, signingCertificateHolder, true); // then + String expectedBase64EncodedCertificate = Base64.encodeBase64String(certificate.getEncoded()); + SigningCertificateInformation expectedCertificateInformation = SigningCertificateInformation.builder() .expirationDate(mappedExpirationDate) .serialNumber(certificate.getSerialNumber()) .issuer(certificateHolder.getIssuer().toString()) + .base64EncodedCertificate(expectedBase64EncodedCertificate) .build(); assertThat(mappedValidationResult.getSigningCertificateInformation()).isEqualTo(expectedCertificateInformation); diff --git a/web/src/main/java/module-info.java b/web/src/main/java/module-info.java index 1edace4..33731db 100644 --- a/web/src/main/java/module-info.java +++ b/web/src/main/java/module-info.java @@ -23,6 +23,8 @@ requires org.apache.commons.codec; + requires org.apache.commons.io; + requires org.apache.commons.lang3; requires com.fasterxml.jackson.databind; diff --git a/web/src/main/resources/messages_de.properties b/web/src/main/resources/messages_de.properties index c56dfbb..615c4b7 100644 --- a/web/src/main/resources/messages_de.properties +++ b/web/src/main/resources/messages_de.properties @@ -37,5 +37,6 @@ validate.result.cert-hash.description=Der Base64 kodierte Hashwert des Signaturz validate.result.certificate-issuer=Aussteller validate.result.certificate-serial=Seriennummer validate.result.certificate-expiration-date=Ablaufdatum +validate.result.download-cert=Zertifikat herunterladen validate.error.invalid-response=Bei der Eingabe handelt es sich nicht um eine valide Time Stamp response nach RFC 3161/RFC 5816. error.title-prefix=Fehler diff --git a/web/src/main/resources/messages_en.properties b/web/src/main/resources/messages_en.properties index 62f7f90..f3ce330 100644 --- a/web/src/main/resources/messages_en.properties +++ b/web/src/main/resources/messages_en.properties @@ -37,5 +37,6 @@ validate.result.cert-hash.description=The Base64 encoded hash value of the signi validate.result.certificate-issuer=Issuer validate.result.certificate-serial=Serialnumber validate.result.certificate-expiration-date=Expiration Date +validate.result.download-cert=Download Certificate validate.error.invalid-response=The input is not a valid time stamp response according to RFC 3161/RFC 5816. error.title-prefix=Error diff --git a/web/src/main/resources/templates/validation-result.html b/web/src/main/resources/templates/validation-result.html index 7a70809..320f26f 100644 --- a/web/src/main/resources/templates/validation-result.html +++ b/web/src/main/resources/templates/validation-result.html @@ -86,12 +86,19 @@

Signing

- Signed by this TSA? + Signing cert included - + +
+ +