Skip to content

Commit 8fd9a73

Browse files
Alexey Semenyukaivanov-jdk
authored andcommitted
8371094: --mac-signing-key-user-name no longer works
Reviewed-by: aivanov Backport-of: 0555f6228c59c6739b8b824d64eb6c1545a5520a
1 parent 816cfbf commit 8fd9a73

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/SigningIdentityBuilder.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,16 @@ private SigningIdentity validatedSigningIdentity() throws ConfigException {
113113

114114
final var signingIdentityNames = certificateSelector.signingIdentities();
115115

116+
// Look up for the exact match.
116117
var matchingCertificates = mappedCertficates.stream().filter(e -> {
117118
return signingIdentityNames.contains(e.getKey());
118119
}).map(Map.Entry::getValue).toList();
119120

120121
if (matchingCertificates.isEmpty()) {
122+
// No exact matches found, look up for substrings.
121123
matchingCertificates = mappedCertficates.stream().filter(e -> {
122124
return signingIdentityNames.stream().anyMatch(filter -> {
123-
return filter.startsWith(e.getKey());
125+
return e.getKey().startsWith(filter);
124126
});
125127
}).map(Map.Entry::getValue).toList();
126128
}

test/jdk/tools/jpackage/macosx/MacSignTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ public static void testMultipleCertificates(PackageType type, SignOption... opti
160160

161161
@Test
162162
@ParameterSupplier
163+
@ParameterSupplier("testSelectSigningIdentity_JDK_8371094")
163164
public static void testSelectSigningIdentity(String signingKeyUserName, CertificateRequest certRequest) {
164165

165166
final var keychain = SigningBase.StandardKeychain.MAIN.spec().keychain();
@@ -187,6 +188,12 @@ public static Collection<Object[]> testSelectSigningIdentity() {
187188
}).toList();
188189
}
189190

191+
public static Collection<Object[]> testSelectSigningIdentity_JDK_8371094() {
192+
return List.<Object[]>of(new Object[] {
193+
"ACME Technologies Limited", SigningBase.StandardCertificateRequest.CODESIGN_ACME_TECH_LTD.spec()
194+
});
195+
}
196+
190197
enum SignOption {
191198
EXPIRED_SIGNING_KEY_USER_NAME("--mac-signing-key-user-name", SigningBase.StandardCertificateRequest.CODESIGN_EXPIRED.spec(), true, false),
192199
EXPIRED_SIGNING_KEY_USER_NAME_PKG("--mac-signing-key-user-name", SigningBase.StandardCertificateRequest.PKG_EXPIRED.spec(), true, false),

test/jdk/tools/jpackage/macosx/base/SigningBase.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ public class SigningBase {
6868
public enum StandardCertificateRequest {
6969
CODESIGN(cert().userName(DEV_NAMES[CertIndex.ASCII_INDEX.value()])),
7070
CODESIGN_COPY(cert().days(100).userName(DEV_NAMES[CertIndex.ASCII_INDEX.value()])),
71+
CODESIGN_ACME_TECH_LTD(cert().days(100).userName("ACME Technologies Limited (ABC12345)")),
7172
PKG(cert().type(CertificateType.INSTALLER).userName(DEV_NAMES[CertIndex.ASCII_INDEX.value()])),
7273
PKG_COPY(cert().type(CertificateType.INSTALLER).days(100).userName(DEV_NAMES[CertIndex.ASCII_INDEX.value()])),
7374
CODESIGN_UNICODE(cert().userName(DEV_NAMES[CertIndex.UNICODE_INDEX.value()])),
@@ -95,7 +96,8 @@ public enum StandardKeychain {
9596
StandardCertificateRequest.CODESIGN,
9697
StandardCertificateRequest.PKG,
9798
StandardCertificateRequest.CODESIGN_UNICODE,
98-
StandardCertificateRequest.PKG_UNICODE),
99+
StandardCertificateRequest.PKG_UNICODE,
100+
StandardCertificateRequest.CODESIGN_ACME_TECH_LTD),
99101
EXPIRED("jpackagerTest-expired.keychain",
100102
StandardCertificateRequest.CODESIGN,
101103
StandardCertificateRequest.PKG,

0 commit comments

Comments
 (0)