Details
-
Type:
Improvement
-
Status:
In Progress
-
Priority:
Blocker
-
Resolution: Unresolved
-
Affects Version/s: 2.0-beta-2, 2.1.0
-
Fix Version/s: .major-release
-
Component/s: build
-
Security Level: Public
-
Labels:None
Description
Currently launching the Mac OS X version tells you it's from an unidentified developer. You have to right click to launch the app. We can fix this.
-
- Screen Shot 2013-02-17 at 9.17.16 PM.png
- 39 kB
- 17/Feb/13 11:17 PM
-
- Screen Shot 2013-04-04 at 3.57.41 PM.png
- 51 kB
- 04/Apr/13 6:08 PM
-
- ss_2013-04-03_at_1.06.39 PM.png
- 30 kB
- 03/Apr/13 3:07 PM
Activity
- All
- Comments
- Work Log
- History
- Activity
- Gerrit Reviews
Hide
J Chris Anderson
added a comment -
I have no idea. I could start researching how to get a key from Apple but maybe after the weekend. :)
Show
J Chris Anderson
added a comment - I have no idea. I could start researching how to get a key from Apple but maybe after the weekend. :)
Hide
Farshid Ghods
added a comment -
we can discuss this next week : ) . Thanks for reporting the issue Chris.
Show
Farshid Ghods
added a comment - we can discuss this next week : ) . Thanks for reporting the issue Chris.
Hide
Jens Alfke
added a comment -
We need to get a developer ID from Apple; this will give us some kind of cert, and a local private key for signing.
Then we need to figure out how to get that key and cert onto the build machine, in the Keychain of the account that runs the buildbot.
Then we need to figure out how to get that key and cert onto the build machine, in the Keychain of the account that runs the buildbot.
Show
Jens Alfke
added a comment - We need to get a developer ID from Apple; this will give us some kind of cert, and a local private key for signing.
Then we need to figure out how to get that key and cert onto the build machine, in the Keychain of the account that runs the buildbot.
Hide
Farshid Ghods
added a comment -
the instructions to build is available here :
https://github.com/couchbase/couchdbx-app
we need to add codesign as a build step there
https://github.com/couchbase/couchdbx-app
we need to add codesign as a build step there
Show
Farshid Ghods
added a comment - the instructions to build is available here :
https://github.com/couchbase/couchdbx-app
we need to add codesign as a build step there
Show
Farshid Ghods
added a comment - Phil,
do you have any update on this ticket. ?
Hide
Phil Labee
added a comment -
I have signing cert installed on 10.17.21.150 (MacBuild).
Change to Makefile: http://review.couchbase.org/#/c/24149/
Change to Makefile: http://review.couchbase.org/#/c/24149/
Show
Phil Labee
added a comment - I have signing cert installed on 10.17.21.150 (MacBuild).
Change to Makefile: http://review.couchbase.org/#/c/24149/
Show
Phil Labee
added a comment - need to change master.cfg and pass env.var. to package-mac
Hide
Phil Labee
added a comment -
disregard previous. Have added signing to Xcode projects.
see http://review.couchbase.org/#/c/24273/
see http://review.couchbase.org/#/c/24273/
Show
Phil Labee
added a comment - disregard previous. Have added signing to Xcode projects.
see http://review.couchbase.org/#/c/24273/
Hide
Phil Labee
added a comment -
To test this go to System Preferences / Security & Privacy, and on the General tab set "Allow applications downloaded from" to "Mac App Store and Identified Developers". Set this before running Couchbase Server.app the first time. Once an app has been allowed to run this setting is no longer checked for that app, and there doesn't seem to be a way to reset that.
What is odd is that on my system, I allowed one unsigned build to run before restricting the app run setting, and then no other unsigned builds would be checked (and would all be allowed to run). Either there is a flaw in my testing methodology, or a serious weakness in this security setting: Just because one app called Couchbase Server was allowed to run should confer this privilege to other apps with the same name. A common malware tactic is to modify a trusted app and distribute it as update, and if the security setting keys off the app name it will do nothing to prevent that.
I'm approving this change without having satisfactorily tested it.
What is odd is that on my system, I allowed one unsigned build to run before restricting the app run setting, and then no other unsigned builds would be checked (and would all be allowed to run). Either there is a flaw in my testing methodology, or a serious weakness in this security setting: Just because one app called Couchbase Server was allowed to run should confer this privilege to other apps with the same name. A common malware tactic is to modify a trusted app and distribute it as update, and if the security setting keys off the app name it will do nothing to prevent that.
I'm approving this change without having satisfactorily tested it.
Show
Phil Labee
added a comment - To test this go to System Preferences / Security & Privacy, and on the General tab set "Allow applications downloaded from" to "Mac App Store and Identified Developers". Set this before running Couchbase Server.app the first time. Once an app has been allowed to run this setting is no longer checked for that app, and there doesn't seem to be a way to reset that.
What is odd is that on my system, I allowed one unsigned build to run before restricting the app run setting, and then no other unsigned builds would be checked (and would all be allowed to run). Either there is a flaw in my testing methodology, or a serious weakness in this security setting: Just because one app called Couchbase Server was allowed to run should confer this privilege to other apps with the same name. A common malware tactic is to modify a trusted app and distribute it as update, and if the security setting keys off the app name it will do nothing to prevent that.
I'm approving this change without having satisfactorily tested it.
Hide
Jens Alfke
added a comment -
Strictly speaking it's not the app name but its bundle ID, i.e. "com.couchbase.CouchbaseServer" or whatever we use.
> I allowed one unsigned build to run before restricting the app run setting, and then no other unsigned builds would be checked
By OK'ing an unsigned app you're basically agreeing to toss security out the window, at least for that app. This feature is really just a workaround for older apps. By OK'ing the app you're not really saying "yes, I trust this build of this app" so much as "yes, I agree to run this app even though I don't trust it".
> A common malware tactic is to modify a trusted app and distribute it as update
If it's a trusted app it's hopefully been signed, so the user wouldn't have had to waive signature checking for it.
> I allowed one unsigned build to run before restricting the app run setting, and then no other unsigned builds would be checked
By OK'ing an unsigned app you're basically agreeing to toss security out the window, at least for that app. This feature is really just a workaround for older apps. By OK'ing the app you're not really saying "yes, I trust this build of this app" so much as "yes, I agree to run this app even though I don't trust it".
> A common malware tactic is to modify a trusted app and distribute it as update
If it's a trusted app it's hopefully been signed, so the user wouldn't have had to waive signature checking for it.
Show
Jens Alfke
added a comment - Strictly speaking it's not the app name but its bundle ID, i.e. "com.couchbase.CouchbaseServer" or whatever we use.
> I allowed one unsigned build to run before restricting the app run setting, and then no other unsigned builds would be checked
By OK'ing an unsigned app you're basically agreeing to toss security out the window, at least for that app. This feature is really just a workaround for older apps. By OK'ing the app you're not really saying "yes, I trust this build of this app" so much as "yes, I agree to run this app even though I don't trust it".
> A common malware tactic is to modify a trusted app and distribute it as update
If it's a trusted app it's hopefully been signed, so the user wouldn't have had to waive signature checking for it.
Hide
Jens Alfke
added a comment -
Further thought: It might be a good idea to change the bundle ID in the new signed version of the app, because users of 2.0 with strict security settings have presumably already bypassed security on the unsigned version.
Show
Jens Alfke
added a comment - Further thought: It might be a good idea to change the bundle ID in the new signed version of the app, because users of 2.0 with strict security settings have presumably already bypassed security on the unsigned version.
Hide
Phil Labee
added a comment -
revert the change so that builds can complete. App is currently not being signed.
Show
Phil Labee
added a comment - revert the change so that builds can complete. App is currently not being signed.
Show
Farshid Ghods
added a comment - i suggest for 2.0.1 release we do this build manually.
Hide
Farshid Ghods
added a comment -
Phil to upload the binary to latestbuilds , ( 2.0.1-101-rel.zip )
Show
Farshid Ghods
added a comment - Phil to upload the binary to latestbuilds , ( 2.0.1-101-rel.zip )
Hide
Phil Labee
added a comment -
Show
Phil Labee
added a comment - Please verify:
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-160-rel-signed.zip
Hide
Phil Labee
added a comment -
uploaded:
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-160-rel-signed.zip
I can rename it when uploading for release.
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-160-rel-signed.zip
I can rename it when uploading for release.
Show
Phil Labee
added a comment - uploaded:
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-160-rel-signed.zip
I can rename it when uploading for release.
Hide
Farshid Ghods
added a comment -
i still do get the error that it is from an identified developer.
Show
Farshid Ghods
added a comment - i still do get the error that it is from an identified developer.
Hide
Phil Labee
added a comment -
operator error.
I rebuilt the app, this time verifying that the codesign step occurred.
Uploaded now file to same location:
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-160-rel-signed.zip
I rebuilt the app, this time verifying that the codesign step occurred.
Uploaded now file to same location:
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-160-rel-signed.zip
Show
Phil Labee
added a comment - operator error.
I rebuilt the app, this time verifying that the codesign step occurred.
Uploaded now file to same location:
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-160-rel-signed.zip
Show
Phil Labee
added a comment - still need to perform manual workaround
Hide
Phil Labee
added a comment -
release candidate has been uploaded to:
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-172-signed.zip
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-172-signed.zip
Show
Phil Labee
added a comment - release candidate has been uploaded to:
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-172-signed.zip
Hide
Phil, looks like version 172/185 is still getting the error. My Mac version is 10.8.2
Hide
Install couchbase server (build 2.0.1-172 community version) in my mac osx 10.7.4 , I only see the warning message
Show
Thuan Nguyen
added a comment - - edited Install couchbase server (build 2.0.1-172 community version) in my mac osx 10.7.4 , I only see the warning message
Hide
Wayne Siu
added a comment -
Latest version (04.03.13) : http://builds.hq.northscale.net/latestbuilds/couchbase-server-community_x86_64_2.0.1-185-rel.zip
Hide
Maria McDuff
added a comment -
works in 10.7 but not in 10.8.
if we can get the fix for 10.8 by tomorrow, end of day, QE is willing to test for release on tuesday, april 9.
if we can get the fix for 10.8 by tomorrow, end of day, QE is willing to test for release on tuesday, april 9.
Show
Maria McDuff
added a comment - works in 10.7 but not in 10.8.
if we can get the fix for 10.8 by tomorrow, end of day, QE is willing to test for release on tuesday, april 9.
Hide
Phil Labee
added a comment -
The mac builds are not being automatically signed, so build 185 is not signed. The original 172 is also not signed.
Did you try
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-172-signed.zip
to see if that was signed correctly?
Did you try
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-172-signed.zip
to see if that was signed correctly?
Show
Phil Labee
added a comment - The mac builds are not being automatically signed, so build 185 is not signed. The original 172 is also not signed.
Did you try
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-172-signed.zip
to see if that was signed correctly?
Hide
Phil Labee
added a comment -
I rebuilt 2.0.1-185 and uploaded a signed app to:
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-185-rel.SIGNED.zip
Test on a machine that has never had Couchbase Server installed, and has the security setting to only allow Appstore or signed apps.
If you get the "Couchbase Server.app was downloaded from the internet" warning and you can click OK and install it, then this bug is fixed. The quarantining of files downloaded by a browser is part of the operating system and is not controlled by signing.
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-185-rel.SIGNED.zip
Test on a machine that has never had Couchbase Server installed, and has the security setting to only allow Appstore or signed apps.
If you get the "Couchbase Server.app was downloaded from the internet" warning and you can click OK and install it, then this bug is fixed. The quarantining of files downloaded by a browser is part of the operating system and is not controlled by signing.
Show
Phil Labee
added a comment - I rebuilt 2.0.1-185 and uploaded a signed app to:
http://packages.northscale.com/latestbuilds/couchbase-server-community_x86_64_2.0.1-185-rel.SIGNED.zip
Test on a machine that has never had Couchbase Server installed, and has the security setting to only allow Appstore or signed apps.
If you get the "Couchbase Server.app was downloaded from the internet" warning and you can click OK and install it, then this bug is fixed. The quarantining of files downloaded by a browser is part of the operating system and is not controlled by signing.
Hide
Tried the 185-signed version (see attached screen shot). Same error message.
Show
Phil Labee
added a comment - This is not an error message related to this bug.
Hide
Maria McDuff
added a comment -
per bug triage, we need to have mac 10.8 osx working since it is a supported platform (published in the website).
Show
Maria McDuff
added a comment - per bug triage, we need to have mac 10.8 osx working since it is a supported platform (published in the website).
Hide
Anil Kumar
added a comment -
we need to address signed key for both Windows and Mac deferring this to next release.
Show
Anil Kumar
added a comment - we need to address signed key for both Windows and Mac deferring this to next release.
do you know what needs to change on the build machine to embed our developer key ?