From e5457c70ea95f746113d002df97a9ec625e12c9c Mon Sep 17 00:00:00 2001 From: Alexey Semenyuk Date: Fri, 11 Apr 2025 15:00:09 -0400 Subject: [PATCH] MacCertificate: bugfix --- .../jdk/jpackage/internal/MacAppBundler.java | 2 +- .../jdk/jpackage/internal/MacCertificate.java | 18 +++++++++++------- .../jdk/jpackage/internal/MacPkgBundler.java | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppBundler.java b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppBundler.java index 5da01aa293c..733321dec46 100644 --- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppBundler.java +++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppBundler.java @@ -74,7 +74,7 @@ public MacAppBundler() { } if (result != null) { - MacCertificate certificate = new MacCertificate(result); + MacCertificate certificate = new MacCertificate(result, keychain); if (!certificate.isValid()) { Log.error(MessageFormat.format(I18N.getString( diff --git a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacCertificate.java b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacCertificate.java index 90f3a8c765b..c9dab481e0e 100644 --- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacCertificate.java +++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacCertificate.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -39,21 +39,25 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.Date; +import java.util.HexFormat; import java.util.List; import java.util.Locale; -import java.util.HexFormat; +import java.util.Objects; +import java.util.Optional; import java.util.regex.Matcher; import java.util.regex.Pattern; public final class MacCertificate { private final String certificate; + private final Optional keychainName; - public MacCertificate(String certificate) { - this.certificate = certificate; + public MacCertificate(String certificate, String keychainName) { + this.certificate = Objects.requireNonNull(certificate); + this.keychainName = Optional.ofNullable(keychainName); } public boolean isValid() { - return verifyCertificate(this.certificate); + return verifyCertificate(); } public static String findCertificateKey(String keyPrefix, String teamName, @@ -295,7 +299,7 @@ private Date findCertificateDate(String filename) { return result; } - private boolean verifyCertificate(String certificate) { + private boolean verifyCertificate() { boolean result = false; try { @@ -303,7 +307,7 @@ private boolean verifyCertificate(String certificate) { Date certificateDate = null; try { - file = getFindCertificateOutputPEM(certificate, null); + file = getFindCertificateOutputPEM(certificate, keychainName.orElse(null)); if (file != null) { certificateDate = findCertificateDate( diff --git a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java index 2aca9bd0e1f..8328fa07851 100644 --- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java +++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java @@ -130,7 +130,7 @@ public class MacPkgBundler extends MacBaseInstallerBundler { } if (result != null) { - MacCertificate certificate = new MacCertificate(result); + MacCertificate certificate = new MacCertificate(result, keychain); if (!certificate.isValid()) { Log.error(MessageFormat.format( -- 2.45.2.windows.1