public byte[] Decrypt(string encryptedData) { RmsUtil.ThrowIfParameterNull(encryptedData, "encryptedData"); RmsUtil.ThrowIfStringParameterNullOrEmpty(encryptedData, "encryptedData"); byte[] result; try { result = this.DecryptTenantsPrivateKey(encryptedData); } catch (CryptographicException ex) { string ski; Exception ex2; if (RmsUtil.TryExtractDecryptionCertificateSKIFromEncryptedXml(encryptedData, out ski, out ex2)) { throw new PrivateKeyDecryptionFailedException(ex.Message + " " + Strings.RequiredDecryptionCertificate(ski), ex); } throw new PrivateKeyDecryptionFailedException(ex2.Message, ex2); } return(result); }