diff --git a/CASA/micasad/cache/SecretStore.cs b/CASA/micasad/cache/SecretStore.cs index 3f6d3626..bdf806d2 100644 --- a/CASA/micasad/cache/SecretStore.cs +++ b/CASA/micasad/cache/SecretStore.cs @@ -898,7 +898,7 @@ namespace sscs.cache mpWatcher.resumeWatcher(); } - internal Secret GetDesktopSecret() + internal Secret GetDesktopSecret(bool bCreateIfNeeded) { if (common.CSSSUtils.StoreDesktopPasswordInCache()) { @@ -914,11 +914,18 @@ namespace sscs.cache return secret; } catch (SecretNotFoundException e) - { - CSSSLogger.DbgLog("Desktop password not found in cache, creating one"); - secret = new Secret(ConstStrings.MICASA_DESKTOP_PASSWD); - keyChain.AddSecret(secret); - return secret; + { + if (bCreateIfNeeded) + { + CSSSLogger.DbgLog("Desktop password not found in cache, creating one"); + secret = new Secret(ConstStrings.MICASA_DESKTOP_PASSWD); + keyChain.AddSecret(secret); + return secret; + } + else + { + return null; + } } catch (Exception e1) { @@ -942,7 +949,7 @@ namespace sscs.cache { try { - Secret secret = GetDesktopSecret(); + Secret secret = GetDesktopSecret(false); if (secret != null) { string passwd = secret.GetKeyValue(ConstStrings.MICASA_DESKTOP_PASSWD_KEYNAME).GetValue(); diff --git a/CASA/micasad/verbs/WriteKey.cs b/CASA/micasad/verbs/WriteKey.cs index cdc7541f..5a5611a2 100644 --- a/CASA/micasad/verbs/WriteKey.cs +++ b/CASA/micasad/verbs/WriteKey.cs @@ -208,7 +208,7 @@ namespace sscs.verbs if (ConstStrings.MICASA_DESKTOP_PASSWD == secretId) { - secret = ssStore.GetDesktopSecret(); + secret = ssStore.GetDesktopSecret(true); } else {