FAQ, Support, Help
 HomeCenter  > FAQFull Site
  1. Steps of setup and usage
  2. Tutorial for usage, developing, designing of HomeCenter server
  3. My password is right , but can't connect
  4. Are the account and password stored in the HomeCenter.MOBI?
  5. What is relay or relay server
  6. What is certification, How do I use it
  7. Cant start server, no splash screen display
  8. Can I use my owner encryptor to improve the security?
  9. I set the color level to 5, but it show poor
  10. I set the remote scree refresh MS to 1000, It should refresh each one second, but three seconds
  11. Can I use Java PolicyFile?
  12. Mobile display black while Windows XP is in login screen
  13. My mobile is Windows CE/Mobile, What should I do?
  14. Are the download server zip and auto upgraded jars verified?

Steps of setup and usage

  • HC_Server.zip MD5 : ee86752aab8545e0b886a0cb86f91884
  • Source Code :
    • https://github.com/javalovercn/homecenter.git
    • Server_Src.zip MD5 : 159c588866a76203ad648259d22a69b3   last update date:2017-07-19(YYYY-mm-dd)

Steps of starting PC Server and register:
  1. install JRE 7 (Java Runtime Environment) or newer
    JRE download:https://www.java.com/
    support following OS:
    • Windows (x86/x64)
    • Mac OS X
    • Linux/Unix (x86/x64)
    • Solaris Unix(x86/x64/SPARC)
  2. unzip HC_Server.zip
  3. start HomeCenter server
    note : why starting by a batch or script, not executable binary file?
    1. script file is more open than executable binary file, and there is an advance to customize the script to start a personalized starting (such as security policy) in script file.
    2. the batch file will execute signed Java library, and download the newest signed application library.
    • for Window : enter Window directory, double click "HomeCenter.bat"
    • for Mac OS X :
      • normal user : enter MacOSX directory, unzip"MacOSX.zip", double click "HomeCenter"
      • advanced user : enter Linux directory, NOT MacOSX, double click "HomeCenter.command"
    • for Linux : enter Linux directory, double click "HomeCenter.sh"
  4. input new password, click "OK", HomeCenter server will be ready for mobile connecting

more tutorial for usage, developing, click tutorial

If some older OS is under the screen saver or lock screen, mobile will display black when accessing desktop. Please stop screen saver or disable locking screen.

Tutorial for usage, developing, designing of HomeCenter server

more tutorial, click tutorial

My password is right , but can't connect

  1. the server generated the new certification, and disable transport to client. If your client's certification is old, then cant connect.
  2. If some one try connect use wrong passwod more than ten times, the account will be locked, you may cant connect.

Are the account and password stored in the HomeCenter.MOBI?

  • No account or password stored in HomeCenter.MOBI
  • Password will NOT be transported in the internet

What is relay or relay server

  • Some Application(Server Side) runs behind advanced firewall or router, it is difficult to connect between PC and mobile.
  • In this case, all data are delivered to the third PC, the third receptes and retransmits for the poor server
  • Your server side application may be a relay server for other users, which depends on the global internet status.
  • If your service works depend on relaying , the color level and refresh frequency are limited
  • We try our best to connect your mobile direct to PC, if fail then try find relay server, if not relay server or relay server works for the MAX clients, then connect fail. Retrying after a few minutes or hours is a good choice.

What is certification, How do I use it

  • Certification is serial random string, to encrypt and decrypt the data transported between server and client
  • certification is stored both server and client
  • the data transported between server and client are encrypted by password, certification and user encryptor program(if config the item "encryptClass=hc.core.util.DefaultUserEncrypter" in "hc_config.properties")
  • after first install Applicaton and Java MIDP, the certificaton is same with each other

How to use certification
  1. right click icon on the tray
  2. click the "Create Certification" menu item
  3. It will display message if success
  4. ensure the status of "Trans Certification" is "Enable", it show icon (). If your mobile certification is old or outdate, then server will transport the new certification to mobile when the mobile login.
  5. If the the status of "Trans Certification" is "Disable", it show icon (). If the mobile store old certification, it will NOT get the new certification

Cant start server, no splash screen display

Too many programs are running.
  • Shutdown some programs
  • If memory of machine is small, change the parameter of HomeCenter.
    1. shutdown the server
    2. In Windows, edit file "HomeCenter.bat"
      In Linux / Unix, edit file "HomeCenter.sh"
    3. add "-Xmx100m" to command line
    4. save file
    5. restart HomeCenter Server

Can I use my owner encryptor to improve the security?

