protected virtual string GetIssuerThumbprint(SignedXml signedXml) { Contract.Requires(signedXml != null); Contract.Ensures(!String.IsNullOrEmpty(Contract.Result<string>())); var keyName = signedXml.Signature.KeyInfo.OfType<KeyInfoName>().FirstOrDefault(); if (keyName == null) { throw new CryptographicException("No KeyName found"); } return keyName.Value; }