Representation of the Result in the validation report.
Representation of the Result in the validation report.
示例#1
0
		/// <summary>The default constructor for SignatureLevelBES.</summary>
		/// <remarks>The default constructor for SignatureLevelBES.</remarks>
		/// <param name="name"></param>
		/// <param name="signature"></param>
		/// <param name="levelReached"></param>
		public SignatureLevelX(AdvancedSignature signature, Result levelReached, TimestampVerificationResult
			[] signatureAndRefsTimestampsVerification, TimestampVerificationResult[] referencesTimestampsVerification
			) : base(levelReached)
		{
			this.signatureAndRefsTimestampsVerification = signatureAndRefsTimestampsVerification;
			this.referencesTimestampsVerification = referencesTimestampsVerification;
		}
		/// <summary>The default constructor for CertificateVerification.</summary>
		/// <remarks>The default constructor for CertificateVerification.</remarks>
		/// <param name="cert"></param>
		/// <param name="ctx"></param>
		public CertificateVerification(CertificateAndContext cert, ValidationContext ctx)
		{
			certificate = cert;
			if (cert != null)
			{
				try
				{
					cert.GetCertificate().CheckValidity(ctx.GetValidationDate());
					validityPeriodVerification = new Result(Result.ResultStatus.VALID, null);
				}
				catch (CertificateExpiredException)
				{
					validityPeriodVerification = new Result(Result.ResultStatus.INVALID, "certificate.expired"
						);
				}
				catch (CertificateNotYetValidException)
				{
					validityPeriodVerification = new Result(Result.ResultStatus.INVALID, "certificate.not.yet.valid"
						);
				}
				CertificateStatus status = ctx.GetCertificateStatusFromContext(cert);
				if (status != null)
				{
					certificateStatus = new RevocationVerificationResult(status);
				}
			}
		}
		/// <summary>The default constructor for CertPathRevocationAnalysis.</summary>
		/// <remarks>The default constructor for CertPathRevocationAnalysis.</remarks>
		/// <param name="ctx"></param>
		/// <param name="info"></param>
		public CertPathRevocationAnalysis(ValidationContext ctx, TrustedListInformation info
			)
		{
			summary = new Result();
			this.trustedListInformation = info;
			if (ctx != null && ctx.GetNeededCertificates() != null)
			{
				foreach (CertificateAndContext cert in ctx.GetNeededCertificates())
				{
					CertificateVerification verif = new CertificateVerification(cert, ctx);
					certificatePathVerification.AddItem(verif);
				}
			}
			summary.SetStatus(Result.ResultStatus.VALID, null);
			if (certificatePathVerification != null)
			{
				foreach (CertificateVerification verif in certificatePathVerification)
				{
					if (verif.GetValidityPeriodVerification().IsInvalid())
					{
						summary.SetStatus(Result.ResultStatus.INVALID, "certificate.not.valid");
						break;
					}
					if (verif.GetCertificateStatus() != null)
					{
						if (verif.GetCertificateStatus().GetStatus() == CertificateValidity.REVOKED)
						{
							summary.SetStatus(Result.ResultStatus.INVALID, "certificate.revoked");
							break;
						}
						else
						{
							if (verif.GetCertificateStatus().GetStatus() == CertificateValidity.UNKNOWN || verif
								.GetCertificateStatus().GetStatus() == null)
							{
								summary.SetStatus(Result.ResultStatus.UNDETERMINED, "revocation.unknown");
							}
						}
					}
					else
					{
						summary.SetStatus(Result.ResultStatus.UNDETERMINED, "no.revocation.data");
					}
				}
			}
			if (trustedListInformation != null)
			{
				if (!trustedListInformation.IsServiceWasFound())
				{
					summary.SetStatus(Result.ResultStatus.INVALID, "no.trustedlist.service.was.found"
						);
				}
			}
			else
			{
				summary.SetStatus(Result.ResultStatus.INVALID, "no.trustedlist.service.was.found"
					);
			}
		}
