diff --git a/CASA/micasad/lss/LocalStorage.cs b/CASA/micasad/lss/LocalStorage.cs index 7e5ce842..dd5844ae 100644 --- a/CASA/micasad/lss/LocalStorage.cs +++ b/CASA/micasad/lss/LocalStorage.cs @@ -793,6 +793,10 @@ namespace sscs.lss { string sKey = (string)etor.Key; KeyValue kv = secret.GetKeyValue(sKey); + if (!kv.IsPersistent) + { + continue; + } string value = kv.GetValue(); writer.WriteStartElement(XmlConsts.keyNode); @@ -804,7 +808,7 @@ namespace sscs.lss writer.WriteStartElement(XmlConsts.keyValueNode); - if (kv.IsPersistent && bSaveValues) + if (bSaveValues) { if (kv.GetValueType() == KeyValue.VALUE_TYPE_BINARY) { diff --git a/CASA/micasad/verbs/ReadBinaryKey.cs b/CASA/micasad/verbs/ReadBinaryKey.cs index 4d8dab82..0afa4774 100644 --- a/CASA/micasad/verbs/ReadBinaryKey.cs +++ b/CASA/micasad/verbs/ReadBinaryKey.cs @@ -162,8 +162,16 @@ namespace sscs.verbs } else { - secret = keyChain.GetSecret(secretId); - val = secret.GetKeyValue(key).GetValueAsBytes(); + secret = keyChain.GetSecret(secretId); + KeyValue kv = secret.GetKeyValue(key); + if (kv != null) + { + val = kv.GetValueAsBytes(); + } + else + { + retCode = IPCRetCodes.SSCS_E_SECRETID_DOES_NOT_EXIST; + } } } else