* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.logging;
+import static java.util.Base64.getDecoder;
+
import ch.qos.logback.access.pattern.AccessConverter;
import ch.qos.logback.access.spi.IAccessEvent;
+
import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
-import javax.security.auth.x500.X500Principal;
-import javax.servlet.http.HttpServletRequest;
import java.security.cert.X509Certificate;
-import static java.util.Base64.getDecoder;
+import javax.security.auth.x500.X500Principal;
+import javax.servlet.http.HttpServletRequest;
public class CNName extends AccessConverter {
- private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(CNName.class);
-
- /**
- * Converts access events to String response codes
- *
- * @param accessEvent the IAccessEvent
- */
- public String convert(IAccessEvent accessEvent) {
- if (!isStarted()) {
- return "INACTIVE_HEADER_CONV";
- }
-
- String cipherSuite = (String) accessEvent.getRequest().getAttribute("javax.servlet.request.cipher_suite");
- String authUser = null;
- if (cipherSuite != null) {
- try {
+ private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(CNName.class);
+
+ /**
+ * Converts access events to String response codes
+ *
+ * @param accessEvent the IAccessEvent
+ */
+ public String convert(IAccessEvent accessEvent) {
+ if (!isStarted()) {
+ return "INACTIVE_HEADER_CONV";
+ }
+
+ String cipherSuite = (String) accessEvent.getRequest().getAttribute("javax.servlet.request.cipher_suite");
+ String authUser = null;
+ if (cipherSuite != null) {
+ try {
X509Certificate certChain[] = (X509Certificate[]) accessEvent.getRequest()
.getAttribute("javax.servlet.request.X509Certificate");
- if(certChain == null || certChain.length == 0){
+ if (certChain == null || certChain.length == 0) {
- HttpServletRequest request = accessEvent.getRequest();
+ HttpServletRequest request = accessEvent.getRequest();
- String authorization = request.getHeader("Authorization");
+ String authorization = request.getHeader("Authorization");
// Set the auth user to "-" so if the authorization header is not found
- // Or if the decoded basic auth credentials are not found in the format required
- // it should return "-"
- // If the decoded string is in the right format, find the index of ":"
+ // Or if the decoded basic auth credentials are not found in the format required
+ // it should return "-"
+ // If the decoded string is in the right format, find the index of ":"
// Then get the substring of the starting point to the colon not including the colon
authUser = "-";
- if(authorization != null && authorization.startsWith("Basic ")){
- String credentials = authorization.replace("Basic ", "");
+ if (authorization != null && authorization.startsWith("Basic ")) {
+ String credentials = authorization.replace("Basic ", "");
byte[] userCredentials = getDecoder().decode(credentials.getBytes("utf-8"));
credentials = new String(userCredentials);
- int codePoint = credentials.indexOf(':');
+ int codePoint = credentials.indexOf(':');
- if(codePoint != -1){
+ if (codePoint != -1) {
authUser = credentials.substring(0, codePoint);
- }
-
- }
-
- return authUser;
-
- } else {
- X509Certificate clientCert = certChain[0];
- X500Principal subjectDN = clientCert.getSubjectX500Principal();
- authUser = subjectDN.toString();
- return authUser;
- }
- } catch(Exception e){
- LOGGER.error(e.getMessage(),e);
- return "-";
- }
- } else {
- return "-";
- }
- }
+ }
+
+ }
+
+ return authUser;
+
+ } else {
+ X509Certificate clientCert = certChain[0];
+ X500Principal subjectDN = clientCert.getSubjectX500Principal();
+ authUser = subjectDN.toString();
+ return authUser;
+ }
+ } catch (Exception e) {
+ LOGGER.error(e.getMessage(), e);
+ return "-";
+ }
+ } else {
+ return "-";
+ }
+ }
}