OLD | NEW |
1 #!/bin/bash -p | 1 #!/bin/bash -p |
2 | 2 |
3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 # Using codesign, sign the contents of the versioned directory. Namely, this | 7 # Using codesign, sign the contents of the versioned directory. Namely, this |
8 # includes the framework and helper app. After signing, the signatures are | 8 # includes the framework and helper app. After signing, the signatures are |
9 # verified. | 9 # verified. |
10 | 10 |
(...skipping 23 matching lines...) Expand all Loading... |
34 | 34 |
35 versioned_dir="${app_path}/Contents/Versions/@VERSION@" | 35 versioned_dir="${app_path}/Contents/Versions/@VERSION@" |
36 | 36 |
37 # An .app bundle to be signed can be signed directly. Normally, signing a | 37 # An .app bundle to be signed can be signed directly. Normally, signing a |
38 # framework bundle requires that each version within be signed individually. | 38 # framework bundle requires that each version within be signed individually. |
39 # http://developer.apple.com/mac/library/technotes/tn2007/tn2206.html#TNTAG13 | 39 # http://developer.apple.com/mac/library/technotes/tn2007/tn2206.html#TNTAG13 |
40 # In Chrome's case, the framework bundle is unversioned, so it too can be | 40 # In Chrome's case, the framework bundle is unversioned, so it too can be |
41 # signed directly. See copy_framework_unversioned.sh. | 41 # signed directly. See copy_framework_unversioned.sh. |
42 | 42 |
43 framework="${versioned_dir}/@MAC_PRODUCT_NAME@ Framework.framework" | 43 framework="${versioned_dir}/@MAC_PRODUCT_NAME@ Framework.framework" |
| 44 crashpad_handler="${framework}/Helpers/crashpad_handler" |
44 helper_app="${versioned_dir}/@MAC_PRODUCT_NAME@ Helper.app" | 45 helper_app="${versioned_dir}/@MAC_PRODUCT_NAME@ Helper.app" |
45 helper_eh_app="${versioned_dir}/@MAC_PRODUCT_NAME@ Helper EH.app" | 46 helper_eh_app="${versioned_dir}/@MAC_PRODUCT_NAME@ Helper EH.app" |
46 helper_np_app="${versioned_dir}/@MAC_PRODUCT_NAME@ Helper NP.app" | 47 helper_np_app="${versioned_dir}/@MAC_PRODUCT_NAME@ Helper NP.app" |
47 | 48 |
48 requirement_suffix="\ | 49 requirement_suffix="\ |
49 and certificate leaf = H\"85cee8254216185620ddc8851c7a9fc4dfe120ef\"\ | 50 and certificate leaf = H\"85cee8254216185620ddc8851c7a9fc4dfe120ef\"\ |
50 " | 51 " |
51 | 52 |
52 codesign --sign "${codesign_id}" --keychain "${codesign_keychain}" \ | 53 codesign --sign "${codesign_id}" --keychain "${codesign_keychain}" \ |
| 54 "${crashpad_handler}" \ |
| 55 -r="designated => identifier \"crashpad_handler\" \ |
| 56 codesign --sign "${codesign_id}" --keychain "${codesign_keychain}" \ |
53 "${framework}" \ | 57 "${framework}" \ |
54 -r="designated => identifier \"com.google.Chrome.framework\" \ | 58 -r="designated => identifier \"com.google.Chrome.framework\" \ |
55 ${requirement_suffix}" | 59 ${requirement_suffix}" |
56 codesign --sign "${codesign_id}" --keychain "${codesign_keychain}" \ | 60 codesign --sign "${codesign_id}" --keychain "${codesign_keychain}" \ |
57 "${helper_app}" \ | 61 "${helper_app}" \ |
58 -r="designated => identifier \"com.google.Chrome.helper\" \ | 62 -r="designated => identifier \"com.google.Chrome.helper\" \ |
59 ${requirement_suffix}" | 63 ${requirement_suffix}" |
60 codesign --sign "${codesign_id}" --keychain "${codesign_keychain}" \ | 64 codesign --sign "${codesign_id}" --keychain "${codesign_keychain}" \ |
61 "${helper_eh_app}" \ | 65 "${helper_eh_app}" \ |
62 -r="designated => identifier \"com.google.Chrome.helper.EH\" \ | 66 -r="designated => identifier \"com.google.Chrome.helper.EH\" \ |
63 ${requirement_suffix}" | 67 ${requirement_suffix}" |
64 codesign --sign "${codesign_id}" --keychain "${codesign_keychain}" \ | 68 codesign --sign "${codesign_id}" --keychain "${codesign_keychain}" \ |
65 "${helper_np_app}" \ | 69 "${helper_np_app}" \ |
66 -r="designated => identifier \"com.google.Chrome.helper.NP\" \ | 70 -r="designated => identifier \"com.google.Chrome.helper.NP\" \ |
67 ${requirement_suffix}" | 71 ${requirement_suffix}" |
68 | 72 |
69 # Verify everything. Don't use --deep on the framework because Keystone's | 73 # Verify everything. Don't use --deep on the framework because Keystone's |
70 # signature is in a transitional state (radar 18474911). | 74 # signature is in a transitional state (radar 18474911). |
| 75 codesign --verify --deep "${crashpad_handler}" |
71 codesign --verify "${framework}" | 76 codesign --verify "${framework}" |
72 codesign --verify --deep "${helper_app}" | 77 codesign --verify --deep "${helper_app}" |
73 codesign --verify --deep "${helper_eh_app}" | 78 codesign --verify --deep "${helper_eh_app}" |
74 codesign --verify --deep "${helper_np_app}" | 79 codesign --verify --deep "${helper_np_app}" |
OLD | NEW |