Skip to content

Commit e09749c

Browse files
authored
ToString replaced by ToJsonString. Testcase for tagged Code added. (eu-digital-green-certificates#46)
1 parent 965b189 commit e09749c

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

decoder/src/main/java/dgca/verifier/app/decoder/cbor/DefaultCborService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class DefaultCborService : CborService {
6464
val greenCertificate: GreenCertificate = CBORMapper()
6565
.readValue(hcertv1, GreenCertificate::class.java)
6666
.also { verificationResult.cborDecoded = true }
67-
GreenCertificateData(issuingCountry, cborObject.toString(), greenCertificate, issuedAt.atZone(ZoneOffset.UTC), expirationTime.atZone(ZoneOffset.UTC))
67+
GreenCertificateData(issuingCountry, cborObject.ToJSONString(), greenCertificate, issuedAt.atZone(ZoneOffset.UTC), expirationTime.atZone(ZoneOffset.UTC))
6868
} catch (e: Throwable) {
6969
null
7070
}

decoder/src/test/java/dgca/verifier/app/decoder/QrCodeTests.kt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package dgca.verifier.app.decoder
22

3+
import com.fasterxml.jackson.databind.ObjectMapper
34
import dgca.verifier.app.decoder.base45.Base45Decoder
45
import dgca.verifier.app.decoder.base45.Base45Service
56
import dgca.verifier.app.decoder.base45.DefaultBase45Service
@@ -17,9 +18,11 @@ import dgca.verifier.app.decoder.prefixvalidation.PrefixValidationService
1718
import dgca.verifier.app.decoder.schema.DefaultSchemaValidator
1819
import dgca.verifier.app.decoder.schema.SchemaValidator
1920
import dgca.verifier.app.decoder.services.X509
21+
import org.junit.Assert
2022
import org.junit.Assert.assertTrue
2123
import org.junit.Test
2224
import java.io.ByteArrayInputStream
25+
import java.io.IOException
2326
import java.io.InputStream
2427
import java.security.cert.CertificateException
2528
import java.security.cert.CertificateFactory
@@ -120,4 +123,28 @@ class QrCodeTests {
120123
"MIIBzDCCAXGgAwIBAgIUDN8nWnn8gBmlWgL3stwhoinVD5MwCgYIKoZIzj0EAwIwIDELMAkGA1UEBhMCR1IxETAPBgNVBAMMCGdybmV0LmdyMB4XDTIxMDUxMjExMjY1OFoXDTIzMDUxMjExMjY1OFowIDELMAkGA1UEBhMCR1IxETAPBgNVBAMMCGdybmV0LmdyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBcc6ApRZrh9/qCuMnxIRpUujI19bKkG+agj/6rPOiX8VyzfWvhptzV0149AFRWdSoF/NVuQyFcrBoNBqL9zCAqOBiDCBhTAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFN6ZiC57J/yRqTJ/Tg2eRspLCHDhMB8GA1UdIwQYMBaAFNU5HfWNY37TbdZjvsvO+1y1LPJYMDMGA1UdJQQsMCoGDCsGAQQBAI43j2UBAQYMKwYBBAEAjjePZQECBgwrBgEEAQCON49lAQMwCgYIKoZIzj0EAwIDSQAwRgIhAN6rDdE4mtTt2ZuffpZ242/B0lmyvdd+Wy6VuX+J/b01AiEAvME52Y4zqkQDuj2kbfCfs+h3uwYFOepoBP14X+Rd/VM="
121124
assertTrue(verify(hCert, pubkey))
122125
}
126+
127+
@Test
128+
fun testTaggedJsonCreation() {
129+
val hCert =
130+
"HC1:NCFOXNYTSFDHJI8Y0PJ3F1BRV+4$61FI1\$B3LR5XW9G81OGI9JLPZ5M*4MCE AOCV4*XUA2P9FH4%HNTI4L6N\$Q%UG/YL WO*Z7ON1.-LDJ82T9BZJR+HS3WPQO9E4GI8SL0.T70%NUE0J-J:PICIG2R44$2585UN06R2.+K6-CI3J -2DP4TO212JSH0%KNYGFO-O/HLHHJ0GHLHFJW25LO3E8PON QEQ\$HCPPIRH7VHOW2TP9XOA 68ZBG*:J5QNP/IUC7O54TB5PJH+IFO-ON48SU2NUBVYJA.GYS6KRPP+PI+QPRSV-GV*OIUSXQ2SYKLV03RVPCEZY6FNH9.1659Y73JC3DG34LT%F352386B-E3.FJ3LT323UR8K%IU3BSXG NN2*BXEU-IL/UC8AE0VKKWNONG-TL 7928OJCGA7IB9NQ8L59L1PC0D9E2LBHHGKLO-K%FG5IAMEADII-GG\$GKIGQA K%KIO4KPK6PK6F\$BG+SB.V4Q5.AK2EQ6YBK S*%NH\$RSC9KIFX80S\$CKX85JLL%IR299 T757A0L /K1:SY70R61M0VWP0FDA4JBSC9HAG-BJDCI-TL-VC4SLW HPOJZ0K PIS\$S0O29T2*ZE6WUAKEG%5TW5A 6YO67N65VC561CSS2+K/KVMAWCUPK-BT-QYFRZJNU 54*A*K66.AORVFCV.YJ72V34K:1BT1GIFE\$EUXNL606KQHEPB/%9YE96.R L7CRAYIO8MRVBWHLV%.P*YSNDM/0HBZVC*IP:2JIJD:61E77%NT9J3-S726O/5U3F$1CJYV0BSLPS/*D-YN%N4:2FSEQMQUHL5W RXWS-ARH.NMVRUNBYWI8:V29AKXTN2Q:ULZ0SM-F\$JU-0R0J3+TUSVU4FB22N+9BQA8TTT:-6: 6YAN.6W8LBX/CC3BM 24CO6WJM4P8QE0M8XY29B93GQ*AE%/9WH2DI7U2VLW1B3B1:JD%70\$AK%D.R6/NF%LCIWLO.B0DR6OMZHUDOQBP6OU9G3WL/VH:TT07QQU2FOQKLRF5E8VTH7/WR6Y0*:B%75"
131+
val result = VerificationResult()
132+
val b45Service: Base45Service = DefaultBase45Service()
133+
val prefService: PrefixValidationService = DefaultPrefixValidationService()
134+
val compressorService: CompressorService = DefaultCompressorService()
135+
val validator: SchemaValidator = DefaultSchemaValidator()
136+
val coseservice: CoseService = DefaultCoseService()
137+
val cborservice: CborService = DefaultCborService()
138+
val base45 = prefService.decode(hCert, result)
139+
val compressed = b45Service.decode(base45, result)
140+
val cose = compressorService.decode(compressed, result)
141+
val cbor = coseservice.decode(cose, result)
142+
val greenCertificate = cborservice.decodeData(cbor!!.cbor, result)
143+
try {
144+
val mapper = ObjectMapper()
145+
mapper.readTree(greenCertificate!!.hcertJson)
146+
} catch (e: IOException) {
147+
Assert.fail()
148+
}
149+
}
123150
}

0 commit comments

Comments
 (0)