<!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://secure.gravatar.com/avatar/41d6fdadc73222a8f41a3b66edf7f280?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FVS-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="5f2d07525227f50014ec8a39" style="color:#3b73af;; color: #3b73af; text-decoration: none" id="email_5f2d07525227f50014ec8a39" href="https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=5f2d07525227f50014ec8a39"> Vojtech Sassmann </a> <strong>created</strong> an issue </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 class="page-title-pattern-first-line " style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; padding-top: 10px"> <a href="https://shibboleth.atlassian.net/browse/IDP?atlOrigin=eyJpIjoiZmZkMjNjNmI4NWNlNDBiMWI0YjBkMjQ4ZDExNDc0YTYiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">Identity Provider</a> / <a href="https://shibboleth.atlassian.net/browse/IDP-1900?atlOrigin=eyJpIjoiZmZkMjNjNmI4NWNlNDBiMWI0YjBkMjQ4ZDExNDc0YTYiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-8e73a133-3779-4ad7-81f9-1576791f61ca" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom"></a> <a href="https://shibboleth.atlassian.net/browse/IDP-1900?atlOrigin=eyJpIjoiZmZkMjNjNmI4NWNlNDBiMWI0YjBkMjQ4ZDExNDc0YTYiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">IDP-1900</a> </td> 
                              </tr> 
                              <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/IDP-1900?atlOrigin=eyJpIjoiZmZkMjNjNmI4NWNlNDBiMWI0YjBkMjQ4ZDExNDc0YTYiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">X509ProxyFilter expecting new lines in certificate</a> </span> </td> 
                              </tr> 
                              </tbody>
                              </table> </td> 
                              </tr> 
                              <tr> 
                              <td class="email-content-main mobile-expand  wrapper-special-margin" 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; padding-top: 10px; padding-bottom: 5px" bgcolor="#ffffff"> 
                              <table class="keyvalue-table" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0"> 
                              <tbody>
                              <tr> 
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Issue Type:</th> 
                              <td class="has-icon" style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-avatar-8e73a133-3779-4ad7-81f9-1576791f61ca" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom"> Bug </td> 
                              </tr> 
                              <tr> 
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Assignee:</th> 
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <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> </td> 
                              </tr> 
                              <tr> 
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Components:</th> 
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> Authentication </td> 
                              </tr> 
                              <tr> 
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Created:</th> 
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> 25/Jan/22 9:20 AM </td> 
                              </tr> 
                              <tr> 
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Priority:</th> 
                              <td class="has-icon" style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-static-trivial-97709a3e-3a73-43ca-bf93-58286542da42" height="16" width="16" border="0" align="absmiddle" alt="Trivial" style="vertical-align: text-bottom"> Trivial </td> 
                              </tr> 
                              <tr> 
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Reporter:</th> 
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="5f2d07525227f50014ec8a39" style="color:#3b73af;; color: #3b73af; text-decoration: none" id="email_5f2d07525227f50014ec8a39" href="https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=5f2d07525227f50014ec8a39"> Vojtech Sassmann </a> </td> 
                              </tr> 
                              </tbody>
                              </table> </td> 
                              </tr> 
                              <tr> 
                              <td class="email-content-main mobile-expand  issue-description-container" 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; padding-top: 5px; padding-bottom: 10px" 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-top:0;margin-bottom:10px;; margin: 10px 0 0; margin-top: 0">The `X509ProxyFilter` reads PEM certificates from HTTP headers which are sent from Apache proxy. However, when configured, the filter throws IO Exception error. The problem is with parsing the PEM certificates. The parses expects new line after the ----<del>BEGIN CERTIFICATE</del>--- and before the ----<del>END CERTIFICATE</del>-----. However, these new lines are not sent from the Apache (and as far as I can tell, the Apache cannot be configured to do so). </p> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">I tried to use a modified version of the filter which inserts the newlines into the received certificates, and it worked.</p> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Here is my example configuration of the Apache<br> ```<br> <Location /idp/Authn/X509><br> SSLVerifyClient require<br> SSLVerifyDepth 5<br> SSLOptions +ExportCertData<br> RequestHeader set SSL_CLIENT_CERT "%</p> {SSL_CLIENT_CERT} <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">s"<br> RequestHeader set SSL_CLIENT_CERT_CHAIN_0 "%</p> {SSL_CLIENT_CERT_CHAIN_0} <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">s"<br> RequestHeader set SSL_CLIENT_CERT_CHAIN_1 "%</p> {SSL_CLIENT_CERT_CHAIN_1} <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">s"<br> RequestHeader set SSL_CLIENT_CERT_CHAIN_2 "%</p> {SSL_CLIENT_CERT_CHAIN_2} <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">s"<br> RequestHeader set SSL_CLIENT_CERT_CHAIN_3 "%</p> {SSL_CLIENT_CERT_CHAIN_3} <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">s"<br> RequestHeader set SSL_CLIENT_CERT_CHAIN_4 "%</p> {SSL_CLIENT_CERT_CHAIN_4} <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">s"<br> </Location><br> ``` </p> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Configuration of the filter:<br> ```<br> <filter><br> <filter-name>X509ProxyFilter</filter-name><br> <filter-class>net.shibboleth.idp.authn.impl.X509ProxyFilter</filter-class><br> <!-- Proxied header name for the leaf certificate --><br> <init-param><br> <param-name>leafHeader</param-name><br> <param-value>SSL_CLIENT_CERT</param-value><br> </init-param><br> <!-- Space-separated list of proxied header names for chain certificates. --><br> <init-param><br> <param-name>chainHeaders</param-name><br> <param-value>SSL_CLIENT_CERT_CHAIN_0 SSL_CLIENT_CERT_CHAIN_1 SSL_CLIENT_CERT_CHAIN_2 SSL_CLIENT_CERT_CHAIN_3 SSL_CLIENT_CERT_CHAIN_4</param-value><br> </init-param><br> </filter><br> <filter-mapping><br> <filter-name>X509ProxyFilter</filter-name><br> <url-pattern>/Authn/X509</url-pattern><br> </filter-mapping><br> ```</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/IDP-1900?inbox=true&",
    "name": "View Issue"
      },
  "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/IDP-1900#add-comment?atlOrigin=eyJpIjoiZmZkMjNjNmI4NWNlNDBiMWI0YjBkMjQ4ZDExNDc0YTYiLCJwIjoiaiJ9" 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-f5773835-ef7f-4ba1-88fd-f9e100d9b795" 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/IDP-1900#add-comment?atlOrigin=eyJpIjoiZmZkMjNjNmI4NWNlNDBiMWI0YjBkMjQ4ZDExNDc0YTYiLCJwIjoiaiJ9" 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#100189-<span title="c51f78742616548178bdd6b6442a2600aad197c6" data-commit-id="c51f78742616548178bdd6b6442a2600aad197c6}">sha1:c51f787</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-54d19c39-7955-4bea-9d2d-c5abfa5a8939" 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>