Example #1
0
        public void srp_keyx()
        {
            ResetAuthFlags();
            clientBus.ClearKeyStore();

            SrpKeyx_service_authlistener serviceAuthlistener = new SrpKeyx_service_authlistener(this);

            Assert.Equal(AllJoyn.QStatus.OK, serviceBus.EnablePeerSecurity("ALLJOYN_SRP_KEYX", serviceAuthlistener, null, false));

            serviceBus.ClearKeyStore();

            Assert.Equal(AllJoyn.QStatus.OK, SetUpAuthService());

            SrpKeyx_client_authlistener clientAuthlistener = new SrpKeyx_client_authlistener(this);

            Assert.Equal(AllJoyn.QStatus.OK, clientBus.EnablePeerSecurity("ALLJOYN_SRP_KEYX", clientAuthlistener, null, false));
            clientBus.ClearKeyStore();

            // create+activate the interface
            AllJoyn.QStatus status;
            AllJoyn.InterfaceDescription iFace = null;
            Assert.Equal(AllJoyn.QStatus.OK, clientBus.CreateInterface(INTERFACE_NAME, AllJoyn.InterfaceDescription.SecurityPolicy.Required, out iFace));
            Assert.NotNull(iFace);

            Assert.Equal(AllJoyn.QStatus.OK, iFace.AddMethod("ping", "s", "s", "in,out"));
            iFace.Activate();

            AllJoyn.ProxyBusObject proxyBusObject = new AllJoyn.ProxyBusObject(clientBus, WELLKNOWN_NAME, OBJECT_PATH, 0);
            Assert.NotNull(proxyBusObject);
            Assert.Equal(AllJoyn.QStatus.OK, proxyBusObject.AddInterface(iFace));

            AllJoyn.MsgArg  input    = new AllJoyn.MsgArg("s", "AllJoyn");
            AllJoyn.Message replyMsg = new AllJoyn.Message(clientBus);
            status = proxyBusObject.MethodCall(INTERFACE_NAME, "ping", input, replyMsg, 5000, 0);
            Assert.Equal(AllJoyn.QStatus.OK, status);
            Assert.Equal("AllJoyn", (string)replyMsg[0]);

            Assert.True(authflags.requestCreds_service);
            Assert.True(authflags.authComplete_serivce);

            Assert.True(authflags.requestCreds_client);
            Assert.True(authflags.authComplete_client);

            clientAuthlistener.Dispose();
            serviceAuthlistener.Dispose();

            busObject.Dispose();

            proxyBusObject.Dispose();


            Assert.Equal(AllJoyn.QStatus.OK, serviceBus.Stop());
            Assert.Equal(AllJoyn.QStatus.OK, serviceBus.Join());

            Assert.Equal(AllJoyn.QStatus.OK, clientBus.Stop());
            Assert.Equal(AllJoyn.QStatus.OK, clientBus.Join());

            serviceBus.Dispose();
            clientBus.Dispose();
        }
		public void srp_keyx()
		{
			ResetAuthFlags();
			clientBus.ClearKeyStore();

			SrpKeyx_service_authlistener serviceAuthlistener = new SrpKeyx_service_authlistener(this);
			Assert.Equal(AllJoyn.QStatus.OK, serviceBus.EnablePeerSecurity("ALLJOYN_SRP_KEYX", serviceAuthlistener, null, false));

			serviceBus.ClearKeyStore();

			Assert.Equal(AllJoyn.QStatus.OK, SetUpAuthService());

			SrpKeyx_client_authlistener clientAuthlistener = new SrpKeyx_client_authlistener(this);
			Assert.Equal(AllJoyn.QStatus.OK, clientBus.EnablePeerSecurity("ALLJOYN_SRP_KEYX", clientAuthlistener, null, false));
			clientBus.ClearKeyStore();

			// create+activate the interface
			AllJoyn.QStatus status;
			AllJoyn.InterfaceDescription iFace = null;
			Assert.Equal(AllJoyn.QStatus.OK, clientBus.CreateInterface(INTERFACE_NAME, AllJoyn.InterfaceDescription.SecurityPolicy.Required, out iFace));
			Assert.NotNull(iFace);

			Assert.Equal(AllJoyn.QStatus.OK, iFace.AddMethod("ping", "s", "s", "in,out"));
			iFace.Activate();

			AllJoyn.ProxyBusObject proxyBusObject = new AllJoyn.ProxyBusObject(clientBus, WELLKNOWN_NAME, OBJECT_PATH, 0);
			Assert.NotNull(proxyBusObject);
			Assert.Equal(AllJoyn.QStatus.OK, proxyBusObject.AddInterface(iFace));

			AllJoyn.MsgArg input = new AllJoyn.MsgArg("s", "AllJoyn");
			AllJoyn.Message replyMsg = new AllJoyn.Message(clientBus);
			status = proxyBusObject.MethodCall(INTERFACE_NAME, "ping", input, replyMsg, 5000, 0);
			Assert.Equal(AllJoyn.QStatus.OK, status);
			Assert.Equal("AllJoyn", (string)replyMsg[0]);

			Assert.True(authflags.requestCreds_service);
			Assert.True(authflags.authComplete_serivce);

			Assert.True(authflags.requestCreds_client);
			Assert.True(authflags.authComplete_client);

			clientAuthlistener.Dispose();
			serviceAuthlistener.Dispose();

			busObject.Dispose();

			proxyBusObject.Dispose();


			Assert.Equal(AllJoyn.QStatus.OK, serviceBus.Stop());
			Assert.Equal(AllJoyn.QStatus.OK, serviceBus.Join());

			Assert.Equal(AllJoyn.QStatus.OK, clientBus.Stop());
			Assert.Equal(AllJoyn.QStatus.OK, clientBus.Join());

			serviceBus.Dispose();
			clientBus.Dispose();
		}
		public void secureconnection()
		{
			ResetAuthFlags();
			clientBus.ClearKeyStore();

			SrpKeyx_service_authlistener serviceAuthlistener = new SrpKeyx_service_authlistener(this);
			Assert.Equal(AllJoyn.QStatus.OK, serviceBus.EnablePeerSecurity("ALLJOYN_SRP_KEYX", serviceAuthlistener, null, false));

			serviceBus.ClearKeyStore();

			Assert.Equal(AllJoyn.QStatus.OK, SetUpAuthService());

			SrpKeyx_client_authlistener clientAuthlistener = new SrpKeyx_client_authlistener(this);
			Assert.Equal(AllJoyn.QStatus.OK, clientBus.EnablePeerSecurity("ALLJOYN_SRP_KEYX", clientAuthlistener, null, false));
			clientBus.ClearKeyStore();

			AllJoyn.ProxyBusObject proxyBusObject = new AllJoyn.ProxyBusObject(clientBus, WELLKNOWN_NAME, OBJECT_PATH, 0);
			Assert.NotNull(proxyBusObject);

			proxyBusObject.SecureConnection();

			Assert.True(authflags.requestCreds_service);
			Assert.True(authflags.authComplete_serivce);

			Assert.True(authflags.requestCreds_client);
			Assert.True(authflags.authComplete_client);


			ResetAuthFlags();

			/*
			 * the peer-to-peer connection should have been authenticated with the last
			 * call to alljoyn_proxybusobject_secureconnection this call should return
			 * ER_OK with out calling any of the authlistener functions.
			 */
			proxyBusObject.SecureConnection();
			Assert.False(authflags.requestCreds_service);
			Assert.False(authflags.authComplete_serivce);

			Assert.False(authflags.requestCreds_client);
			Assert.False(authflags.authComplete_client);

			ResetAuthFlags();

			/*
			 * Although the peer-to-peer connection has already been authenticated we
			 * are forcing re-authentication so we expect the authlistener functions to
			 * be called again.
			 */
			proxyBusObject.SecureConnection(true);

			Assert.True(authflags.requestCreds_service);
			Assert.True(authflags.authComplete_serivce);

			Assert.True(authflags.requestCreds_client);
			Assert.True(authflags.authComplete_client);

			clientAuthlistener.Dispose();
			serviceAuthlistener.Dispose();

			busObject.Dispose();

			proxyBusObject.Dispose();


			Assert.Equal(AllJoyn.QStatus.OK, serviceBus.Stop());
			Assert.Equal(AllJoyn.QStatus.OK, serviceBus.Join());

			Assert.Equal(AllJoyn.QStatus.OK, clientBus.Stop());
			Assert.Equal(AllJoyn.QStatus.OK, clientBus.Join());

			serviceBus.Dispose();
			clientBus.Dispose();
		}
