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())); } }