Yes.
  • Normal user DONT need user defined encryptor even if the net is sniffed.
  • Certification and data are encrypted by high performance encryption algorithm when no user defined encrypter.
  • If you want to improve security, see below (it is for J2ME mobile phone)

  1. shutdown the server
  2. edit file "hc_config.properties"
  3. add or change item "encryptClass=my.abc.MyEncrypter". if encryptClass is developed by you, DONT put it in hc.jar. Because file hc.jar may be replaced and upgraded by System.
  4. if "encryptClass=my.abc.MyEncrypter", create directory my\abc, and copy MyEncrypter.class file in the path C:\Program Files\HomeCenter\my\abc\, directory C:\Program Files\HomeCenter\ is your install directory. MyEncrypter.class MUST be compiled under 1.4, because it is also used in J2ME mobile
  5. add or change item "encryptData=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890". my.abc.MyEncrypter class file works depend on this item.
  6. NOTE hc_config.properties must store as charset ISO-8859-1. See http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Properties.html
  7. save file, restart server
  8. open log file, you will see a line 2012-01-30 15:30:53.703 Enable user Encrypter [my.abc.MyEncrypter]
  9. open J2ME MIDP file "hcME.jar"
  10. copy MyEncrypter.class into path my/abc in file "hcME.jar"
  11. edit file "hc/hc_config.properties"
  12. add item encryptClass=my.abc.MyEncrypter
  13. add item encryptData=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
  14. NOTE hc/hc_config.properties must store as charset ISO-8859-1. In HomeCenter software, all resources(exception properties) and classes are UTF-8
  15. install file hcME.jar to mobile. NOTE : Don't upgrade it online.

IDE : https://blogs.oracle.com/javamesdk/entry/how_to_integrate_java_me
hcME.jar developed in CLDC 1.0 and MIDP 2.0
my.abc.MyEncrypter.java
public class MyEncrypter implements hc.core.util.IEncrypter {
	final String encryptData = (String)IConstant.getInstance().getObject("encryptData");
	final byte[] encryptBS = toByteArr(encryptData);
	final int encryptLen = encryptBS.length;
	
	private static byte[] toByteArr(String encryptData){
		try {
			if(encryptData != null){
				return encryptData.getBytes("UTF-8");
			}
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890zyxwvutsrqponmlkjihgfedcba".getBytes();
	}
	public void decryptCertKey(byte[] data, int offset, int len) {
		int modeK = 0;
		final int endIdx = offset + len;
		for (int i = offset; i < endIdx; i++) {
			data[i] = (byte)(data[i] ^ encryptBS[modeK++]);
			if(modeK == encryptLen){
				modeK = 0;
			}
		}
	}

	public void decryptData(byte[] data, int offset, int len) {
		int modeK = 0;
		final int endIdx = offset + len;
		for (int i = offset; i < endIdx; i++) {
			data[i] = (byte)(data[i] ^ encryptBS[modeK++]);
			if(modeK == encryptLen){
				modeK = 0;
			}
			i += 3;
		}
	}

	public void encryptCertKey(byte[] data, int offset, int len) {
		int modeK = 0;
		final int endIdx = offset + len;
		for (int i = offset; i < endIdx; i++) {
			data[i] = (byte)(data[i] ^ encryptBS[modeK++]);
			if(modeK == encryptLen){
				modeK = 0;
			}
		}
	}

	public void encryptData(byte[] data, int offset, int len) {
		int modeK = 0;
		final int endIdx = offset + len;
		for (int i = offset; i < endIdx; i++) {
			data[i] = (byte)(data[i] ^ encryptBS[modeK++]);
			if(modeK == encryptLen){
				modeK = 0;
			}
			i += 3;
		}
	}

	public void initEncrypter(boolean isMobileSide) {
		System.out.println("Call initEncrypter method");
	}

	public void setPassword(byte[] password) {
		System.out.println("Call setPassword method");
		int modeK = 0;
		for (int i = 0; i < encryptBS.length; i++) {
			encryptBS[i] = (byte)(encryptBS[i] ^ password[modeK++]);
			if(modeK == password.length){
				modeK = 0;
			}
		}
	}

	public void setUUID(byte[] uuid) {
		System.out.println("Call setUUID method");
		int modeK = 0;
		for (int i = 0; i < encryptBS.length; i++) {
			encryptBS[i] = (byte)(encryptBS[i] ^ uuid[modeK++]);
			if(modeK == uuid.length){
				modeK = 0;
			}
		}
	}

	public void notifyExit(boolean isMobileSide) {
		System.out.println("When mobile or PC exit, It will be called.");
	}
}
JVM init my.abc.MyEncrypter.java, list below:
Call setUUID method
Call setPassword method
Call initEncrypter method

I set the color level to 5, but it show poor

