void bdoc::Signature::validateOffline(bdoc::X509CertStore *store) { DECLARE_STACK_EXCEPTION("Signature is invalid"); try { checkQualifyingProperties(); } catch (StackExceptionBase& e) { exc.add(e); } try { checkSignatureMethod(); checkReferences(); checkKeyInfo(); checkSignatureValue(); } catch (StackExceptionBase& e) { exc.add(e); } try { checkSigningCertificate(store); } catch (StackExceptionBase& e) { exc.add(e); } if (exc.hasCauses()) { throw exc; } }
/// validate Signature element offline /// /// @throws SignatureException on a problem in signature void digidoc::SignatureBES::checkSignature() const throw(SignatureException) { checkSignedInfo(); checkKeyInfo(); checkSignatureValue(); }