public async Task <TspHttpResponse> Respond(TspHttpRequest tspHttpRequest)
        {
            try
            {
                var tspReqResult = GetTimeStampRequest(tspHttpRequest);
                if (!tspReqResult.IsValid)
                {
                    return(CreateResponse(new TimeStampResp(tspReqResult.PkiStatusInfo, null).GetEncoded()));
                }

                var contentInfo = await GetTimeStampToken(tspReqResult.TimeStampRequest);

                return(CreateResponse(new TimeStampResp(tspReqResult.PkiStatusInfo, contentInfo).GetEncoded()));
            }
            catch (Exception e)
            {
                TimeStampLogger.Error(e.Message);

                var pkiStatus = new PkiStatusInfo(
                    (int)PkiStatus.Rejection,
                    new PkiFreeText(new DerUtf8String("An internal error ocurred.")),
                    new PkiFailureInfo(PkiFailureInfo.SystemFailure));

                return(CreateResponse(new TimeStampResp(pkiStatus, null).GetEncoded()));
            }
        }