Package se.digg.dgc.service.impl
Class DefaultDGCEncoder
- java.lang.Object
-
- se.digg.dgc.service.impl.DefaultDGCEncoder
-
- All Implemented Interfaces:
DGCEncoder
- Direct Known Subclasses:
DefaultDGCBarcodeEncoder
public class DefaultDGCEncoder extends Object implements DGCEncoder
A bean implementing theDGCEncoder
interface.- Author:
- Martin Lindström (martin@idsec.se), Henrik Bengtsson (extern.henrik.bengtsson@digg.se), Henric Norlander (extern.henric.norlander@digg.se)
-
-
Constructor Summary
Constructors Constructor Description DefaultDGCEncoder(DGCSigner dgcSigner)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
encode(byte[] dgc, Instant expiration)
Based on the CBOR encoded DGC payload and a expiration time, the method signs it, deflates it, and delivers it in Base45 encoding (with a HCERT header).String
encode(DigitalGreenCertificate dgc, Instant expiration)
Based on the DGC payload and a expiration time, the method encodes the payload to CBOR, signs it, deflates it, and delivers it in Base45 encoding (with a HCERT header).byte[]
sign(byte[] dgc, Instant expiration)
Given the CBOR-encoding of the DGC payload the method creates a CWT and signs it.byte[]
sign(DigitalGreenCertificate dgc, Instant expiration)
Given the DGC payload the method creates a CWT and signs it.
-
-
-
Constructor Detail
-
DefaultDGCEncoder
public DefaultDGCEncoder(DGCSigner dgcSigner)
Constructor.- Parameters:
dgcSigner
- a signer for signing the DGC:s
-
-
Method Detail
-
encode
public String encode(DigitalGreenCertificate dgc, Instant expiration) throws DGCSchemaException, IOException, SignatureException
Based on the DGC payload and a expiration time, the method encodes the payload to CBOR, signs it, deflates it, and delivers it in Base45 encoding (with a HCERT header).- Specified by:
encode
in interfaceDGCEncoder
- Parameters:
dgc
- the contents of the DGCexpiration
- the expiration of the DGC- Returns:
- the Base45 encoding of the signed DGC
- Throws:
DGCSchemaException
- for DGC schema errorsIOException
- for errors encoding data, for example CBOR related errorsSignatureException
- errors concerning signing the DGC
-
encode
public String encode(byte[] dgc, Instant expiration) throws IOException, SignatureException
Based on the CBOR encoded DGC payload and a expiration time, the method signs it, deflates it, and delivers it in Base45 encoding (with a HCERT header).- Specified by:
encode
in interfaceDGCEncoder
- Parameters:
dgc
- the contents of the DGC in its CBOR encodingexpiration
- the expiration of the DGC- Returns:
- the Base45 encoding of the signed DGC
- Throws:
IOException
- for errors encoding data, for example CBOR related errorsSignatureException
- errors concerning signing the DGC
-
sign
public byte[] sign(DigitalGreenCertificate dgc, Instant expiration) throws DGCSchemaException, IOException, SignatureException
Given the DGC payload the method creates a CWT and signs it.- Specified by:
sign
in interfaceDGCEncoder
- Parameters:
dgc
- the DGC payloadexpiration
- the expiration time of the DGC- Returns:
- the CBOR encoding of the signed DGC (CWT)
- Throws:
DGCSchemaException
- for DGC schema errorsIOException
- for errors encoding data, for example CBOR related errorsSignatureException
- errors concerning signing the DGC
-
sign
public byte[] sign(byte[] dgc, Instant expiration) throws IOException, SignatureException
Given the CBOR-encoding of the DGC payload the method creates a CWT and signs it.- Specified by:
sign
in interfaceDGCEncoder
- Parameters:
dgc
- the DGC payload in its CBOR encodingexpiration
- the expiration of the DGC- Returns:
- the CBOR encoding of the signed DGC (CWT)
- Throws:
IOException
- for errors encoding data, for example CBOR related errorsSignatureException
- errors concerning signing the DGC
-
-