package burp; import gui.CertificateTab; import java.io.FileNotFoundException; import java.io.PrintStream; import application.CertificateTabController; import application.SAMLHighlighter; import application.SamlTabController; public class BurpExtender implements IBurpExtender, IMessageEditorTabFactory { private IBurpExtenderCallbacks callbacks; private CertificateTab certificateTab; private CertificateTabController certificateTabController; private SAMLHighlighter samlHighlighter = new SAMLHighlighter(); @Override public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) { this.callbacks = callbacks; if (helpers.Flags.DEBUG) { PrintStream errStream; try { errStream = new PrintStream("SAMLRaiderDebug.log"); System.setErr(errStream); System.setOut(errStream); } catch (FileNotFoundException ex) { System.out.println("Log creation failed"); } } callbacks.setExtensionName("SAML Raider"); certificateTab = new CertificateTab(); callbacks.customizeUiComponent(certificateTab); certificateTabController = new CertificateTabController(certificateTab); certificateTab.setCertificateTabController(certificateTabController); callbacks.addSuiteTab(certificateTabController); callbacks.registerMessageEditorTabFactory(this); callbacks.registerHttpListener(samlHighlighter); } @Override public IMessageEditorTab createNewInstance(IMessageEditorController controller, boolean editable) { SamlTabController samlTabController = new SamlTabController(callbacks, editable, certificateTabController); samlHighlighter.setSamlTabController(samlTabController); return samlTabController; } }