示例#1
0
        void AddCertificate(CertificateResourceType type)
        {
            var data = ResourceManager.GetCertificateData(type);

            using (var x509 = BtlsProvider.CreateNative(data, BtlsX509Format.PEM))
                chain.Add(x509);
        }
示例#2
0
        public static CertificateInfo GetCertificateInfo(CertificateResourceType type)
        {
            switch (type)
            {
            case CertificateResourceType.HamillerTubeCA:
                return(hamillerTubeCAInfo);

            case CertificateResourceType.SelfSignedServerCertificate:
                return(selfSignedServerInfo);

            case CertificateResourceType.TlsTestXamDevExpired:
                return(tlsTestXamDevExpiredInfo);

            case CertificateResourceType.TlsTestXamDevExpired2:
                return(tlsTestXamDevExpired2Info);

            case CertificateResourceType.TlsTestXamDevNew:
                return(tlsTestXamDevNewInfo);

            case CertificateResourceType.TlsTestXamDevOldCA:
                return(tlsTestXamDevOldCAInfo);

            case CertificateResourceType.IntermediateCA:
                return(intermediateCAInfo);

            case CertificateResourceType.IntermediateServer:
                return(intermediateServerInfo);

            default:
                throw new InvalidOperationException();
            }
        }
示例#3
0
        public static byte[] GetCertificateData(CertificateResourceType type)
        {
            switch (type)
            {
            case CertificateResourceType.HamillerTubeCA:
                return(cacertData);

            case CertificateResourceType.HamillerTubeIM:
                return(hamillerTubeIMData);

            case CertificateResourceType.ServerCertificateFromLocalCA:
                return(serverCertNoKeyData);

            case CertificateResourceType.SelfSignedServerCertificate:
                return(selfServerCertNoKeyData);

            case CertificateResourceType.TlsTestXamDevExpired:
                return(tlsTestXamDevExpiredData);

            case CertificateResourceType.TlsTestXamDevNew:
                return(tlsTestXamDevNewData);

            case CertificateResourceType.TlsTestXamDevCA:
                return(tlsTestXamDevCAData);

            case CertificateResourceType.IntermediateCA:
                return(intermediateCAData);

            case CertificateResourceType.IntermediateServer:
                return(intermediateServerData);

            case CertificateResourceType.ServerCertificateWithCA:
                return(serverCertWithCAData);

            case CertificateResourceType.IntermediateServerCertificate:
                return(intermediateServerCertData);

            case CertificateResourceType.IntermediateServerCertificateBare:
                return(intermediateServerCertBareData);

            case CertificateResourceType.IntermediateServerCertificateFull:
                return(intermediateServerCertFullData);

            case CertificateResourceType.IntermediateServerCertificateNoKey:
                return(intermediateServerCertNoKeyData);

            case CertificateResourceType.TrustedIntermediateCA:
                return(trustedIMCAData);

            case CertificateResourceType.ServerFromTrustedIntermediataCA:
                return(serverCertTrustedIMData);

            case CertificateResourceType.ServerFromTrustedIntermediateCABare:
                return(serverCertTrustedIMBareData);

            default:
                throw new InvalidOperationException();
            }
        }
示例#4
0
        public void Run(TestContext ctx, [CertificateType] CertificateResourceType type)
        {
            var data = ResourceManager.GetCertificateData(type);
            var info = ResourceManager.GetCertificateInfo(type);
            var cert = new X509Certificate2(data);

            CertificateInfoTestRunner.TestManagedCertificate(ctx, cert, info);
        }
 public void AddExpectedChainEntry(CertificateResourceType type)
 {
     if (expectedChain == null)
     {
         expectedChain = new List <CertificateResourceType> ();
     }
     expectedChain.Add(type);
 }
 public void AddExpectedExtraStore(CertificateResourceType type)
 {
     if (expectedExtraStore == null)
     {
         expectedExtraStore = new List <CertificateResourceType> ();
     }
     expectedExtraStore.Add(type);
 }
示例#7
0
        public static X509Certificate GetCertificateWithKey(CertificateResourceType type)
        {
            switch (type)
            {
            case CertificateResourceType.ServerCertificateFromLocalCA:
                return(serverCert);

            case CertificateResourceType.SelfSignedServerCertificate:
                return(selfServerCert);

            default:
                throw new InvalidOperationException();
            }
        }
示例#8
0
        public static string GetCertificateHash(CertificateResourceType type)
        {
            switch (type)
            {
            case CertificateResourceType.HamillerTubeCA:
                return(caCertHash);

            case CertificateResourceType.ServerCertificateFromLocalCA:
                return(serverCertHash);

            case CertificateResourceType.SelfSignedServerCertificate:
                return(serverSelfHash);

            default:
                throw new InvalidOperationException();
            }
        }
