public bool CheckSignatureReturningKey(out AsymmetricKeyParameter signingKey) { SignedXmlDebugLog.LogBeginSignatureVerification(this, _context); int count = 0; signingKey = null; bool bRet = false; AsymmetricKeyParameter key = null; if (!CheckSignatureFormat()) { return(false); } do { key = GetPublicKey(); if (key != null) { if (count++ > 0) { _bCacheValid = false; } bRet = CheckSignature(key); SignedXmlDebugLog.LogVerificationResult(this, key, bRet); } } while (key != null && bRet == false); signingKey = key; return(bRet); }