package at.chille.crawler.analysis; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.math.BigInteger; import java.security.InvalidAlgorithmParameterException; import java.security.KeyStore; import java.security.PublicKey; import java.security.cert.CertPath; import java.security.cert.CertPathValidator; import java.security.cert.CertPathValidatorException; import java.security.cert.CertificateException; import java.security.cert.CertificateExpiredException; import java.security.cert.CertificateFactory; import java.security.cert.CertificateNotYetValidException; import java.security.cert.CertificateParsingException; import java.security.cert.PKIXCertPathValidatorResult; import java.security.cert.PKIXParameters; import java.security.cert.X509Certificate; import java.security.interfaces.DSAPublicKey; import java.security.interfaces.ECPublicKey; import java.security.interfaces.RSAPublicKey; import java.util.AbstractMap; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import javax.crypto.interfaces.DHPublicKey; import javax.net.ssl.SSLException; import javax.security.auth.x500.X500Principal; import org.apache.http.conn.ssl.BrowserCompatHostnameVerifier; import at.chille.crawler.database.model.Certificate; import at.chille.crawler.database.model.HostInfo; /** * Verificateon Algorithm * * @author chille * */ public class AnalysisRunAll extends Analysis { public AnalysisRunAll() { super(); this.name = "Execute all Analysis and Export"; } public AnalysisRunAll(boolean showDetails) { super(showDetails); this.name = "Execute all Analysis and Export"; } public AnalysisRunAll(long useCrawlingSessionID, boolean showDetails) { super(useCrawlingSessionID, showDetails); this.name = "Execute all Analysis and Export"; } @Override public int analyze() { out.println("Creating Analysis Classes..."); String folder = "./export/"; AnalysisCertificateValid a1 = new AnalysisCertificateValid(false); AnalysisCookies a2 = new AnalysisCookies(false); AnalysisHeader a3 = new AnalysisHeader(false); AnalysisSSL a4 = new AnalysisSSL(false); out.println("Loading HostInfos to analyze..."); Collection<HostInfo> hosts = this.getHostsToAnalyze(); a1.setHostsToAnalyze(hosts); a2.setHostsToAnalyze(hosts); a3.setHostsToAnalyze(hosts); a4.setHostsToAnalyze(hosts); out.println("Analyzing..."); a1.analyze(); a2.analyze(); a3.analyze(); a4.analyze(); out.println("Exporting to files..."); a1.exportToFolder(folder); a2.exportToFolder(folder); a3.exportToFolder(folder); a4.exportToFolder(folder); out.println("Finished..."); return -1; // Exit } }