public void HASignWithPayloadResponseAndWaitTest() { IKsiService haService = new HAKsiService( new List <IKsiService>() { GetStaticKsiService(File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, Resources.KsiService_AggregationResponsePdu_RequestId_1584727637)), 1584727638), GetStaticKsiService(File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, Resources.KsiService_AggregationResponsePdu_RequestId_1584727637)), 1584727637), GetStaticKsiService(File.ReadAllBytes(Path.Combine(TestSetup.LocalPath, Resources.KsiService_AggregationResponsePdu_RequestId_1584727637)), 1584727637) }, null, null); IAsyncResult ar = haService.BeginSign(new DataHash(Base16.Decode("019f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08")), null, null); SignRequestResponsePayload payload = haService.GetSignResponsePayload(ar); Assert.IsNotNull(payload, "Sign request response payload cannot be null."); }
private KsiSignature CreateFromResponsePayload(SignRequestResponsePayload payload, ulong requestId, DataHash hash, uint?level) { try { Logger.Debug("Creating KSI signature from aggregation response. (request id: {0})", requestId); KsiSignature signature = new KsiSignature(false, false, payload.GetSignatureChildTags()); if (level > 0) { signature = CreateSignatureWithLevelCorrection(signature, level.Value); } Verify(signature, hash); Logger.Debug("Creating KSI signature from aggregation response successful. (request id: {0})", requestId); return(signature); } catch (TlvException e) { Logger.Warn("Creating KSI signature from aggregation response failed: {0} (request id: {1})", e, requestId); throw; } }