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); + } } }