<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> 
        <base href="https://shibboleth.atlassian.net"> 
        <title>Message Title</title> 
    </head> 
    <body class="jira" style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.429"> 
        <table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0" bgcolor="#f5f5f5"> <!-- header here --> 
            <tbody>
                <tr> 
                    <td id="header-pattern-container" style="padding: 0; border-collapse: collapse; padding: 10px 20px"> 
                        <table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0"> 
                            <tbody>
                              <tr> 
                              <td id="header-avatar-image-container" valign="top" style="padding: 0; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px" width="32"> <img id="header-avatar-image" class="image_fix" src="https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/initials/SC-5.png" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top"> </td> 
                              <td id="header-text-container" valign="middle" style="padding: 0; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> <a class="user-hover" rel="557058:5b78efc9-1379-42cc-a3f6-56c6ea3a0007" style="color:#3b73af;; color: #3b73af; text-decoration: none" id="email_557058:5b78efc9-1379-42cc-a3f6-56c6ea3a0007" href="https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A5b78efc9-1379-42cc-a3f6-56c6ea3a0007"> Scott Cantor </a> <strong>commented</strong> on <a href="https://shibboleth.atlassian.net/browse/JCOMOIDC-41?atlOrigin=eyJpIjoiOTI3MTViNjUwNTlkNGVhNWFhOGU0MzA3OGI0Yjg0OTkiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-d32dba3f-05db-4cfc-8aa9-b8a12bca86d0" height="16" width="16" border="0" align="absmiddle" alt="Task"> JCOMOIDC-41</a> </td> 
                              </tr> 
                            </tbody>
                        </table> </td> 
                </tr> 
                <tr> 
                    <td id="email-content-container" style="padding: 0; border-collapse: collapse; padding: 0 20px"> 
                        <table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; border-spacing: 0; border-collapse: separate"> 
                            <tbody>
                              <tr> <!-- there needs to be content in the cell for it to render in some clients --> 
                              <td class="email-content-rounded-top mobile-expand" style="padding: 0; border-collapse: collapse; color: #ffffff; padding: 0 15px 0 16px; height: 15px; background-color: #ffffff; border-left: 1px solid #cccccc; border-top: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px; height: 10px; line-height: 10px; padding: 0 15px 0 16px; mso-line-height-rule: exactly" height="10" bgcolor="#ffffff"> </td> 
                              </tr> 
                              <tr> 
                              <td class="email-content-main mobile-expand " style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff" bgcolor="#ffffff"> 
                              <table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0"> 
                              <tbody>
                              <tr> 
                              <td style="vertical-align: top;; padding: 0; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" class="page-title-pattern-header-container"> <span class="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"> <a href="https://shibboleth.atlassian.net/browse/JCOMOIDC-41?atlOrigin=eyJpIjoiOTI3MTViNjUwNTlkNGVhNWFhOGU0MzA3OGI0Yjg0OTkiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">Re: Move OIDC Signature Validation resolvers and parameter classes to commons</a> </span> </td> 
                              </tr> 
                              </tbody>
                              </table> </td> 
                              </tr> 
                              <tr> 
                              <td id="text-paragraph-pattern-top" class="email-content-main mobile-expand  comment-top-pattern" style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff; border-bottom: none; padding-bottom: 0" bgcolor="#ffffff"> 
                              <table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px"> 
                              <tbody>
                              <tr> 
                              <td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0; border-collapse: collapse; padding: 0 0 10px"> <p style="margin: 10px 0 0; margin-top: 0">The root interface on the XML side is org.opensaml.xmlsec.signature.support.SignatureTrustEngine, which is TrustEngine<Signature>. What we need (I think) is TrustEngine<SignedJWT> because the signature doesn’t really stand alone in our use cases (I think Jose might allow for detached, but it’s probably much messier to try to generalize all this for no good reason).</p> <p style="margin: 10px 0 0">I suspect that duplicating rather than trying to achieve any reuse of the base classes that implement this interface is probably what we have to go for. org.opensaml.xmlsec.signature.support.impl.BaseSignatureTrustEngine<TrustBasisType> and the ExplicitKey subclass of that are the two classes we need to emulate, along with the various supporting bits, to make this work.</p> <p style="margin: 10px 0 0"><a href="https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A97de0981-adc3-4044-95ed-131622fad81e" class="user-hover" rel="557058:97de0981-adc3-4044-95ed-131622fad81e" data-account-id="557058:97de0981-adc3-4044-95ed-131622fad81e" accountid="557058:97de0981-adc3-4044-95ed-131622fad81e" style="color: #3b73af; text-decoration: none">Brent Putman</a> If you want to see the raw logic that implements signature validation now, it’s all inside net.shibboleth.oidc.security.impl.JWTSignatureValidationUtil (and that class probably shouldn’t even be in impl, since it’s critical for the moment to use in the OIDC plugins. Eventually though it’s the class we need to replace with a new ExplicitKeyTrustEngine that implements SignatureTrustEngine<SignedJWT>.</p> </td> 
                              </tr> 
                              </tbody>
                              </table> </td> 
                              </tr> 
                              <tr> 
                              <td class="email-content-main mobile-expand " style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff" bgcolor="#ffffff"> <script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "description": "View Issue",
  "potentialAction": {
    "@type": "ViewAction",
        "target": "https://shibboleth.atlassian.net/browse/JCOMOIDC-41?inbox=true&focusedCommentId=32056&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-32056",
    "name": "View Comment"
      },
  "publisher": {
    "@type": "Organization",
    "name": "Atlassian",
    "url": "https://www.atlassian.com"
  }
}
</script> 
                              <table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> 
                              <tbody>
                              <tr> 
                              <td id="actions-pattern-container" valign="middle" style="padding: 0; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0"> 
                              <table align="left" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0"> 
                              <tbody>
                              <tr> 
                              <td class="actions-pattern-action-icon-container" style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0; vertical-align: middle"> <a href="https://shibboleth.atlassian.net/browse/JCOMOIDC-41#add-comment?atlOrigin=eyJpIjoiOTI3MTViNjUwNTlkNGVhNWFhOGU0MzA3OGI0Yjg0OTkiLCJwIjoiaiJ9" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none"> <img class="actions-pattern-action-icon-image" src="cid:jira-generated-image-static-comment-icon-93f37dc2-88a5-4612-944c-1b4a249cdf02" alt="Add Comment" title="Add Comment" height="16" width="16" border="0" style="vertical-align: middle"> </a> </td> 
                              <td class="actions-pattern-action-text-container" style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px"> <a href="https://shibboleth.atlassian.net/browse/JCOMOIDC-41#add-comment?atlOrigin=eyJpIjoiOTI3MTViNjUwNTlkNGVhNWFhOGU0MzA3OGI0Yjg0OTkiLCJwIjoiaiJ9" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a> </td> 
                              </tr> 
                              </tbody>
                              </table> </td> 
                              </tr> 
                              </tbody>
                              </table> </td> 
                              </tr> <!-- there needs to be content in the cell for it to render in some clients --> 
                              <tr> 
                              <td class="email-content-rounded-bottom mobile-expand" style="padding: 0; border-collapse: collapse; color: #ffffff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #ffffff; border-top: 0; border-left: 1px solid #cccccc; border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly" height="5" bgcolor="#ffffff"> </td> 
                              </tr> 
                            </tbody>
                        </table> </td> 
                </tr> 
                <tr> 
                    <td id="footer-pattern" style="padding: 0; border-collapse: collapse; padding: 12px 20px"> 
                        <table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0"> 
                            <tbody>
                              <tr> 
                              <td id="footer-pattern-mobile-separated-links" class="mobile-resize-text" width="100%" colspan="2" style="padding: 0; border-collapse: collapse; color: #999999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px"> Get Jira notifications on your phone! Download the Jira Cloud app for <a href="https://play.google.com/store/apps/details?id=com.atlassian.android.jira.core&referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail" style="color: #3b73af; text-decoration: none">Android</a> or <a href="https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailNotificationLink&mt=8" style="color: #3b73af; text-decoration: none">iOS</a> 
                              <hr> </td> 
                              </tr> 
                              <tr> 
                              <td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0; border-collapse: collapse; color: #999999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px"> This message was sent by Atlassian Jira <span id="footer-build-information">(v1001.0.0-SNAPSHOT#100191-<span title="7bb8b76b7f3b1b927905d960e42591c6a2801342" data-commit-id="7bb8b76b7f3b1b927905d960e42591c6a2801342}">sha1:7bb8b76</span>)</span> </td> 
                              <td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0; border-collapse: collapse; padding-left: 20px; vertical-align: top"> 
                              <table style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0"> 
                              <tbody>
                              <tr> 
                              <td id="footer-pattern-logo-desktop-padding" style="padding: 0; border-collapse: collapse; padding-top: 3px; opacity: 0.150"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-d7881a06-b20b-4259-beb0-15949bf3dd6a" alt="Atlassian logo" title="Atlassian logo" width="192" height="24" class="image_fix"> </td> 
                              </tr> 
                              </tbody>
                              </table> </td> 
                              </tr> 
                            </tbody>
                        </table> </td> 
                </tr> 
            </tbody>
        </table>  
    </body>
</html>