Skip to content

Commit e1a32ec

Browse files
committed
Fix handling SiVa warnings
IB-8771 Signed-off-by: Raul Metsma <[email protected]>
1 parent 4f35579 commit e1a32ec

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

src/SiVaContainer.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -123,15 +123,13 @@ void SignatureSiVa::validate(const string &policy) const
123123
}
124124
if(_indication == "TOTAL-PASSED")
125125
{
126-
if(QES.contains(_signatureLevel) || _signatureLevel.empty() || policy == POLv1)
126+
// DDoc returns _signatureLevel empty
127+
if(policy == POLv2 && !_signatureLevel.empty() && !QES.contains(_signatureLevel))
127128
{
128-
if(!e.causes().empty())
129-
throw e;
130-
return;
129+
Exception ex(EXCEPTION_PARAMS("Signing certificate does not meet Qualification requirements"));
130+
ex.setCode(Exception::CertificateIssuerMissing);
131+
e.addCause(ex);
131132
}
132-
Exception ex(EXCEPTION_PARAMS("Signing certificate does not meet Qualification requirements"));
133-
ex.setCode(Exception::CertificateIssuerMissing);
134-
e.addCause(ex);
135133
}
136134
} catch(const Exception &ex) {
137135
e.addCause(ex);
@@ -215,7 +213,7 @@ SiVaContainer::SiVaContainer(const string &path, ContainerOpenCB *cb, bool useHa
215213
}, (const unsigned char*)req.c_str(), req.size());
216214
req.clear();
217215

218-
if(!r.isOK() && !r.isStatusCode("400"))
216+
if(!r && !r.isStatusCode("400"))
219217
THROW("Failed to send request to SiVa");
220218

221219
json result = json::parse(r.content, nullptr, false);
@@ -241,7 +239,7 @@ SiVaContainer::SiVaContainer(const string &path, ContainerOpenCB *cb, bool useHa
241239
s->_signedBy = signature["signedBy"];
242240
s->_signatureMethod = signature.value<string>("signatureMethod", {});
243241
s->_signatureLevel = signature.value<string>("signatureLevel", {});
244-
if(json info = signature.value<json>("info", {}); !info.is_null())
242+
if(auto info = signature.value<json>("info", {}); !info.is_null())
245243
{
246244
s->_bestTime = info.value<string>("bestSignatureTime", {});
247245
s->_tsTime = info.value<string>("timestampCreationTime", {});

0 commit comments

Comments
 (0)