示例#4
0
		/// <summary>The default constructor for Result.</summary>
		/// <remarks>The default constructor for Result.</remarks>
		/// <param name="name"></param>
		public Result(Result.ResultStatus status, string description)
		{
			// or PASS
			// or FAIL
			// or UNKNOWN
			this.status = status;
			this.description = description;
		}
		/// <summary>The default constructor for QualificationExtensionAnalysis.</summary>
		/// <remarks>The default constructor for QualificationExtensionAnalysis.</remarks>
		/// <param name="name"></param>
		/// <param name="qCWithSSCD"></param>
		/// <param name="qCNoSSCD"></param>
		/// <param name="qCSSCDStatusAsInCert"></param>
		/// <param name="qCForLegalPerson"></param>
		public QualificationsVerification(Result qCWithSSCD, Result qCNoSSCD, Result qCSSCDStatusAsInCert
			, Result qCForLegalPerson)
		{
			QCWithSSCD = qCWithSSCD;
			QCNoSSCD = qCNoSSCD;
			QCSSCDStatusAsInCert = qCSSCDStatusAsInCert;
			QCForLegalPerson = qCForLegalPerson;
		}
示例#6
0
		/// <summary>The default constructor for SignatureLevelBES.</summary>
		/// <remarks>The default constructor for SignatureLevelBES.</remarks>
		/// <param name="name"></param>
		/// <param name="signature"></param>
		/// <param name="levelReached"></param>
		public SignatureLevelEPES(AdvancedSignature signature, Result levelReached) : base
			(levelReached)
		{
			if (signature != null)
			{
				signaturePolicy = signature.GetPolicyId();
			}
		}
示例#7
0
		/// <summary>One-liner to create a Result by asserting something</summary>
		/// <param name="assertion"></param>
		/// <param name="statusIfFailed">the status to set if the test fails</param>
		private Result(bool assertion, Result.ResultStatus statusIfFailed) : this()
		{
			if (assertion)
			{
				this.SetStatus(Result.ResultStatus.VALID, null);
			}
			else
			{
				this.SetStatus(statusIfFailed, null);
			}
		}
示例#8
0
		public SignatureLevelX(AdvancedSignature signature, Result levelReached, IList<TimestampVerificationResult
			> signatureAndRefsTimestampsVerification, IList<TimestampVerificationResult> referencesTimestampsVerification
			) : base(levelReached)
		{
			TimestampVerificationResult[] array1 = new TimestampVerificationResult[signatureAndRefsTimestampsVerification
				.Count];
			this.signatureAndRefsTimestampsVerification = Sharpen.Collections.ToArray(signatureAndRefsTimestampsVerification
				, array1);
			TimestampVerificationResult[] array2 = new TimestampVerificationResult[referencesTimestampsVerification
				.Count];
			this.referencesTimestampsVerification = Sharpen.Collections.ToArray(referencesTimestampsVerification
				, array2);
		}
示例#9
0
		/// <param name="status"></param>
		public virtual void SetStatus(Result.ResultStatus status, string description)
		{
			this.status = status;
			this.description = description;
		}
示例#10
0
		/// <summary>The default constructor for SignatureLevelBES.</summary>
		/// <remarks>The default constructor for SignatureLevelBES.</remarks>
		/// <param name="name"></param>
		/// <param name="signature"></param>
		/// <param name="levelReached"></param>
		public SignatureLevelXL(Result levelReached, Result certificateValuesVerification
			, Result revocationValuesVerification) : base(levelReached)
		{
			this.certificateValuesVerification = certificateValuesVerification;
			this.revocationValuesVerification = revocationValuesVerification;
		}
示例#11
0
		/// <summary>The default constructor for SignatureLevelBES.</summary>
		/// <remarks>The default constructor for SignatureLevelBES.</remarks>
		/// <param name="name"></param>
		/// <param name="signature"></param>
		/// <param name="levelReached"></param>
		public SignatureLevelA(Result levelReached, IList<TimestampVerificationResult> archiveTimestampsVerification
			) : base(levelReached)
		{
			this.archiveTimestampsVerification = archiveTimestampsVerification;
		}
