Welcome to the Official BlackBerry Support Community Forums. This is your resource to discuss support topics with your peers, and learn from each other. New to the forum? Please visit the ‘Getting Started’ link below.
Reply
Developer
nmaddix
Posts: 111
Registered: 12-16-2008

How to link an app to a BES instance to prevent distribution outside a company?

This might be better suited to the Java forum but thought I'd try here first. My company has a great app for BlackBerry that has attracted enterprise customers. They want to push the app out to all their BlackBerry users. Normally the app needs an activation code to prevent it from being pirated but for this scenario we need to provide a full-featured, no-activation build so the hundreds of users at the company don't each need to bother with activating.

 

However this opens the door to the BES administrator leaking the cod and alx files for the full-featured app to people outside the organization, or the general public. Not a huge concern with legitimate businesses, but one I'd like to address if possible.

 

So Is there a way to somehow create a special build of the app that only works on a particular BES instance, or for a particular organization?

 

My only idea, which seems like a big hack, is the write code inside the app to get the primary outgoing email address and make sure the domain name is xyzcompany.com.

 

I'm thinking there must be a standardized way to do this....

 

Thanks!

 

Please use plain text.
Administrator
MSohm
Posts: 10,873
Registered: 07-09-2008
My Carrier: Bell

Re: How to link an app to a BES instance to prevent distribution outside a company?

There is no API to tie an application directly to a BlackBerry Enterprise Server.

 

My recommendation was going to be to check for their corporate domain in their email address, but you've already thought of that one.  :smileyhappy:

Mark Sohm
BlackBerry Development Advisor

Please refrain from posting new questions in solved threads.
Found a bug? Report it using the Issue Tracker
Please use plain text.
Developer
nmaddix
Posts: 111
Registered: 12-16-2008

Re: How to link an app to a BES instance to prevent distribution outside a company?

[ Edited ]

Thanks Mark-

Good to know that's not as much of a hack as I thought. :smileyhappy:

 

Thinking of actually using the UID of the IPPP service book record instead of the email domain. I'd generate a license key hash based on that value and push it out as a custom string in the IT Policy, which can be read by my application.

 

On my test server the IPPP UID looks like the SRP of the server instance.... seems like it could be a way to go. Any pitfalls here? Does this value change often (requiring a new license key)? Is it unique?

 

I have literally NO BES admin experience so I wonder if I'm missing something here...

 

Thanks!

Nicholas

Please use plain text.
Administrator
MSohm
Posts: 10,873
Registered: 07-09-2008
My Carrier: Bell

Re: How to link an app to a BES instance to prevent distribution outside a company?

That ID is the SRP ID of the BlackBerry Enterprise Server.  I recommend using the domain of their email address over this value as large corporations can have multiple BlackBerry Enterprise Servers, each with their own ID.  They could also add new servers, which means new IDs your application would need to check for.

Mark Sohm
BlackBerry Development Advisor

Please refrain from posting new questions in solved threads.
Found a bug? Report it using the Issue Tracker
Please use plain text.
Developer
nmaddix
Posts: 111
Registered: 12-16-2008

Re: How to link an app to a BES instance to prevent distribution outside a company?

[ Edited ]

Ok thanks Mark.... Sounds like I may need a flexible solution.... one that works with email domains AND SRP IDs, then we can choose given the situation. Even mutiple license keys in the IT Policy. I'll work that out, but I think this is solved!

 

BTW for anyone who sees this post, I got some technical help on the Java forum:

http://supportforums.blackberry.com/t5/Java-Development/How-to-link-an-app-to-a-BES-instance-to-prev...

Please use plain text.