<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>BlackBerry Developer Blog &#187; debug tokens</title>
	<atom:link href="http://devblog.blackberry.com/tag/debug-tokens/feed/" rel="self" type="application/rss+xml" />
	<link>http://devblog.blackberry.com</link>
	<description></description>
	<lastBuildDate>Wed, 19 Jun 2013 18:00:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='devblog.blackberry.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/9ef0a66c09615fa946c4179662398878?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>BlackBerry Developer Blog &#187; debug tokens</title>
		<link>http://devblog.blackberry.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://devblog.blackberry.com/osd.xml" title="BlackBerry Developer Blog" />
	<atom:link rel='hub' href='http://devblog.blackberry.com/?pushpress=hub'/>
		<item>
		<title>Unleash the Power of Your Debug Token!</title>
		<link>http://devblog.blackberry.com/2012/04/debug-token/</link>
		<comments>http://devblog.blackberry.com/2012/04/debug-token/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 14:29:59 +0000</pubDate>
		<dc:creator>MSohm</dc:creator>
				<category><![CDATA[Adobe AIR Development]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[beta programs]]></category>
		<category><![CDATA[blackberry playbook]]></category>
		<category><![CDATA[code signing]]></category>
		<category><![CDATA[debug tokens]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[unsigned applications]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=8952</guid>
		<description><![CDATA[Examining the four key roles that the debug token plays in the BlackBerry application development lifecycle.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=8952&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img src="http://rimdevblog.files.wordpress.com/2012/04/explosion.jpg?w=550&#038;h=365" alt="TITLE_IMAGE" title="Kaboom!" width="550" height="365" class="aligncenter size-full wp-image-8953" /></p>
<p>
<h6><i>Image By Taavi Adamberg (Own work) [CC-BY-SA-3.0 (www.creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons</i></h6>
</p>
<p>Did you know that you can use your debug token for much, much more than just debugging?  In fact, utilizing it properly can improve the security of your application development process.</p>
<p>There are four key roles that the debug token plays in the BlackBerry® application development lifecycle:</p>
<ul>
<li>Allows loading of unsigned applications on a BlackBerry® PlayBook™ tablet</li>
<li>Enables debugging tools to connect to a BlackBerry PlayBook tablet</li>
<li>Helps to protect your organization’s Code Signing Keys</li>
<li>Facilitates controlled beta programs</li>
</ul>
<p><span id="more-8952"></span></p>
<h3><strong>Allows Loading of Unsigned Applications</strong></h3>
<p>Using a debug token for loading unsigned applications is the most common use case for a debug token and one that most developers use unknowingly because many of the BlackBerry Development Tools automate this process for you.  This scenario is a major improvement over the workflow used for developing for BlackBerry® OS 7.1 and lower, which does not support the use of debug tokens.  When developing for 7.1 and lower, you had to sign every build of an application before loading it on a BlackBerry smartphone.  This required connections to be made to the RIM® signing servers for every build you wanted to test, which could take an inconvenient amount of time for a very large application.  It also rules out developing without an Internet connection.</p>
<p>Debug tokens came to the rescue here, removing the signing requirement when testing and allowing for offline development.  Simply create the debug token and load it onto your BlackBerry PlayBook tablet, and you will now be able to install and test your BlackBerry PlayBook applications without signing them.  The initial creation of the debug token does require an Internet connection, but once created, it is valid for 30 days, giving you lots of time to develop while you’re away from an Internet connection.</p>
<h3><strong>Enables Debugging Tools to Connect to a BlackBerry PlayBook tablet</strong></h3>
<p>Having a debug token installed along with an unsigned development build of your applications enables all sorts of tools that can be used to debug your application.  The tools available will vary depending on the type of application you are developing.  For BlackBerry® WebWorks™ applications, it allows the use of WebInspector.  Adobe® AIR® and Android™ applications can make use of the debugger and debugging tools in their respective SDKs.  Developers using the BlackBerry NDK can use the standard debugging tools along with some more specialized features; such as views for memory and process information as well as code coverage.  It also allows you to <a href="http://supportforums.blackberry.com/t5/Native-SDK-for-BlackBerry-Tablet/How-to-Extract-Application-Files/ta-p/1493491" target="_new">copy files to and from your application’s private sandbox area</a> when running an unsigned development version of the application.</p>
<h3><strong>Protect your organization’s Code Signing Keys</strong></h3>
<p>You can run an unsigned application on a BlackBerry PlayBook tablet by using a debug token, removing the need to have access to the keys to sign the application. Debug tokens allow you to separate the process of application creation and publication. You can create and test an application using a debug token, then deliver the application to a supervisor or a client for signing and publication.  This enables you to keep your code signing key on a secure central build machine or in the hands of the client who will own the application.  Remember, your code signing key is the component that uniquely identifies you as a developer.  It’s very important to keep this safe because anyone with access to your code signing key is able to distribute upgrades to your application that appear to come from you.  You should also back up your keys because if you lose them you lose the ability to release updates for your applications.</p>
<h3><strong>Facilitate Controlled Beta Programs</strong></h3>
<p>This is likely something you haven’t thought of using your debug token for.  You can use debug tokens to assist with running controlled beta.  Recall that debug tokens are tied to an application developer and BlackBerry PlayBook tablet PIN(s).  They also expire after 30 days.  Put these together and you have the means to create a time bombed release that can only be installed on a BlackBerry PlayBook tablet whose PIN you whitelist.  The beta testers would first need to install the debug token you provide and then the unsigned version of your application.  Having the debug token tied to their BlackBerry PlayBook tablet PIN makes it difficult for them to share the application with others.  You can also supply them with the <a href="http://supportforums.blackberry.com/t5/Testing-and-Deployment/BlackBerry-Tablet-OS-Graphical-Aid/ta-p/1207067" target="_new">BlackBerry Tablet OS Graphical Aid</a> so that your users don’t have to install these using the command line.</p>
<h3><strong>Wrapping It Up</strong></h3>
<p>As you can see there are many uses for your debug token.  If you don’t yet have a set of BlackBerry Code Signing Keys to use to create a debug token, head on over to the <a href="https://www.blackberry.com/SignedKeys/" target="_new">BlackBerry code signing key registration form</a> and get signed up today.  You’ll want to be ready for part 2 of this article where we explain how to configure your debug token to explode when it expires, as captured in the image above*.</p>
<p>
<h6>*Debug tokens cannot actually be configured to explode.</h6></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/8952/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/8952/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=8952&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/04/debug-token/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76c7dc9f1e2068196cd724a8bd5bac54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msohm</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/04/explosion.jpg" medium="image">
			<media:title type="html">Kaboom!</media:title>
		</media:content>
	</item>
		<item>
		<title>Code Signing: Past, Present and Future</title>
		<link>http://devblog.blackberry.com/2012/01/code-signing/</link>
		<comments>http://devblog.blackberry.com/2012/01/code-signing/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 20:02:12 +0000</pubDate>
		<dc:creator>Alex Kinsella</dc:creator>
				<category><![CDATA[Adobe AIR Development]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[BlackBerry 7]]></category>
		<category><![CDATA[blackberry tablet os]]></category>
		<category><![CDATA[code signing]]></category>
		<category><![CDATA[debug tokens]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=8292</guid>
		<description><![CDATA[Learn more about code signing, why we do it and what benefits it has for developers.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=8292&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><em>Hey BlackBerry® devs! Got another guest post for you today &#8211; this one from Mark, who&#8217;s got some useful info about code signing (what it is and why we do it). Enjoy! &#8211; Ed.</em></p>
<p>There are many great things about developing for the BlackBerry platform – including our commitment and support of open source technologies and multiple development languages (Native, HTML5 with BlackBerry® WebWorks™, Adobe® AIR®, Java®). One thing we’ve really invested in over the last year is to respond to developer feedback and requests, in order to enable you to build the way that’s best for you. One of the areas we’ve been focusing on especially is code signing.</p>
<p><strong>What is Code Signing anyway, and why does BlackBerry code sign?</strong></p>
<p>Code signing has been designed to provide security for consumers. They can feel confident that the application they are installing has not been modified after it was signed by the application developer. Code signing is also a means for applications to protect their data.</p>
<p>Code signing has many benefits for both developers and consumers. Developers can distribute an unsigned version of their application along with a debug token to a limited set of beta testers. The debug token helps to ensure that only those beta testers that a developer has issued a token to can run the application. I’ll walk through this process in more detail in a future blog post.</p>
<p>Debug tokens also allow for central key management, allowing for a single code signing key to be used by a team of developers testing an application. Debug tokens can be issued to each developer, allowing them to test builds on their BlackBerry® PlayBook™ tablet. The code signing key can be deployed to a secure build server, protecting it and ensuring that only official builds of the application are signed for public distribution.</p>
<p><span id="more-8292"></span></p>
<p>BlackBerry® Tablet OS applications each have their own sandboxed private data area that only the application itself can access, which is protected in part by the code signing key. This can prevent a malicious application from impersonating another application. If a malicious application &#8211; signed with a different code signing key &#8211; were to attempt to masquerade as an upgrade to an existing application the user has installed, it would install it as a new, unique application and it would not have access to the private data area of the original application. This makes it important to back up your code signing key because if you lose it, you’ll be <a href="http://supportforums.blackberry.com/t5/Testing-and-Deployment/Application-Upgrade-Appears-as-a-New-Separate-Application/ta-p/1122645" target="_new">unable to provide upgrades</a> to your application.</p>
<p>Data protection isn’t just limited to BlackBerry Tablet OS applications. BlackBerry® 7 OS (and lower) support similar data access control through the use of a custom code signing key. You can read all about that <a href="http://supportforums.blackberry.com/t5/Java-Development/Protect-persistent-objects-from-access-by-unauthorized/ta-p/524282" target="_new">here</a>.</p>
<p><strong>What We’ve Been Doing over the Last Year</strong></p>
<p>We’ve made a number of improvements to code signing over the last year and we will continue to build on this in 2012. Here is a rundown of what we’ve done so far:</p>
<ul>
<li>Made code signing keys easier to obtain by removing the credit card requirement for ordering them</li>
<li>Reduced the order time for code signing keys from 7-10 days to approximately 1-2 hours so you can start building right away!</li>
<li>Created <a href="https://bdsc.webapps.blackberry.com/native/beta/documentation/com.qnx.doc.native_sdk.devguide/com.qnx.doc.native_sdk.devguide/topic/configure_app_signing_from_ide.html" target="_new">Configuration Wizards</a> to walk you through configuring and backing up your keys</li>
<li>Automated many previously manual steps by integrating Debug Tokens into the SDKs</li>
<li>Updated the hardware for our code signing servers</li>
<li>Created the Code Signing Supportsite to walk through the ordering, configuration and signing process</li>
</ul>
<p>This is by no means the end of the road when it comes to improvements. The golden age of code signing will arrive when you can request keys instantly from the SDKs themselves and have the tools take care of all the dirty work for you. We’re actively re-writing the code signing infrastructure to accommodate this in the future.</p>
<p><strong>The Future Is Secure AND Easy</strong></p>
<p>These are just some of the major benefits that code signing provides. Of course, in any situation, the benefits have to outweigh the effort. We hope to achieve a near zero effort for code signing for both developers and consumers.</p>
<p>Got questions about the code signing process? Let us know in the comments!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/8292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/8292/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=8292&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/01/code-signing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d0e94a7e96e80d5911732d43f31a39c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex K.</media:title>
		</media:content>
	</item>
	</channel>
</rss>
