/// <see cref="VerificationRule.Verify" /> public override VerificationResult Verify(IVerificationContext context) { CalendarHashChain calendarHashChain = GetSignature(context).CalendarHashChain; // If calendar hash chain is missing, verification successful if (calendarHashChain == null) { return(new VerificationResult(GetRuleName(), VerificationResultCode.Ok)); } return(calendarHashChain.AggregationTime != calendarHashChain.CalculateRegistrationTime() ? new VerificationResult(GetRuleName(), VerificationResultCode.Fail, VerificationError.Int05) : new VerificationResult(GetRuleName(), VerificationResultCode.Ok)); }
/// <see cref="VerificationRule.Verify" /> public override VerificationResult Verify(IVerificationContext context) { PublicationData userPublication = GetUserPublication(context); CalendarHashChain extendedCalendarHashChain = GetExtendedCalendarHashChain(context, userPublication.PublicationTime); if (userPublication.PublicationTime != extendedCalendarHashChain.PublicationData.PublicationTime) { return(new VerificationResult(GetRuleName(), VerificationResultCode.Fail, VerificationError.Pub02)); } return(GetSignature(context).AggregationTime != extendedCalendarHashChain.CalculateRegistrationTime() ? new VerificationResult(GetRuleName(), VerificationResultCode.Fail, VerificationError.Pub02) : new VerificationResult(GetRuleName(), VerificationResultCode.Ok)); }
/// <see cref="VerificationRule.Verify" /> public override VerificationResult Verify(IVerificationContext context) { IKsiSignature signature = GetSignature(context); PublicationRecordInPublicationFile publicationRecord = GetNearestPublicationRecord(GetPublicationsFile(context), signature.AggregationTime); CalendarHashChain extendedCalendarHashChain = GetExtendedCalendarHashChain(context, publicationRecord.PublicationData.PublicationTime); if (publicationRecord.PublicationData.PublicationTime != extendedCalendarHashChain.PublicationTime) { return(new VerificationResult(GetRuleName(), VerificationResultCode.Fail, VerificationError.Pub02)); } return(signature.AggregationTime != extendedCalendarHashChain.CalculateRegistrationTime() ? new VerificationResult(GetRuleName(), VerificationResultCode.Fail, VerificationError.Pub02) : new VerificationResult(GetRuleName(), VerificationResultCode.Ok)); }