<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Ok. I didn't literally mean remove those exact lines. I meant
remove what those are doing re adding the redundant empty AR.
Obviously you still need the Conditions element, etc.</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 2/15/19 4:09 PM, o haya wrote:<br>
</div>
<blockquote type="cite"
cite="mid:696371041.1769451.1550264980593@mail.yahoo.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div class="ydpd17dc26dyahoo-style-wrap"
style="font-family:Helvetica Neue, Helvetica, Arial,
sans-serif;font-size:16px;">
<div>Hi,</div>
<div><br>
</div>
<div>I was able to get it to work now. I had to add back
(uncomment) the lines where the conditions and condition were
created.</div>
<div><br>
</div>
<div>Thanks!</div>
<div><br>
</div>
<div>Jim</div>
<div><br>
</div>
<div>P.S. BTW, and yes, I will look into moving to a newer
version of OpenSAML, but I ran into some problems trying to
use the newer one before, but I wanted to try to get something
working first.</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
</div>
<div id="ydp4ca3d730yahoo_quoted_1222857273"
class="ydp4ca3d730yahoo_quoted">
<div style="font-family:'Helvetica Neue', Helvetica, Arial,
sans-serif;font-size:13px;color:#26282a;">
<div> On Friday, February 15, 2019, 3:42:11 PM EST, o haya
<a class="moz-txt-link-rfc2396E" href="mailto:ohaya@yahoo.com"><ohaya@yahoo.com></a> wrote: </div>
<div><br>
</div>
<div><br>
</div>
<div>
<div dir="ltr">Hi,<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Thanks, maybe I am mis-reading what you were
suggesting (the formatting on Yahoo email may be bad), but
if I remove the parts that you mentioned:<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">====================================================================================================================================<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">><br>
</div>
<div dir="ltr">> The part of my code that is building
that is:<br>
</div>
<div dir="ltr">><br>
</div>
<div dir="ltr">> SAMLObjectBuilder
audienceRestrictionConditionBuilder = (SAMLObjectBuilder)
SAMLWriter.getSAMLBuilder().getBuilder(AudienceRestriction.DEFAULT_ELEMENT_NAME);<br>
</div>
<div dir="ltr">> Condition condition =
(Condition)
audienceRestrictionConditionBuilder.buildObject();<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Here you are building the empty one ...<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">><br>
</div>
<div dir="ltr">> SAMLObjectBuilder
conditionsBuilder = (SAMLObjectBuilder)
SAMLWriter.getSAMLBuilder().getBuilder(Conditions.DEFAULT_ELEMENT_NAME);<br>
</div>
<div dir="ltr">> Conditions conditions =
(Conditions) conditionsBuilder.buildObject();<br>
</div>
<div dir="ltr">>
conditions.getConditions().add(condition);<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">... and here you are adding the empty one to
the Conditions. You don't need to do this, or the above.<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">====================================================================================================================================<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">both "conditions" and "condition" are
undefined?<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Like I said, I may be
mis-reading/misunderstanding what you were suggesting, but
I think that this is what I got when I commented out the
lines you mentioned:<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"> conditions.setNotBefore(now);<br>
</div>
<div dir="ltr"> conditions.setNotOnOrAfter(now2);<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> SAMLObjectBuilder
audienceRestrictionnBuilder = null;<br>
</div>
<div dir="ltr"> SAMLObjectBuilder audienceBuilder
= null;<br>
</div>
<div dir="ltr"> audienceRestrictionnBuilder =
(SAMLObjectBuilder)
getSAMLBuilder().getBuilder(AudienceRestriction.DEFAULT_ELEMENT_NAME);<br>
</div>
<div dir="ltr"> audienceBuilder =
(SAMLObjectBuilder)
getSAMLBuilder().getBuilder(Audience.DEFAULT_ELEMENT_NAME);<br>
</div>
<div dir="ltr"> String audienceURI = "<a
href="https://sandboxdtm01.xxx.dev/fed" rel="nofollow"
target="_blank" moz-do-not-send="true">https://sandboxdtm01.xxx.dev/fed</a>";<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> // Create the audience<br>
</div>
<div dir="ltr"> Audience audience = (Audience)
audienceBuilder.buildObject();<br>
</div>
<div dir="ltr">
audience.setAudienceURI(audienceURI);<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"> // Create the audience
restriction<br>
</div>
<div dir="ltr"> AudienceRestriction
audienceRestriction = (AudienceRestriction)
audienceRestrictionnBuilder.buildObject();<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"> // add in the audience<br>
</div>
<div dir="ltr">
audienceRestriction.getAudiences().add(audience);<br>
</div>
<div dir="ltr">
conditions.getAudienceRestrictions().add(audienceRestriction);<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Jim<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">--------------------------------------------<br>
</div>
<div dir="ltr">On Fri, 2/15/19, Brent Putman <<a
href="mailto:putmanb@georgetown.edu" rel="nofollow"
target="_blank" moz-do-not-send="true">putmanb@georgetown.edu</a>>
wrote:<br>
</div>
<div dir="ltr"><br>
</div>
<div dir="ltr"> Subject: Re: New here - OpenSAML and
conditions/audience restrictions problem<br>
</div>
<div dir="ltr"> To: <a href="mailto:dev@shibboleth.net"
rel="nofollow" target="_blank" moz-do-not-send="true">dev@shibboleth.net</a><br>
</div>
<div dir="ltr"> Date: Friday, February 15, 2019, 3:10 PM<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> On 2/15/19<br>
</div>
<div dir="ltr"> 2:55 PM, o haya wrote:<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> I am just getting started with OpenSAML, and
using Java and<br>
</div>
<div dir="ltr"> OpenSAML 2.6.6 <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> Don't. Use the latest 3.x OpenSAML 2.x
has<br>
</div>
<div dir="ltr"> been End Of Life for<br>
</div>
<div dir="ltr"> over 2.5 years at this point. See the
announcement and<br>
</div>
<div dir="ltr"> links here:<br>
</div>
<div dir="ltr"> <a
href="https://wiki.shibboleth.net/confluence/display/OpenSAML/Home"
rel="nofollow" target="_blank" moz-do-not-send="true">https://wiki.shibboleth.net/confluence/display/OpenSAML/Home</a><br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> There's absolutely no reason to start a
new<br>
</div>
<div dir="ltr"> project with 2.x,<br>
</div>
<div dir="ltr"> and it is indeed a bad idea due to
security<br>
</div>
<div dir="ltr"> vulnerabilities which<br>
</div>
<div dir="ltr"> have been fixed since it went EOL.<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> I have code now that, in fact does add the<br>
</div>
<div dir="ltr"> <Conditions>, but I am ending up with
two<br>
</div>
<div dir="ltr"> <saml:AudienceRestriction> elements. <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> Yes, you are adding it twice.<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> whereas I think that what I want is (i.e.,
just the one<br>
</div>
<div dir="ltr"> saml2:AudienceRestriction with the URI):<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <saml2:Conditions<br>
</div>
<div dir="ltr"> NotOnOrAfter="2019-02-15T19:27:56.620Z"<br>
</div>
<div dir="ltr"> NotBefore="2019-02-15T19:27:56.603Z"><br>
</div>
<div dir="ltr"> <saml2:AudienceRestriction><br>
</div>
<div dir="ltr"> <saml2:Audience><a
href="https://sandboxdtm01.xxx.dev/fed" rel="nofollow"
target="_blank" moz-do-not-send="true">https://sandboxdtm01.xxx.dev/fed</a></saml2:Audience><br>
</div>
<div dir="ltr"> </saml2:AudienceRestriction><br>
</div>
<div dir="ltr"> </saml2:Conditions><br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> Correct. An empty AudienceRestriction
would not make<br>
</div>
<div dir="ltr"> any sense.<br>
</div>
<div dir="ltr"> It might even be schema-invalid, I'd
have to<br>
</div>
<div dir="ltr"> check.<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> The part of my code that is building that
is:<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> SAMLObjectBuilder<br>
</div>
<div dir="ltr"> audienceRestrictionConditionBuilder =
(SAMLObjectBuilder)<br>
</div>
<div dir="ltr">
SAMLWriter.getSAMLBuilder().getBuilder(AudienceRestriction.DEFAULT_ELEMENT_NAME);<br>
</div>
<div dir="ltr"> Condition condition = (Condition)<br>
</div>
<div dir="ltr">
audienceRestrictionConditionBuilder.buildObject();<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> Here you are building the empty one ...<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> SAMLObjectBuilder
conditionsBuilder =<br>
</div>
<div dir="ltr"> (SAMLObjectBuilder)<br>
</div>
<div dir="ltr">
SAMLWriter.getSAMLBuilder().getBuilder(Conditions.DEFAULT_ELEMENT_NAME);<br>
</div>
<div dir="ltr"> Conditions conditions =
(Conditions)<br>
</div>
<div dir="ltr"> conditionsBuilder.buildObject();<br>
</div>
<div dir="ltr">
conditions.getConditions().add(condition);<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> ... and here you are adding the empty one
to the<br>
</div>
<div dir="ltr"> Conditions. You<br>
</div>
<div dir="ltr"> don't need to do this, or the above.<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> // Create the audience
restriction<br>
</div>
<div dir="ltr"> AudienceRestriction
audienceRestriction =<br>
</div>
<div dir="ltr"> (AudienceRestriction)<br>
</div>
<div dir="ltr"> audienceRestrictionnBuilder.buildObject();<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> // add in the audience<br>
</div>
<div dir="ltr">
audienceRestriction.getAudiences().add(audience);<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr">
conditions.getAudienceRestrictions().add(audienceRestriction);<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> And here you are adding the non-empty
one, which is<br>
</div>
<div dir="ltr"> the code to<br>
</div>
<div dir="ltr"> keep.<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> It seems like just instantiating the builder
is making the<br>
</div>
<div dir="ltr"> empty saml2:AudienceRestriction, but I don't
know how to<br>
</div>
<div dir="ltr"> make an "empty" builder?<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> No, that's not correct. Instantiating a
builder<br>
</div>
<div dir="ltr"> does not make<br>
</div>
<div dir="ltr"> anything (other than the builder of
course). Calling<br>
</div>
<div dir="ltr"> one of the<br>
</div>
<div dir="ltr"> build(...) methods is what makes the
SAMLObject. So<br>
</div>
<div dir="ltr"> there's no<br>
</div>
<div dir="ltr"> such thing as an "empty" builder.<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> -- <br>
</div>
<div dir="ltr"> To unsubscribe from this list send an email
to<br>
</div>
<div dir="ltr"> <a
href="mailto:dev-unsubscribe@shibboleth.net"
rel="nofollow" target="_blank" moz-do-not-send="true">dev-unsubscribe@shibboleth.net</a><br>
</div>
<div dir="ltr"> -----Inline Attachment Follows-----<br>
</div>
<div dir="ltr"> <br>
</div>
<div dir="ltr"> </div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
</blockquote>
</body>
</html>