public SignatureVerificationSummary(
     SignatureType signatureType,
     SignatureVerificationStatus status,
     SignatureVerificationStatusFlags flags)
     : this(signatureType, status, flags, timestamp : null, expirationTime : null)
 {
 }
        private static async Task <List <SignatureLog> > VerifyUnavailableRevocationInfo(
            SignatureVerificationStatus expectedStatus,
            LogLevel expectedLogLevel,
            SignedPackageVerifierSettings setting)
        {
            var verificationProvider = new SignatureTrustAndValidityVerificationProvider();

            using (var nupkgStream = new MemoryStream(GetResource("UnavailableCrlPackage.nupkg")))
                using (var package = new PackageArchiveReader(nupkgStream, leaveStreamOpen: false))
                {
                    // Read a signature that is valid in every way except that the CRL information is unavailable.
                    var signature = await package.GetSignatureAsync(CancellationToken.None);

                    var rootCertificate = SignatureUtility.GetPrimarySignatureCertificates(signature).Last();

                    // Trust the root CA of the signing certificate.
                    using (var testCertificate = TrustedTestCert.Create(
                               rootCertificate,
                               StoreName.Root,
                               StoreLocation.LocalMachine,
                               maximumValidityPeriod: TimeSpan.MaxValue))
                    {
                        // Act
                        var result = await verificationProvider.GetTrustResultAsync(package, signature, setting, CancellationToken.None);

                        // Assert
                        Assert.Equal(expectedStatus, result.Trust);
                        return(result
                               .Issues
                               .Where(x => x.Level >= expectedLogLevel)
                               .OrderBy(x => x.Message)
                               .ToList());
                    }
                }
        }
Exemplo n.º 3
0
 public SignatureVerificationSummary(
     SignatureType signatureType,
     SignatureVerificationStatus status,
     SignatureVerificationStatusFlags flags,
     IEnumerable <SignatureLog> issues)
     : this(signatureType, status, flags, timestamp : null, expirationTime : null, issues : issues)
 {
 }
 public SignatureVerificationSummary(
     SignatureType signatureType,
     SignatureVerificationStatus status,
     SignatureVerificationStatusFlags flags,
     Timestamp timestamp,
     DateTimeOffset?expirationTime)
 {
     SignatureType  = signatureType;
     Status         = status;
     Flags          = flags;
     Timestamp      = timestamp;
     ExpirationTime = expirationTime;
 }
Exemplo n.º 5
0
 public SignatureVerificationSummary(
     SignatureType signatureType,
     SignatureVerificationStatus status,
     SignatureVerificationStatusFlags flags,
     Timestamp timestamp,
     DateTimeOffset?expirationTime,
     IEnumerable <SignatureLog> issues)
 {
     SignatureType  = signatureType;
     Status         = status;
     Flags          = flags;
     Timestamp      = timestamp;
     ExpirationTime = expirationTime;
     Issues         = issues;
 }
Exemplo n.º 6
0
        public static PackageHealthIconVisibilityInfo ValidationResultToIcon(SignatureVerificationStatus result)
        {
            switch (result)
            {
            case SignatureVerificationStatus.Valid:
                return(new PackageHealthIconVisibilityInfo(PackageHealthIconVisibilityInfo.IconTypes.OK));

            case SignatureVerificationStatus.Disallowed:
                return(new PackageHealthIconVisibilityInfo(PackageHealthIconVisibilityInfo.IconTypes.Critical));

            case SignatureVerificationStatus.Unknown:
                return(new PackageHealthIconVisibilityInfo(PackageHealthIconVisibilityInfo.IconTypes.Warning));

            case SignatureVerificationStatus.Suspect:
                return(new PackageHealthIconVisibilityInfo(PackageHealthIconVisibilityInfo.IconTypes.Warning));

            default:
                return(new PackageHealthIconVisibilityInfo(PackageHealthIconVisibilityInfo.IconTypes.Info));
            }
        }
Exemplo n.º 7
0
        public static string ValidationResultToText(SignatureVerificationStatus result)
        {
            switch (result)
            {
            case SignatureVerificationStatus.Valid:
                return(resManager.GetString("Validation_Valid"));

            case SignatureVerificationStatus.Disallowed:
                return(resManager.GetString("Validation_Disallowed"));

            case SignatureVerificationStatus.Unknown:
                return(resManager.GetString("Validation_Unknown"));

            case SignatureVerificationStatus.Suspect:
                return(resManager.GetString("Validation_Suspect"));

            default:
                return(resManager.GetString("Validation_Unknown"));
            }
        }
 public SignedPackageVerificationResult(SignatureVerificationStatus trust, PrimarySignature signature, IEnumerable <SignatureLog> issues) :
     base(trust, issues)
 {
     Signature = signature ?? throw new ArgumentNullException(nameof(signature));
 }
Exemplo n.º 9
0
 public void GetSignatureVerificationStatus_WithStatusFlag_ReturnsStatus(
     SignatureVerificationStatusFlags flags,
     SignatureVerificationStatus expectedStatus)
 {
     Assert.Equal(expectedStatus, VerificationUtility.GetSignatureVerificationStatus(flags));
 }
 public InvalidSignaturePackageVerificationResult(SignatureVerificationStatus trust, IEnumerable <SignatureLog> issues) :
     base(trust, issues)
 {
 }
 /// <summary>
 /// PackageVerificationResult
 /// </summary>
 public PackageVerificationResult(SignatureVerificationStatus trust, IEnumerable <SignatureLog> issues)
 {
     Trust  = trust;
     Issues = issues ?? new List <SignatureLog>();
 }