From d7972bef70a7e49fd28b758706293f275e297ad0 Mon Sep 17 00:00:00 2001 From: Koen Van Looveren Date: Tue, 12 Dec 2023 20:12:07 +0100 Subject: [PATCH] fix: keychain creation on macOS --- CHANGELOG.md | 5 +++++ .../plugin/mac_os_keychain_plugin.dart | 12 ++++++------ .../integrations/ci_cd/plugin/ci_cd_plugin.dart | 17 +++++++++++------ 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3834d7..f224d4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +# 0.10.3 + +# Fix: +- Keychain creation on macOS + # 0.10.2 # Fix: diff --git a/lib/src/integrations/apple_certificate/plugin/mac_os_keychain_plugin.dart b/lib/src/integrations/apple_certificate/plugin/mac_os_keychain_plugin.dart index b590eb1..fcd8054 100644 --- a/lib/src/integrations/apple_certificate/plugin/mac_os_keychain_plugin.dart +++ b/lib/src/integrations/apple_certificate/plugin/mac_os_keychain_plugin.dart @@ -67,22 +67,22 @@ class MacOsKeyChainPlugin extends ImpaktfullCliPlugin { await processRunner.runProcess([ 'security', 'import', - '"${certFile.path}"', + (certFile.path), '-k', fullKeyChainName, '-P', - '"$certPassword"', + certPassword.value, '-A' ]); } else if (accessControlApplications.isNotEmpty) { await processRunner.runProcess([ 'security', 'import', - '"${certFile.path}"', + certFile.path, '-k', fullKeyChainName, '-P', - '"$certPassword"', + certPassword.value, for (final application in accessControlApplications) ...[ ...[ '-T', @@ -94,11 +94,11 @@ class MacOsKeyChainPlugin extends ImpaktfullCliPlugin { await processRunner.runProcess([ 'security', 'import', - '"${certFile.path}"', + certFile.path, '-k', fullKeyChainName, '-P', - '"$certPassword"' + certPassword.value ]); } } diff --git a/lib/src/integrations/ci_cd/plugin/ci_cd_plugin.dart b/lib/src/integrations/ci_cd/plugin/ci_cd_plugin.dart index b899be8..8374965 100644 --- a/lib/src/integrations/ci_cd/plugin/ci_cd_plugin.dart +++ b/lib/src/integrations/ci_cd/plugin/ci_cd_plugin.dart @@ -199,11 +199,16 @@ class CiCdPlugin extends ImpaktfullPlugin { await macOsKeyChainPlugin.createKeyChain( keyChainName, globalKeyChainPasswordSecret); - await macOsKeyChainPlugin.unlockKeyChain( - keyChainName, globalKeyChainPasswordSecret); - await macOsKeyChainPlugin.addCertificateToKeyChain( - keyChainName, certFile, certPassword); - await onStartBuild(); - await macOsKeyChainPlugin.removeKeyChain(keyChainName); + try { + await macOsKeyChainPlugin.unlockKeyChain( + keyChainName, globalKeyChainPasswordSecret); + await macOsKeyChainPlugin.addCertificateToKeyChain( + keyChainName, certFile, certPassword); + await onStartBuild(); + } catch (e) { + rethrow; + } finally { + await macOsKeyChainPlugin.removeKeyChain(keyChainName); + } } }