  1. If mobile can't direct connect to the server,
  2. and your server works depends on the relay server,
  3. to help more peoples to use relay server, we limit the color level and refresh frequency

I set the remote scree refresh MS to 1000, It should refresh each one second, but three seconds

See above item

Can I use Java PolicyFile?

Yes

Runing Java Application in customize policy file is good method to protect your system.

Please do as following:
  1. shutdown the server
  2. In Windows, edit file "HomeCenter.bat"
    In Linux / Unix, edit file "HomeCenter.sh"
  3. create policy file, add "-Djava.security.policy=XXpolicy" to command line.
    For more
Note : Please grant directory C:\Program Files\HomeCenter\ all permissions. It is your install directory and will create new files when is auto upgraded.

Mobile display black while Windows XP is in login screen

Mobile displays black when JRE captures Windows XP login screen. If Your PC need auto startup, please turn ON automatic logon.
  • create a guest account, such as "RemoteMobile". NOT administrator account.
  • turn ON automatic logon for account "RemoteMobile". How to automatic login in Windows, click here
  • Add HomeCenter Server to startup item to auto start server
  • It is more safer than controling from mobile by administrator account directly.

My mobile is Windows CE/Mobile, What should I do?

Sun (now Oracle) phoneME for Windows CE/Mobile
http://davy.preuveneers.be/phoneme/?q=node/1

Are the download server zip and auto upgraded jars verified?

Since ver 5.6.93, there is a hc.pem, which is X509, all jars (include auto upgraded) are verified by it.
If hc.pem is changed or the jars are faked, HomeCenter App Server will report the exception and stop running.
Following is content:
-----BEGIN CERTIFICATE-----
MIIEpjCCAw6gAwIBAgIEURMYujANBgkqhkiG9w0BAQQFADCBkzELMAkGA1UEBhMCQ04xDjAMBgNV
BAgTBUh1bmFuMREwDwYDVQQHEwhTaGFvWWFuZzEfMB0GA1UEChMWdmVyaWZ5LkhvbWVDZW50ZXIu
TU9CSTEfMB0GA1UECxMWdmVyaWZ5LkhvbWVDZW50ZXIuTU9CSTEfMB0GA1UEAxMWdmVyaWZ5Lkhv
bWVDZW50ZXIuTU9CSTAgFw0xMzAyMDcwMzAwMTBaGA8yMTExMDkwMjAzMDAxMFowgZMxCzAJBgNV
BAYTAkNOMQ4wDAYDVQQIEwVIdW5hbjERMA8GA1UEBxMIU2hhb1lhbmcxHzAdBgNVBAoTFnZlcmlm
eS5Ib21lQ2VudGVyLk1PQkkxHzAdBgNVBAsTFnZlcmlmeS5Ib21lQ2VudGVyLk1PQkkxHzAdBgNV
BAMTFnZlcmlmeS5Ib21lQ2VudGVyLk1PQkkwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIB
gQCp6Q3eD6uTncaCntXoPsRIFWh6rsWd8DaDPxxz/+OG3g7xcaGEnBlYesJHaS3H3R+yHhxRrKK7
qAHXqaLZrJdRdlXftZdsoNxmQWyo7lIJV6Gm/1zk5bYzxAbq/nbZzOse5yR6AVDUHvt7ndBYrRWU
mx4pXHyHNmmoXDxjH+KqCB3PziRy5XEgDGeoTzBsc7e0yy+EluacQiosi/NclXRqWkuPAj1FWcay
znoTlgJR7sAdTFeKVcdvlgOoHU2COZrvrPKmKlNX35HTHph9ovtfwfKNTqomlcQKQr4EJbQwCU7D
3JwU1stLSeV7yd4nNRyLHvbMyuDRVnh3YMQPcc8jKJ6Fk5vgc6rDtA4V4pdGVgC8gznIyjJqvud+
51r6mnKLAJZP+bkCTWvGqCyQEGeGwnADE+7pGBf2G7oZNaB0aGeGhJwTgbo1Z1VJU9ynrUALJFj+
6PEgLVBUJhqU6sVny9IBkBlV8KZ5tYymHfqwLugvivfN3FSpJPnNupU2TRUCAwEAATANBgkqhkiG
9w0BAQQFAAOCAYEAlKemxDPZ8ojk03RPtkJxnz6WDeQEn9xfwm/ON07edsC5ZIf19uBoQI4iG8B3
LOghA62ohmLKbx8nTAIrCUGltN0On9ZZ7GuvmtiN0W3XHDR2L59pQaY2fS1/3u+IbmqCYP4CGMi6
YDm96T5mQ9W8pJ6tcs0/MyLG5RkcFjhVEe7XMKx6Yi+kehY8+vtDwr36ENL7mZ5EmSXMHR4vy6AK
xbO9u/Nzpbe5c0EUFtph8TiC2c/aclxLHlWT/ykkRMFVYz5nhV6skbk1QJgR9L13Ou0lDmCatBgb
lpCjHEP5b8txEf+gQuvmrTWZYMWPwdlcBFFagPWRDy+wVO8rQDGqezOplKbf0wPNRVKNKodBZZP2
d08C9wK5O1fVa+bPmlQ0Z/r5usgCUeRyIBOLYpHvgjKE5EHef9qVrHrkMKaX+8pI3UvbESpljLpJ
pq3Si8+5g+SeJLQdd62kaHPbNwExro8RMO7H9gLzW3bDYcW4kj50UV1xn570urB1Dd7ZgWKt
-----END CERTIFICATE-----
© 2011-2014, HomeCenter.MOBI All Rights Reserved