Class DefaultDGCEncoder

  • All Implemented Interfaces:
    DGCEncoder
    Direct Known Subclasses:
    DefaultDGCBarcodeEncoder

    public class DefaultDGCEncoder
    extends Object
    implements DGCEncoder
    A bean implementing the DGCEncoder interface.
    Author:
    Martin Lindström (martin@idsec.se), Henrik Bengtsson (extern.henrik.bengtsson@digg.se), Henric Norlander (extern.henric.norlander@digg.se)
    • Constructor Detail

      • DefaultDGCEncoder

        public DefaultDGCEncoder​(DGCSigner dgcSigner)
        Constructor.
        Parameters:
        dgcSigner - a signer for signing the DCC:s
    • Method Detail

      • encode

        public String encode​(byte[] dcc,
                             Instant expiration)
                      throws IOException,
                             SignatureException
        Based on the CBOR encoded DCC 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 interface DGCEncoder
        Parameters:
        dcc - the contents of the DCC in its CBOR encoding
        expiration - the expiration of the DCC
        Returns:
        the Base45 encoding of the signed DCC
        Throws:
        IOException - for errors encoding data, for example CBOR related errors
        SignatureException - errors concerning signing the DCC
      • sign

        public byte[] sign​(byte[] dcc,
                           Instant expiration)
                    throws IOException,
                           SignatureException
        Given the CBOR-encoding of the DCC payload the method creates a CWT and signs it.
        Specified by:
        sign in interface DGCEncoder
        Parameters:
        dcc - the DCC payload in its CBOR encoding
        expiration - the expiration of the DCC
        Returns:
        the CBOR encoding of the signed DCC (CWT)
        Throws:
        IOException - for errors encoding data, for example CBOR related errors
        SignatureException - errors concerning signing the DCC