Example #4
0
        public void secureconnection()
        {
            ResetAuthFlags();
            clientBus.ClearKeyStore();

            SrpKeyx_service_authlistener serviceAuthlistener = new SrpKeyx_service_authlistener(this);

            Assert.Equal(AllJoyn.QStatus.OK, serviceBus.EnablePeerSecurity("ALLJOYN_SRP_KEYX", serviceAuthlistener, null, false));

            serviceBus.ClearKeyStore();

            Assert.Equal(AllJoyn.QStatus.OK, SetUpAuthService());

            SrpKeyx_client_authlistener clientAuthlistener = new SrpKeyx_client_authlistener(this);

            Assert.Equal(AllJoyn.QStatus.OK, clientBus.EnablePeerSecurity("ALLJOYN_SRP_KEYX", clientAuthlistener, null, false));
            clientBus.ClearKeyStore();

            AllJoyn.ProxyBusObject proxyBusObject = new AllJoyn.ProxyBusObject(clientBus, WELLKNOWN_NAME, OBJECT_PATH, 0);
            Assert.NotNull(proxyBusObject);

            proxyBusObject.SecureConnection();

            Assert.True(authflags.requestCreds_service);
            Assert.True(authflags.authComplete_serivce);

            Assert.True(authflags.requestCreds_client);
            Assert.True(authflags.authComplete_client);


            ResetAuthFlags();

            /*
             * the peer-to-peer connection should have been authenticated with the last
             * call to alljoyn_proxybusobject_secureconnection this call should return
             * ER_OK with out calling any of the authlistener functions.
             */
            proxyBusObject.SecureConnection();
            Assert.False(authflags.requestCreds_service);
            Assert.False(authflags.authComplete_serivce);

            Assert.False(authflags.requestCreds_client);
            Assert.False(authflags.authComplete_client);

            ResetAuthFlags();

            /*
             * Although the peer-to-peer connection has already been authenticated we
             * are forcing re-authentication so we expect the authlistener functions to
             * be called again.
             */
            proxyBusObject.SecureConnection(true);

            Assert.True(authflags.requestCreds_service);
            Assert.True(authflags.authComplete_serivce);

            Assert.True(authflags.requestCreds_client);
            Assert.True(authflags.authComplete_client);

            clientAuthlistener.Dispose();
            serviceAuthlistener.Dispose();

            busObject.Dispose();

            proxyBusObject.Dispose();
        }