示例#1
0
        SSLContext setupSSL()
        {
            // Setup the SSL Context using the JKS file created via gen_test_cert in the java/cert directory
            MQConnection con = connectToServer(address, "", "");

            ErrorCode ec = con.DeleteUser(user);

            Assert.IsTrue(ec == ErrorCode.EC_NOERROR || ec == ErrorCode.EC_DOESNOTEXIST, "Delete User");
            ec = con.CreateUser(user, password, description);
            Assert.IsTrue(ec == ErrorCode.EC_NOERROR, "Create User");
            Console.WriteLine("Adding Identity, user: "******" subject: " + subject);
            ec = con.AddUserIdentity(subject, issuer, user);
            Assert.IsTrue(ec == ErrorCode.EC_NOERROR, "AddUserIdentity");

            con.Close();

            SSLContext ctx = new SSLContext();

            ctx.ServerValidator     = new RemoteCertificateValidationCallback(SafmqSSLTest.ServerValidator);
            ctx.CertificateProvider = new LocalCertificateSelectionCallback(SafmqSSLTest.CertificateProvider);

            X509Certificate c = new X509Certificate(@"e:\blacksheep\safmq.trunk\safmq.net\safmq.net.test\sample.p12", "test");

            ctx.ClientCertificateList = new X509CertificateCollection();
            ctx.ClientCertificateList.Add(c);

            X509Certificate2 c2    = new X509Certificate2(@"e:\blacksheep\safmq.trunk\safmq.net\safmq.net.test\sample.p12", "test");
            X509Store        store = new X509Store(StoreName.My);

            store.Open(OpenFlags.ReadWrite);
            store.Add(c2);
            store.Close();

            return(ctx);
        }
示例#2
0
        public void test_PasswordlessSignon()
        {
            ErrorCode ec;

            MQConnection con = connectToServer(address, "", "");

            ec = con.DeleteUser(user);
            Assert.IsTrue(ec == ErrorCode.EC_NOERROR || ec == ErrorCode.EC_DOESNOTEXIST, "Delete User");

            ec = con.CreateUser(user, password, description);
            Assert.IsTrue(ec == ErrorCode.EC_NOERROR, "Create User");

            ec = con.AddUserIdentity(subject, issuer, user);
            Assert.IsTrue(ec == ErrorCode.EC_NOERROR, "AddUserIdentity");

            List <X509Identity> ids = new List <X509Identity>();

            ec = con.EnumerateUserIdentities(user, ids);
            Assert.IsTrue(ec == ErrorCode.EC_NOERROR, "EnumerateUserIdentities");
            Assert.IsTrue(ids.Count > 0, "X.509 ID Count");
            // TODO: Check the results in the ids
            bool idFound = false;

            for (int x = 0; x < ids.Count; x++)
            {
                X509Identity id = ids[0];
                if (id.IssuerDN.Equals(issuer) && id.SubjectDN.Equals(subject))
                {
                    idFound = true;
                }
            }
            Assert.IsTrue(idFound, "Identity found in returned X.509 identities");
            con.Close();
        }