Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Application code signing confusion




On Mar 2, 2008, at 6:01 PM, Nathan Duran wrote:


On Mar 2, 2008, at 5:39 PM, Rainer Brockerhoff wrote:

Right. Of course, a more-savvy user can run "codesign -d -vvvv" on the app to check, as I said. But there really should be an easier way... maybe a "show certificate" button in the Finder's Get Info. I'll file a bug for that.

The implementation of code signing Leopard gave birth to was stillborn,

Technically no, it isn't, but I think the "birth" analogy is probably correct. There is a newborn code signing mechanism introduced in Leopard that we know needs to "grow up" in future releases. We wanted what came out in Leopard to fullfil a couple of purposes:


1) Change the way keychain ACLs behave when code is updated
2) Provide a means for "beefier" enforcement of Parental Controls/ Managed Desktop
3) Provide a means for the Application Firewall to recognize code


1 and 2 worked out very well. Keychain "application changed" dialogs for signed applications are pretty much a thing of the past now. MCX no longer relies on simplistic mechanisms to determine if an application is allowed to run.

3 was not as good as we would have liked. We're working on further solutions for our part of that. Part of the problem is lack of signed 3rd party applications/tools. The more applications that are signed by the developer the better the system will work. Failing that, we end up needing to "ad-hoc" sign them in place. The ad-hoc signing caused several apps to break.

and aside from a few fringe cases, going through all the trouble required to use it typically has very little effect on anything.

It has a huge effect on things in Leopard if you need to access keychain items, go through the firewall, or want to make sure that if someone is using your applicaiton in a managed environment that administrators (or parents) don't need to re-allow the application to be run.


I wouldn't expect to see any kind of meaningful certificate validation being done for a very long time, if ever, so I'd probably spend some time evaluating whether or not my application was really attractive enough a target to the gangs of roving hackers you seem to be afraid of before going hog wild here. Jens' suggestion makes the most sense to me.

The code is capable of supporting very stringent cert chain validation if we decide to enable it.


Signing your code allows it to interact with Leopard for some basic functionality that allows the system to recognize your application. As Mac OS X progresses there will be more of the system that will rely on applications and tools being positively identified before special services are made available to them. Getting your process setup now to sign your applications and tools will allow you to benefit as the OS introduces those features.

- murf

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Apple-cdsa mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/apple-cdsa/email@hidden

This email sent to email@hidden
References: 
 >Re: Application code signing confusion (From: Rainer Brockerhoff <email@hidden>)
 >Re: Application code signing confusion (From: Jens Alfke <email@hidden>)
 >Re: Application code signing confusion (From: Rainer Brockerhoff <email@hidden>)
 >Re: Application code signing confusion (From: Nathan Duran <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.