<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
@font-face
        {font-family:Aptos;}
@font-face
        {font-family:"Segoe UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
        {font-family:"Roboto Mono";}
@font-face
        {font-family:Menlo-Regular;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:12.0pt;
        font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
span.apple-tab-span
        {mso-style-name:apple-tab-span;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Aptos",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:2038457501;
        mso-list-template-ids:1158820946;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></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]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word;overflow-wrap: break-word;-webkit-nbsp-mode: space;line-break:after-white-space">
<div class="WordSection1">
<p class="MsoNormal">Thanks, Ian. I actually hammered at this long enough that I figured it out last week. Pretty nifty new stuff in 0.10.0!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Now, I have another odd problem. I’ve been signing my metadata with xmlsectool for over a decade. I’m now trying to sign it with the MDA. Using the same key and cert pair that I’ve been using with xmlsectool, the MDA is signing it, but
 signature validation with anything (xmlsectool, the IdP, etc.) is failing. Any thoughts on why based on this limited information or suggestions how I might go about troubleshooting this further?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Keith<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Ian Young <ian@iay.org.uk>
<br>
<b>Sent:</b> Tuesday, September 10, 2024 10:19 AM<br>
<b>To:</b> Shib Users <users@shibboleth.net><br>
<b>Cc:</b> Wessel, Keith <kwessel@illinois.edu><br>
<b>Subject:</b> Re: Can the MDA add entity attributes?<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Once more, with less embedded junk:<o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On 30 Aug 2024, at 15:45, Wessel, Keith via users <users@shibboleth.net> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Menlo-Regular",serif">I think the answer is yes, but only if I do some complicated custom coding to make it happen. But I'm hoping I'm missing something. Can the MDA consume metadata and add entity
 attributes to specific entities before outputting it?</span><o:p></o:p></p>
</div>
</blockquote>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Sorry, I missed this when it came in so this reply is rather delayed. I hope it's still relevant.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">In 0.9.x and earlier, this could be a bit tricky, as you imply. I used XSL transforms in many cases, but that's not for everyone. So, MDA 0.10.0 added a stage specifically for this use case. From the release notes:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><a href="https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/1495859647/Version+0.10.x">https://shibboleth.atlassian.net/wiki/spaces/MA1/pages/1495859647/Version+0.10.x</a><o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<ul type="disc">
<li class="MsoNormal" style="color:#172B4D;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1;margin-top:var(--ds-space-050,4px)">
<span style="font-family:"Segoe UI",sans-serif;letter-spacing:-.05pt"><a href="https://issues.shibboleth.net/jira/browse/MDA-56" title="https://issues.shibboleth.net/jira/browse/MDA-56"><span style="text-decoration:none">MDA-56</span></a>: A new stage </span><code><span style="font-size:10.5pt;font-family:"Roboto Mono";letter-spacing:-.05pt;border:none windowtext 1.0pt;padding:0in">EntityAttributeAddingStage</span></code><span style="font-family:"Segoe UI",sans-serif;letter-spacing:-.05pt">
 has been added to add entity attributes to the metadata for SAML entities. This is configured using </span><code><span style="font-size:10.5pt;font-family:"Roboto Mono";letter-spacing:-.05pt;border:none windowtext 1.0pt;padding:0in">attributeName</span></code><span style="font-family:"Segoe UI",sans-serif;letter-spacing:-.05pt">, </span><code><span style="font-size:10.5pt;font-family:"Roboto Mono";letter-spacing:-.05pt;border:none windowtext 1.0pt;padding:0in">attributeNameFormat</span></code><span style="font-family:"Segoe UI",sans-serif;letter-spacing:-.05pt"> and </span><code><span style="font-size:10.5pt;font-family:"Roboto Mono";letter-spacing:-.05pt;border:none windowtext 1.0pt;padding:0in">attributeValue</span></code><span style="font-family:"Segoe UI",sans-serif;letter-spacing:-.05pt">
 properties, with </span><code><span style="font-size:10.5pt;font-family:"Roboto Mono";letter-spacing:-.05pt;border:none windowtext 1.0pt;padding:0in">attributeName</span></code><span style="font-family:"Segoe UI",sans-serif;letter-spacing:-.05pt"> and
</span><code><span style="font-size:10.5pt;font-family:"Roboto Mono";letter-spacing:-.05pt;border:none windowtext 1.0pt;padding:0in">attributeNameFormat</span></code><span style="font-family:"Segoe UI",sans-serif;letter-spacing:-.05pt"> defaulting to the values
 required to add an entity category attribute. The stage is based on a new </span><code><span style="font-size:10.5pt;font-family:"Roboto Mono";letter-spacing:-.05pt;border:none windowtext 1.0pt;padding:0in">Container</span></code><span style="font-family:"Segoe UI",sans-serif;letter-spacing:-.05pt">
 framework which attempts to generate reasonably well formatted XML for nested container elements, and handles the insertion of the required parent containers (</span><code><span style="font-size:10.5pt;font-family:"Roboto Mono";letter-spacing:-.05pt;border:none windowtext 1.0pt;padding:0in">Extensions</span></code><span style="font-family:"Segoe UI",sans-serif;letter-spacing:-.05pt">,
</span><code><span style="font-size:10.5pt;font-family:"Roboto Mono";letter-spacing:-.05pt;border:none windowtext 1.0pt;padding:0in">EntityAttributes</span></code><span style="font-family:"Segoe UI",sans-serif;letter-spacing:-.05pt">,
</span><code><span style="font-size:10.5pt;font-family:"Roboto Mono";letter-spacing:-.05pt;border:none windowtext 1.0pt;padding:0in">Attribute</span></code><span style="font-family:"Segoe UI",sans-serif;letter-spacing:-.05pt">) when they are not already present.<o:p></o:p></span></li></ul>
</div>
</blockquote>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">So, it's a lot more straightforward now. If you need more information, let me know more about what you're trying to do and I'll think about adding to the examples.<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal"><span class="apple-tab-span"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black">C</span></span><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black">heers,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black">    -- Ian<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>