diff --git a/osx/src/main/java/ch/cyberduck/ui/cocoa/controller/BookmarkController.java b/osx/src/main/java/ch/cyberduck/ui/cocoa/controller/BookmarkController.java index 5698dd466f..b3642a7d4e 100644 --- a/osx/src/main/java/ch/cyberduck/ui/cocoa/controller/BookmarkController.java +++ b/osx/src/main/java/ch/cyberduck/ui/cocoa/controller/BookmarkController.java @@ -597,14 +597,16 @@ public abstract class BookmarkController extends SheetController implements NSTa this.certificatePopup.setTarget(this.id()); final Selector action = Foundation.selector("certificateSelectionChanged:"); this.certificatePopup.setAction(action); + // List of certificates with private key + final List list = new KeychainX509KeyManager(new DisabledCertificateIdentityCallback(), bookmark, + CertificateStoreFactory.get()).list(); this.addObserver(bookmark -> { certificatePopup.setEnabled(options.certificate); certificatePopup.removeAllItems(); certificatePopup.addItemWithTitle(LocaleFactory.localizedString("None")); if(options.certificate) { certificatePopup.menu().addItem(NSMenuItem.separatorItem()); - for(String certificate : new KeychainX509KeyManager(new DisabledCertificateIdentityCallback(), bookmark, - CertificateStoreFactory.get()).list()) { + for(String certificate : list) { certificatePopup.addItemWithTitle(certificate); certificatePopup.lastItem().setRepresentedObject(certificate); }