<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 9/8/21 5:21 AM, Bergmann, Clemens
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:aeba0c6334954ff2ae8aa73bb9994a5b@tu-darmstadt.de">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style>@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}span.E-MailFormatvorlage17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}div.WordSection1
{page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><font size="2" face="Calibri"><span
style="font-size:11.0pt">Hi,<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span
style="font-size:11.0pt"><o:p> </o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span
style="font-size:11.0pt" lang="EN-US">I want to disable
encryption of assertions for one of our test SPs.<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span
style="font-size:11.0pt" lang="EN-US">I tried to implement
it with a predicate passed as p:encryptAssertions-ref.<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span
style="font-size:11.0pt" lang="EN-US">Part of my
configuration is below.<o:p></o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span
style="font-size:11.0pt" lang="EN-US"><o:p> </o:p></span></font></p>
<p class="MsoNormal"><font size="2" face="Calibri"><span
style="font-size:11.0pt" lang="EN-US">Unfortunately I get
an error stating “nested exception is
java.lang.IllegalArgumentException: Cannot convert value
of type
'net.shibboleth.utilities.java.support.logic.PredicateSupport$$Lambda$678/0x0000000840ee1840'
to required type 'boolean' for property
'encryptAssertions'”</span></font></p>
</div>
</blockquote>
<p><br>
</p>
<p>Short answer: Instead of encryptAssertions-ref as the property
name, use encryptAssertionsPredicate-ref instead.</p>
<p>Use of a Predicate instance is an edge case that we don't
document explicitly in the wiki, but do implicitly. On the doc
page for that profile config:</p>
<p><a class="moz-txt-link-freetext" href="https://shibboleth.atlassian.net/wiki/spaces/IDP4/pages/1265631694/SAML2SSOConfiguration">https://shibboleth.atlassian.net/wiki/spaces/IDP4/pages/1265631694/SAML2SSOConfiguration</a><br>
</p>
<p>we do say:</p>
<p>"The most typical options used are described in more detail
below, but not every obscure option is discussed. See the <a
href="http://shibboleth.net/cgi-bin/java-idp.cgi/net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration">javadoc</a>
for all of the possible configuration options for this profile
(note that many of them are inherited from parent classes)."</p>
<p>If one follows the Javadoc link and looks up the parent class
hierarchy, you will see that the actual property setters live
here:</p>
<p><a class="moz-txt-link-freetext" href="http://shibboleth.net/sites/release/java-identity-provider/4.1.4/apidocs/net/shibboleth/idp/saml/saml2/profile/config/AbstractSAML2ProfileConfiguration.html">http://shibboleth.net/sites/release/java-identity-provider/4.1.4/apidocs/net/shibboleth/idp/saml/saml2/profile/config/AbstractSAML2ProfileConfiguration.html</a></p>
<p>and that shows the setters for both the boolean and Predicate
cases.</p>
<p>Under the covers, most of the actual boolean setters are really
just convenience methods for delegating to the Predicate setters
with "always true/false" Predicates, and so the Predicates are
what are actually stored and used at runtime.<br>
</p>
<p>Thanks,<br>
Brent<br>
</p>
</body>
</html>