示例#9
0
        public static bool TryLookupByHash(string hash, out CertificateResourceType type)
        {
            switch (hash.ToUpperInvariant())
            {
            case caCertHash:
                type = CertificateResourceType.HamillerTubeCA;
                return(true);

            case serverCertHash:
                type = CertificateResourceType.ServerCertificateFromLocalCA;
                return(true);

            case serverSelfHash:
                type = CertificateResourceType.SelfSignedServerCertificate;
                return(true);

            default:
                type = CertificateResourceType.Invalid;
                return(false);
            }
        }
示例#10
0
 public void AddTrustedRoot(CertificateResourceType type)
 {
     trustedRoots.Add(type);
 }
示例#11
0
        public static X509Certificate GetCertificate(CertificateResourceType type)
        {
            switch (type)
            {
            case CertificateResourceType.HamillerTubeCA:
                return(cacert);

            case CertificateResourceType.HamillerTubeIM:
                return(hamillerTubeIM);

            case CertificateResourceType.ServerCertificateFromLocalCA:
                return(serverCertNoKey);

            case CertificateResourceType.SelfSignedServerCertificate:
                return(selfServerCertNoKey);

            case CertificateResourceType.TlsTestXamDevExpired:
                return(tlsTestXamDevExpired);

            case CertificateResourceType.TlsTestXamDevExpired2:
                return(tlsTestXamDevExpired2);

            case CertificateResourceType.TlsTestXamDevNew:
                return(tlsTestXamDevNew);

            case CertificateResourceType.TlsTestXamDevOldCA:
                return(tlsTestXamDevOldCA);

            case CertificateResourceType.TlsTestXamDevNewCA:
                return(tlsTestXamDevNewCA);

            case CertificateResourceType.IntermediateCA:
                return(intermediateCA);

            case CertificateResourceType.IntermediateServer:
                return(intermediateServer);

            case CertificateResourceType.ServerCertificateWithCA:
                return(serverCertWithCA);

            case CertificateResourceType.IntermediateServerCertificate:
                return(intermediateServerCert);

            case CertificateResourceType.IntermediateServerCertificateBare:
                return(intermediateServerCertBare);

            case CertificateResourceType.IntermediateServerCertificateFull:
                return(intermediateServerCertFull);

            case CertificateResourceType.IntermediateServerCertificateNoKey:
                return(intermediateServerCertNoKey);

            case CertificateResourceType.TrustedIntermediateCA:
                return(trustedIMCA);

            case CertificateResourceType.ServerFromTrustedIntermediataCA:
                return(serverCertTrustedIM);

            case CertificateResourceType.ServerFromTrustedIntermediateCABare:
                return(serverCertTrustedIMBare);

            default:
                throw new InternalErrorException();
            }
        }
示例#12
0
        public static bool ExpectCertificate(TestContext ctx, X509Certificate actual, CertificateResourceType expected, string message)
        {
            var provider     = DependencyInjector.Get <ICertificateProvider> ();
            var expectedCert = ResourceManager.GetCertificate(expected);

            return(ctx.Expect(actual, provider.GetEqualConstraint(expectedCert), message));
        }
示例#13
0
 public void Add(CertificateResourceType type)
 {
     types.Add(type);
 }
 public AppleCertificateHostAttribute(CertificateResourceType type)
     : base(typeof(AppleCertificateHostAttribute))
 {
     Identifier = "AppleCertificateHost";
     Type       = type;
 }
示例#15
0
 public AppleCertificateHost(CertificateResourceType type)
 {
     CertificateAndKey = ResourceManager.GetCertificateWithKey(type);
     provider          = DependencyInjector.Get <IAppleCertificateProvider> ();
     AppleCertificate  = provider.GetAppleCertificate(CertificateAndKey);
 }
 public CertificateResourceTypeAttribute(CertificateResourceType type)
 {
     this.type       = type;
     this.identifier = Type.Name;
 }
示例#17
0
 protected CertificateInfo(CertificateResourceType type, byte[] rawData)
 {
     this.type    = type;
     this.rawData = rawData;
 }
示例#18
0
 public HttpsTestParameters(ConnectionTestCategory category, ConnectionTestType type, string identifier, CertificateResourceType certificate)
     : base(category, identifier, null)
 {
     Type            = type;
     CertificateType = certificate;
 }
 public BoringX509HostAttribute(CertificateResourceType type, BtlsX509Format format)
     : base(typeof(BoringX509HostAttribute))
 {
     ResourceType = type;
     Format       = format;
 }