Skip to content

Commit 59cd79a

Browse files
author
Andy Herrick
committedJul 17, 2020
8247734: [macos] jpackage fails to retrieve signing certificate when there are multiple
Reviewed-by: asemenyuk, almatvee
1 parent 7339cf8 commit 59cd79a

File tree

7 files changed

+13
-11
lines changed

7 files changed

+13
-11
lines changed
 

‎src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacAppBundler.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ public MacAppBundler() {
6363
String.class,
6464
params -> {
6565
String result = MacBaseInstallerBundler.findKey(
66-
"Developer ID Application: "
67-
+ SIGNING_KEY_USER.fetchFrom(params),
66+
"Developer ID Application: ",
67+
SIGNING_KEY_USER.fetchFrom(params),
6868
SIGNING_KEYCHAIN.fetchFrom(params),
6969
VERBOSE.fetchFrom(params));
7070
if (result != null) {

‎src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacAppStoreBundler.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public class MacAppStoreBundler extends MacBaseInstallerBundler {
5454
String.class,
5555
params -> {
5656
String result = MacBaseInstallerBundler.findKey(
57-
"3rd Party Mac Developer Application: " +
57+
"3rd Party Mac Developer Application: ",
5858
SIGNING_KEY_USER.fetchFrom(params),
5959
SIGNING_KEYCHAIN.fetchFrom(params),
6060
VERBOSE.fetchFrom(params));
@@ -78,7 +78,7 @@ public class MacAppStoreBundler extends MacBaseInstallerBundler {
7878
String.class,
7979
params -> {
8080
String result = MacBaseInstallerBundler.findKey(
81-
"3rd Party Mac Developer Installer: " +
81+
"3rd Party Mac Developer Installer: ",
8282
SIGNING_KEY_USER.fetchFrom(params),
8383
SIGNING_KEYCHAIN.fetchFrom(params),
8484
VERBOSE.fetchFrom(params));

‎src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacBaseInstallerBundler.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,11 @@ public String getBundleType() {
151151
return "INSTALLER";
152152
}
153153

154-
public static String findKey(String key, String keychainName,
154+
public static String findKey(String keyPrefix, String teamName, String keychainName,
155155
boolean verbose) {
156+
String key = (teamName.startsWith(keyPrefix)
157+
|| teamName.startsWith("3rd Party Mac Developer"))
158+
? teamName : (keyPrefix + teamName);
156159
if (Platform.getPlatform() != Platform.MAC) {
157160
return null;
158161
}
@@ -183,7 +186,6 @@ public static String findKey(String key, String keychainName,
183186
if (m.find()) {
184187
Log.error(MessageFormat.format(I18N.getString(
185188
"error.multiple.certs.found"), key, keychainName));
186-
return null;
187189
}
188190
Log.verbose("Using key '" + matchedKey + "'");
189191
return matchedKey;

‎src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ public class MacPkgBundler extends MacBaseInstallerBundler {
103103
String.class,
104104
params -> {
105105
String result = MacBaseInstallerBundler.findKey(
106-
"Developer ID Installer: "
107-
+ SIGNING_KEY_USER.fetchFrom(params),
106+
"Developer ID Installer: ",
107+
SIGNING_KEY_USER.fetchFrom(params),
108108
SIGNING_KEYCHAIN.fetchFrom(params),
109109
VERBOSE.fetchFrom(params));
110110
if (result != null) {

‎src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/resources/MacResources.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ error.certificate.expired=Error: Certificate expired {0}
4242
error.no.xcode.signing=Xcode with command line developer tools is required for signing
4343
error.no.xcode.signing.advice=Install Xcode with command line developer tools.
4444
error.cert.not.found=No certificate found matching [{0}] using keychain [{1}]
45-
error.multiple.certs.found=Multiple certificates found matching [{0}] using keychain [{1}]
45+
error.multiple.certs.found=WARNING: Multiple certificates found matching [{0}] using keychain [{1}], using first one
4646
resource.bundle-config-file=Bundle config file
4747
resource.app-info-plist=Application Info.plist
4848
resource.runtime-info-plist=Java Runtime Info.plist

‎src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/resources/MacResources_ja.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ error.certificate.expired=\u30A8\u30E9\u30FC: \u8A3C\u660E\u66F8\u306F{0}\u306B\
4242
error.no.xcode.signing=\u7F72\u540D\u306B\u306F\u3001Xcode\u3068\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u30FB\u30C7\u30D9\u30ED\u30C3\u30D1\u30FB\u30C4\u30FC\u30EB\u304C\u5FC5\u8981\u3067\u3059
4343
error.no.xcode.signing.advice=Xcode\u3068\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u30FB\u30C7\u30D9\u30ED\u30C3\u30D1\u30FB\u30C4\u30FC\u30EB\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002
4444
error.cert.not.found=\u30AD\u30FC\u30C1\u30A7\u30FC\u30F3[{1}]\u3092\u4F7F\u7528\u3059\u308B[{0}]\u3068\u4E00\u81F4\u3059\u308B\u8A3C\u660E\u66F8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
45-
error.multiple.certs.found=\u30AD\u30FC\u30C1\u30A7\u30FC\u30F3[{1}]\u3092\u4F7F\u7528\u3059\u308B[{0}]\u3068\u4E00\u81F4\u3059\u308B\u8907\u6570\u306E\u8A3C\u660E\u66F8\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F
45+
error.multiple.certs.found=WARNING: Multiple certificates found matching [{0}] using keychain [{1}], using first one
4646
resource.bundle-config-file=\u30D0\u30F3\u30C9\u30EB\u69CB\u6210\u30D5\u30A1\u30A4\u30EB
4747
resource.app-info-plist=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306EInfo.plist
4848
resource.runtime-info-plist=Java\u30E9\u30F3\u30BF\u30A4\u30E0\u306EInfo.plist

‎src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/resources/MacResources_zh_CN.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ error.certificate.expired=\u9519\u8BEF: \u8BC1\u4E66\u5DF2\u5931\u6548 {0}
4242
error.no.xcode.signing=\u9700\u8981\u4F7F\u7528\u5E26\u547D\u4EE4\u884C\u5F00\u53D1\u4EBA\u5458\u5DE5\u5177\u7684 Xcode \u8FDB\u884C\u7B7E\u540D
4343
error.no.xcode.signing.advice=\u5B89\u88C5\u5E26\u547D\u4EE4\u884C\u5F00\u53D1\u4EBA\u5458\u5DE5\u5177\u7684 Xcode\u3002
4444
error.cert.not.found=\u4F7F\u7528\u5BC6\u94A5\u94FE [{1}] \u627E\u4E0D\u5230\u4E0E [{0}] \u5339\u914D\u7684\u8BC1\u4E66
45-
error.multiple.certs.found=\u4F7F\u7528\u5BC6\u94A5\u94FE [{1}] \u627E\u5230\u4E0E [{0}] \u5339\u914D\u7684\u591A\u4E2A\u8BC1\u4E66
45+
error.multiple.certs.found=WARNING: Multiple certificates found matching [{0}] using keychain [{1}], using first one
4646
resource.bundle-config-file=\u5305\u914D\u7F6E\u6587\u4EF6
4747
resource.app-info-plist=\u5E94\u7528\u7A0B\u5E8F Info.plist
4848
resource.runtime-info-plist=Java \u8FD0\u884C\u65F6 Info.plist

0 commit comments

Comments
 (0)
Please sign in to comment.