<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Windows Mobile RSS (Reed and Steve Stuff) Feed : security</title><link>http://blogs.msdn.com/hegenderfer/archive/tags/security/default.aspx</link><description>Tags: security</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>InfoWeek and SCMDM - Webcast to Watch</title><link>http://blogs.msdn.com/hegenderfer/archive/2008/05/29/infoweek-and-scmdm-webcast-to-watch.aspx</link><pubDate>Thu, 29 May 2008 20:28:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8559456</guid><dc:creator>hegenderfer</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/hegenderfer/comments/8559456.aspx</comments><wfw:commentRss>http://blogs.msdn.com/hegenderfer/commentrss.aspx?PostID=8559456</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Date:&lt;/strong&gt; Wednesday, June 04, 2008&lt;br&gt;&lt;strong&gt;Time: &lt;/strong&gt;11:00 AM PT / 2:00 PM ET&lt;br&gt;&lt;strong&gt;Duration: &lt;/strong&gt;One Hour &lt;p&gt;&lt;b&gt;InformationWeek Webcast: The Smart, Safe Way to Mobile Enterprise Success&lt;br&gt;&lt;/b&gt;Join InformationWeek mobility expert, Eric Zeman, and Microsoft mobility expert, Chip Vollers, for this important Webcast. Learn the strategies, insights and tools your enterprise needs to efficiently and effectively deploy and manage mobile devices and provide access to line-of-business applications in the enterprise--without putting your corporate data at risk.  &lt;p&gt;&lt;a href="http://www.cmpnetseminars.com/ars/eventregistration.do;jsessionid=0514F4E1B55BCD8D27AD049B2062C829.web-cmp-02-tomcat2?mode=eventreg&amp;amp;F=1000994&amp;amp;submit=y&amp;amp;subscriptiontype=online%20event&amp;amp;K=1MS1A1"&gt;http://www.cmpnetseminars.com/ars/eventregistration.do;jsessionid=0514F4E1B55BCD8D27AD049B2062C829.web-cmp-02-tomcat2?mode=eventreg&amp;amp;F=1000994&amp;amp;submit=y&amp;amp;subscriptiontype=online%20event&amp;amp;K=1MS1A1&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8559456" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/hegenderfer/archive/tags/security/default.aspx">security</category><category domain="http://blogs.msdn.com/hegenderfer/archive/tags/enterprise/default.aspx">enterprise</category></item><item><title>Now Live: TechNet Radio - Get More Security and Control with Mobile Device Manager</title><link>http://blogs.msdn.com/hegenderfer/archive/2008/05/06/now-live-technet-radio-get-more-security-and-control-with-mobile-device-manager.aspx</link><pubDate>Wed, 07 May 2008 00:29:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8463976</guid><dc:creator>hegenderfer</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/hegenderfer/comments/8463976.aspx</comments><wfw:commentRss>http://blogs.msdn.com/hegenderfer/commentrss.aspx?PostID=8463976</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;The latest episode featuring this interview is now live on our site:&amp;nbsp; &lt;p&gt;&lt;a href="http://technet.microsoft.com/radio"&gt;http://technet.microsoft.com/radio&lt;/a&gt; &lt;p&gt;Also, here are direct links to the wma and mp3’s. I encourage you to post these to your blogs or product sites: &lt;p&gt;WMA &lt;p&gt;&lt;a href="http://download.microsoft.com/download/6/3/2/63213a2b-6b2f-40a8-9b7d-e0f54eda1168/TechNetRadio05062008-web.wma"&gt;http://download.microsoft.com/download/6/3/2/63213a2b-6b2f-40a8-9b7d-e0f54eda1168/TechNetRadio05062008-web.wma&lt;/a&gt; &lt;p&gt;mp3 Hi bandwidth &lt;p&gt;&lt;a href="http://download.microsoft.com/download/6/3/2/63213a2b-6b2f-40a8-9b7d-e0f54eda1168/TechNetRadio05062008-hi-web.mp3"&gt;http://download.microsoft.com/download/6/3/2/63213a2b-6b2f-40a8-9b7d-e0f54eda1168/TechNetRadio05062008-hi-web.mp3&lt;/a&gt; &lt;p&gt;mp3 Low bandwidth &lt;p&gt;&lt;a href="http://download.microsoft.com/download/6/3/2/63213a2b-6b2f-40a8-9b7d-e0f54eda1168/TechNetRadio05062008-lo-web.mp3"&gt;http://download.microsoft.com/download/6/3/2/63213a2b-6b2f-40a8-9b7d-e0f54eda1168/TechNetRadio05062008-lo-web.mp3&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8463976" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/hegenderfer/archive/tags/security/default.aspx">security</category><category domain="http://blogs.msdn.com/hegenderfer/archive/tags/tech+links/default.aspx">tech links</category><category domain="http://blogs.msdn.com/hegenderfer/archive/tags/enterprise/default.aspx">enterprise</category></item><item><title>A Windows Mobile Security Primer for Developers</title><link>http://blogs.msdn.com/hegenderfer/archive/2007/05/23/a-windows-mobile-security-primer-for-developers.aspx</link><pubDate>Wed, 23 May 2007 22:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2821632</guid><dc:creator>ReedR</dc:creator><slash:comments>12</slash:comments><comments>http://blogs.msdn.com/hegenderfer/comments/2821632.aspx</comments><wfw:commentRss>http://blogs.msdn.com/hegenderfer/commentrss.aspx?PostID=2821632</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;We talk a lot about security and signing apps, we don’t spend&amp;nbsp;enough time talking about how it all works and how to troubleshoot failures—so, I thought it would make a good post—or two.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Like jolly green Ogres, the topic of security is like an onion—you remove one layer, there’s another worthy of yet another discussion.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Why should developers care?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;If you are a Windows Mobile developer and don’t spend the time to understand signatures and security on this platform, well-- &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;it may leave you scratching your head at some point.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In the desktop world, we (developers) tend to let the IT guys and administrators carry the bulk of security burden.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If you want to tighten things down or open it up, you have the administrator tweak some permissions and life is good.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Unless you were developing drivers or widely used ActiveX controls, most of us never had to deal with code signing in the desktop world.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;In the mobile world, you can’t escape it – the underlying security model is all rooted to certs.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;When an operator decides to ship a new device, they work with an OEM to customize and brand the ROM image.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;As part of this process, they also decide what the final security policy configuration looks like and which certificates the device will honor.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;They typically include Mobile2Market certificates (we strongly encourage this) and their own private certs or OEM certs for management purposes.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Certificates control access to anything protected on the device and policies define how a device behaves.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;That’s the nature of Windows Mobile security.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Okay, so how does this apply to my code?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;I’m going to simplify this a bit and say that each Windows Mobile device has a certificate store called Privileged Execution Trust Authorities and another called Unprivileged Execution Trust Authorities.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;When code executes, we look to determine if the signature on your app roots back to certificates stored in either of these places -- then grant your trust level accordingly (okay, there's another SPC store that plays into this along with a ROLE mask but don't worry about that&amp;nbsp;for now).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For example, an application signed with a standard Mobile2Market certificate would link to the unprivileged store and run with standard trust.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;An application signed with the privileged Mobile2Market certificate would link to the privileged store and run with privileged (manager) trust.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;An unsigned application would be untrusted.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Untrusted application are at the mercy of the device’s security policies.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Security Policies?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;The security configuration of a Windows Mobile device is actually made of up a collection of security policies.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There is no single policy that controls whether a device is “&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/windowsmobile/archive/2007/05/14/what-do-you-mean-by-locked.aspx" mce_href="http://blogs.msdn.com/windowsmobile/archive/2007/05/14/what-do-you-mean-by-locked.aspx"&gt;&lt;FONT face=Calibri size=3&gt;locked&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;”.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Some of these you may know about and some you may not.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For most developers—the ones you are really care about are 4123 (tier), 4102 (unsigned apps), 4122 (prompt), and 4097 (RAPI).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There are a bunch of other policies that apply to OEMs, LAP developers, etc.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; T&lt;/SPAN&gt;he four I mention are especially important to any developer, and here’s why…&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Policy 4123 controls whether you are running in a 1-tier or 2-tier security model.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This may be the single most misunderstood concept in our mobile developer landscape.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Today, all PPC platforms (Professional and Classic) run in 1-tier.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Smartphone platforms (Standard) run in either 1 or 2-tier configurations.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Simply put, this means that for any device running a 1-tier configuration—IF YOU ARE ALLOWED TO RUN, you always run with full trust regardless of your signature.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This makes it very easy to do whatever you want on a 1-tier device.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For a 2-tier configuration, your trust level is always &lt;I style="mso-bidi-font-style: normal"&gt;determined by your signature&lt;/I&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This means that 2-tier devices may lock down a lot of the things that seemed unrestricted on 1-tier devices—protected registry areas, certificate stores, privileged APIs, debugging support, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Remember I said “If you are allowed to run”.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Well, Policy 4102 determines &lt;I style="mso-bidi-font-style: normal"&gt;if unsigned apps are allowed to run &lt;/I&gt;at all.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Most commercial devices allow this, but they vary widely in terms of the 4122 policy which control &lt;I style="mso-bidi-font-style: normal"&gt;whether the user is prompted when unsigned apps are launched&lt;/I&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This is why running your unsigned app may throw “unknown publisher” prompts on some devices and not on others.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Last but not least is 4097 which controls RAPI policy.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This policy can be configured one of three ways:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;0 - all communication with the desktop is disabled&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;1 - open, all desktop communication is permitted&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;2 - desktop communication is restricted (limited)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Like I said, there are numerous policies but these are the ones that are likely to affect you the most…You can use the QueryPolicy API to&amp;nbsp;get the value of any policy in your code and/or&amp;nbsp;examine to them via [HKEY_LOCAL_MACHINE\Security\Policies\Policies] or SecurityPolicy CSP.&amp;nbsp; Privileged access is generally required to alter any policy settings on a device.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoPlainText style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Consolas size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Interested… what next?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;If you want to dig deeper into these topics, check out this excellent &lt;/FONT&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/ms839681.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/ms839681.aspx"&gt;&lt;FONT face=Calibri size=3&gt;whitepaper&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; that Jason Fuller put together and spend some time looking in the SDK tools directory.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We include configuration scripts (XML) to make the emulators run in various modes (to simulate many retail devices).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We also include test certificates and all the configuration XML which you can examine to see how it all works – from changing individual policies to provisioning test certs.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;In Summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Now that we touched on some fundamentals, let’s revisit that question – why should developers care? &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;In my opinion, if you want to build an app with a predicable trust level and an optimal user experience across the widest range of devices, you will want to have it signed.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Unsigned apps are at the mercy of security policies.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;As a developer, if you don’t understand how all this works, you can burn a lot of time trying to figure it out under fire.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For instance, your unsigned code may throw that “unknown publisher” prompt on some devices but not others (not a good user experience).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;At a lower level, if you use &lt;/FONT&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/ms924486.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/ms924486.aspx"&gt;&lt;FONT face=Calibri size=3&gt;privileged APIs&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;, you will need a privileged signature to work on 2-tier devices.&amp;nbsp; If you want to load add-ins, context menus, etc.,&amp;nbsp;into system processes, you will need to be properly signed.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Restricted RAPI requires that device-side components be properly signed and may restrict certain types of operations.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Services and drivers must always be signed with privileged certificates (regardless of the tier configuration).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Once you understand the basics, you can also easily leverage the SDK emulators and utilities to test under a variety of security configurations…and save yourself a lot of time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Bottom line – if you spend the time to learn the security fundamentals of Windows Mobile, it will go a long way toward understanding why apps behave the way they do… and ensure your app is on its best behavior at all times. =)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;-Reed&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2821632" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/hegenderfer/archive/tags/mobile2market/default.aspx">mobile2market</category><category domain="http://blogs.msdn.com/hegenderfer/archive/tags/security/default.aspx">security</category><category domain="http://blogs.msdn.com/hegenderfer/archive/tags/tier/default.aspx">tier</category><category domain="http://blogs.msdn.com/hegenderfer/archive/tags/certificates/default.aspx">certificates</category></item></channel></rss>