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

            PinKeyX_service_authlistener serviceAuthlistener = new PinKeyX_service_authlistener(this);

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

            serviceBus.ClearKeyStore();

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

            PinKeyX_client_authlistener clientAuthlistener = new PinKeyX_client_authlistener(this);

            Assert.Equal(AllJoyn.QStatus.OK, clientBus.EnablePeerSecurity("ALLJOYN_PIN_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 rsa_keyx()
		{
			ResetAuthFlags();
			clientBus.ClearKeyStore();

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

			serviceBus.ClearKeyStore();

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

			PinKeyX_client_authlistener clientAuthlistener = new PinKeyX_client_authlistener(this);
			Assert.Equal(AllJoyn.QStatus.OK, clientBus.EnablePeerSecurity("ALLJOYN_RSA_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.verifyCreds_service);

			Assert.True(authflags.requestCreds_client);
			Assert.True(authflags.authComplete_client);
			Assert.True(authflags.verifyCreds_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();
		}