Objective
I'm trying to get a Tableau SAML connection working, where my software is the IDP.
What I did
I generated a certificates using
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
I'm using this online tool to generate a IDP metadata file. https://www.samltool.com/idp_metadata.php and would populate the fields, and put int he public and private key in the boxes indicated below.
Error I get
When I test the functionality of the SAML, using the tableau "test connection", I get the following error in THEIR logs.
2023-10-23T19:29:52.811Z | ERROR | Exception processing SAML Response. Root cause: Failed to decrypt EncryptedData
2023-10-23T19:29:52.807Z | INFO | Operation: Response
Issuance: REMOTE
Local entity ID: https://sso.online.tableau.com/public/sp/metadata/REDACTED
Remote entity ID: https://REDACTED/saml
Recipient: https://sso.online.tableau.com/public/sp/SSO/REDACTED
Binding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
Message: <?xml version="1.0" encoding="UTF-8"?><samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" Destination="https://sso.online.tableau.com/public/sp/SSO/REDACTED" ID="REDACTED" IssueInstant="2023-10-23T19:29:52Z" Version="2.0">
<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">https://REDACTED/saml</Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<EncryptedAssertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
<EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#" Id="ED" Type="http://www.w3.org/2001/04/xmlenc#Element">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey Id="EK" xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"/>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:KeyName/>
<ds:X509Data>
<ds:X509Certificate>REDACTED</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
I'm using a fairly stock setup of saml_idp
gem in ruby on rails. Which I'm signing the response back with the certificate I downloaded from Tableau.
Any Ideas?
Any ideas would be helpful. Thank You.