<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 12/29/14 2:48 PM,
      <a class="moz-txt-link-abbreviated" href="mailto:Stephen.CTR.Chappell@faa.gov">Stephen.CTR.Chappell@faa.gov</a> wrote:<br>
    </div>
    <blockquote
cite="mid:2AF57F3BA98ED14499D518E94F44EA5D1D623818@006FCH1MPN2-021.006f.mgd2.msft.net"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 14 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
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">I had thought that iterating over the
          ContentReference list in the
          org.opensaml.xml.signature.Signature would let me validate the
          digest algorithms, if the references were cast to a
          SAMLObjectContentReference, like so:<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
    <br>
    No, unfortunately not.  In both v2 and v3 since most of the
    signature support is based on Apache Santuario, we don't really
    fully unmarshall the original DOM Element data to Java objects.  The
    Signature XMLObject impl is kind of the oddball of all our XMLObject
    provider impls.<br>
    <br>
    <br>
    <br>
    <blockquote
cite="mid:2AF57F3BA98ED14499D518E94F44EA5D1D623818@006FCH1MPN2-021.006f.mgd2.msft.net"
      type="cite">
      <div class="WordSection1"><o:p></o:p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">While it seems that the content references
          are initialized (the transforms appear to be correct, the
          signableObject points to the Assertion, etc), the
          digestAlgorithm is set to a default value (<a
            moz-do-not-send="true"
            href="http://www.w3.org/2000/09/xmldsig#sha1">http://www.w3.org/2000/09/xmldsig#sha1</a>”,

          which is not what is used in the Assertion.</p>
      </div>
    </blockquote>
    <br>
    I actually think in both cases you're just seeing the content
    reference defaults.  The transform ones just happen to be correct
    for your example data.  I don't think we do anything to populate
    those on unmarshalling, as I said above.<br>
    <br>
    <br>
    <blockquote
cite="mid:2AF57F3BA98ED14499D518E94F44EA5D1D623818@006FCH1MPN2-021.006f.mgd2.msft.net"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Is there a way to retrieve the actual
          digest method that was used? I could just parse the original
          SOAPElement, but if there is an OpenSAML-ish way to go about
          it that would be helpful.<br>
        </p>
      </div>
    </blockquote>
    <br>
    <br>
    In v3 we actually have a new similar feature, in that we support an
    algorithm whitelist/blacklist eval.  For that, we just evaluate the
    Signature DOM Element directly:<br>
    <br>
<a class="moz-txt-link-freetext" href="http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/SignatureAlgorithmValidator.java?revision=3984&amp;view=markup">http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/SignatureAlgorithmValidator.java?revision=3984&amp;view=markup</a><br>
    <br>
    <br>
  </body>
</html>