示例#12
0
		/// <summary>The default constructor for QCStatementInformation.</summary>
		/// <remarks>The default constructor for QCStatementInformation.</remarks>
		/// <param name="name"></param>
		/// <param name="qCPPresent"></param>
		/// <param name="qCPPlusPresent"></param>
		/// <param name="qcCompliancePresent"></param>
		/// <param name="qcSCCDPresent"></param>
		public QCStatementInformation(Result qCPPresent, Result qCPPlusPresent, Result qcCompliancePresent
			, Result qcSCCDPresent)
		{
			this.QCPPresent = qCPPresent;
			this.QCPPlusPresent = qCPPlusPresent;
			this.QcCompliancePresent = qcCompliancePresent;
			this.QcSCCDPresent = qcSCCDPresent;
		}
示例#13
0
		/// <param name="qcSCCDPresent"></param>
		public virtual void SetQcSCCDPresent(Result qcSCCDPresent)
		{
			QcSCCDPresent = qcSCCDPresent;
		}
示例#14
0
		/// <param name="qcCompliancePresent"></param>
		public virtual void SetQcCompliancePresent(Result qcCompliancePresent)
		{
			QcCompliancePresent = qcCompliancePresent;
		}
示例#15
0
		/// <param name="qCPPlusPresent"></param>
		public virtual void SetQCPPlusPresent(Result qCPPlusPresent)
		{
			QCPPlusPresent = qCPPlusPresent;
		}
		/// <param name="summary">the summary to set</param>
		public virtual void SetSummary(Result summary)
		{
			this.summary = summary;
		}
示例#17
0
		/// <summary>The default constructor for SignatureVerification.</summary>
		/// <remarks>The default constructor for SignatureVerification.</remarks>
		public SignatureVerification(Result signatureVerificationResult, string signatureAlgorithm
			)
		{
			this.SignatureVerificationResult = signatureVerificationResult;
			this.SignatureAlgorithm = signatureAlgorithm;
		}
示例#18
0
		/// <param name="validityPeriodVerification">the validityPeriodVerification to set</param>
		public virtual void SetValidityPeriodVerification(Result validityPeriodVerification
			)
		{
			this.validityPeriodVerification = validityPeriodVerification;
		}
示例#19
0
		/// <summary>The default constructor for SignatureLevel.</summary>
		/// <remarks>The default constructor for SignatureLevel.</remarks>
		/// <param name="signature"></param>
		/// <param name="levelReached"></param>
		public SignatureLevel(Result levelReached)
		{
			this.levelReached = levelReached;
		}
示例#20
0
		/// <summary>The default constructor for SignatureLevelBES.</summary>
		/// <remarks>The default constructor for SignatureLevelBES.</remarks>
		/// <param name="name"></param>
		/// <param name="signature"></param>
		/// <param name="levelReached"></param>
		public SignatureLevelC(Result levelReached, Result certificateRefsVerification, Result
			 revocationRefsVerification) : base(levelReached)
		{
			this.certificateRefsVerification = certificateRefsVerification;
			this.revocationRefsVerification = revocationRefsVerification;
		}
示例#21
0
		/// <summary>The default constructor for SignatureLevelBES.</summary>
		/// <remarks>The default constructor for SignatureLevelBES.</remarks>
		/// <param name="name"></param>
		/// <param name="signature"></param>
		/// <param name="levelReached"></param>
		public SignatureLevelT(Result levelReached, IList<TimestampVerificationResult> signatureTimestampsVerification
			) : base(levelReached)
		{
			this.signatureTimestampsVerification = signatureTimestampsVerification;
		}
示例#22
0
		public SignatureLevelX(AdvancedSignature signature, Result levelReached) : base(levelReached
			)
		{
		}