Merge branch 'CT-7160-ctCloudIngest' of github.com:gdicristofaro/autopsy into CT-7161-fileUpload

This commit is contained in:
Greg DiCristofaro 2023-07-26 15:10:54 -04:00
commit 673f623c7b
11 changed files with 33 additions and 30 deletions

View File

@ -4,6 +4,7 @@
<chain name="main">
<ibiblio name="central" root="https://repo1.maven.org/maven2" m2compatible="true"/>
<ibiblio name="maven.restlet.org" root="http://maven.restlet.com" m2compatible="true" />
<ibiblio name="license4j.com" root="http://www.license4j.com/maven/" m2compatible="true" />
</chain>
</resolvers>
<property name="packaging.type" value="jar" />

View File

@ -323,6 +323,7 @@
</test-type>
</test-dependencies>
<public-packages>
<package>com.basistech.df.cybertriage.autopsy.ctoptions.subpanel</package>
<package>net.sf.sevenzipjbinding</package>
<package>net.sf.sevenzipjbinding.impl</package>
<package>net.sf.sevenzipjbinding.simple</package>

View File

@ -24,11 +24,9 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
/**
*
* @author rishwanth
* An exception thrown due to an error that occurs while making a CT Cloud REST
* API request.
*/
public class CTCloudException extends Exception{
private final ErrorCode errorCode;

View File

@ -65,7 +65,7 @@ import org.apache.http.impl.client.WinHttpClients;
import org.sleuthkit.autopsy.coreutils.Version;
/**
* Actually makes the http requests to CT cloud.
* Makes the http requests to CT cloud.
*/
public class CTCloudHttpClient {
@ -293,12 +293,10 @@ public class CTCloudHttpClient {
}
/**
* Creates and returns a CloseableHttpClient SYSTEM and MANUAL looks up from
* runtime proxy config settings. These are updated accordingly from the
* Proxy Config UI. This allows us to keep the CreateConnection call fairly
* simple and not have to deal with the System Proxy settings and such.
*
* @return
* Creates a connection to CT Cloud with the given arguments.
* @param proxySettings The network proxy settings.
* @param sslContext The ssl context or null.
* @return The connection to CT Cloud.
*/
private static CloseableHttpClient createConnection(ProxySettingArgs proxySettings, SSLContext sslContext) {
HttpClientBuilder builder = getHttpClientBuilder(proxySettings);

View File

@ -20,6 +20,9 @@ package com.basistech.df.cybertriage.autopsy.ctapi;
import java.net.URI;
/**
* Constants regarding connections to cyber triage cloud.
*/
final public class Constants {
public static final String CYBER_TRIAGE = "CyberTriage";

View File

@ -18,8 +18,6 @@
*/
package com.basistech.df.cybertriage.autopsy.ctapi;
import java.net.*;
import java.util.*;
import java.util.logging.Level;

View File

@ -41,6 +41,7 @@ public class DecryptedLicenseResponse {
private final String limitType;
private final String timezone;
private final String customerEmail;
private final String customerName;
@JsonCreator
public DecryptedLicenseResponse(
@ -55,7 +56,8 @@ public class DecryptedLicenseResponse {
@JsonProperty("product") String product,
@JsonProperty("limitType") String limitType,
@JsonProperty("timezone") String timezone,
@JsonProperty("customerEmail") String customerEmail
@JsonProperty("customerEmail") String customerEmail,
@JsonProperty("customerName") String customerName
) {
this.boostLicenseId = boostLicenseId;
this.licenseHostId = licenseHostId;
@ -67,6 +69,7 @@ public class DecryptedLicenseResponse {
this.limitType = limitType;
this.timezone = timezone;
this.customerEmail = customerEmail;
this.customerName = customerName;
}
public String getBoostLicenseId() {
@ -108,4 +111,8 @@ public class DecryptedLicenseResponse {
public String getCustomerEmail() {
return customerEmail;
}
public String getCustomerName() {
return customerName;
}
}

View File

@ -26,8 +26,6 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.DateTimeException;
import java.time.Instant;
import java.time.LocalDate;
@ -37,7 +35,6 @@ import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.format.DateTimeParseException;
import java.util.Date;
import java.util.Locale;
import java.util.function.Function;
@ -58,7 +55,6 @@ public class ObjectMapperUtil {
public ObjectMapper getDefaultObjectMapper() {
ObjectMapper defaultMapper = new ObjectMapper();
// defaultMapper.configure(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
defaultMapper.registerModule(new JavaTimeModule());
return defaultMapper;
}

View File

@ -35,7 +35,7 @@ import org.openide.util.Lookup;
import org.sleuthkit.autopsy.ingest.IngestModuleGlobalSettingsPanel;
/**
* Options panel for CyberTriage.
* Options panel for Cyber Triage.
*/
public class CTOptionsPanel extends IngestModuleGlobalSettingsPanel {
@ -46,7 +46,8 @@ public class CTOptionsPanel extends IngestModuleGlobalSettingsPanel {
private final List<CTOptionsSubPanel> subPanels;
/**
* Creates new form CTOptions
* Creates new form CTOptions loading any CTOptionsSubPanel instances to be
* displayed.
*/
public CTOptionsPanel() {
initComponents();

View File

@ -48,7 +48,8 @@ import org.openide.windows.WindowManager;
import org.sleuthkit.autopsy.core.UserPreferences;
/**
* Options panel for CyberTriage options for importing a CyberTriage incident
* Options panel to be displayed in the CTOptionsPanel for settings regarding
* Cyber Triage Malware Scanner settings and license setup.
*/
@ServiceProvider(service = CTOptionsSubPanel.class)
public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel {
@ -75,7 +76,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel {
private volatile AuthTokenFetcher authTokenFetcher = null;
/**
* Creates new form CTIncidentImportOptionsPanel
* Main constructor.
*/
public CTMalwareScannerOptionsPanel() {
initComponents();
@ -461,15 +462,15 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel {
} else {
this.licenseInfoExpiresLabel.setVisible(true);
this.licenseInfoExpiresLabel.setText(Bundle.CTMalwareScannerOptionsPanel_licenseInfo_expires(
this.licenseInfo.getDecryptedLicense().getExpirationDate() == null
? ""
: LICENSE_EXPIRES_FORMAT.format(this.licenseInfo.getDecryptedLicense().getExpirationDate())));
this.licenseInfo.getDecryptedLicense().getExpirationDate() == null
? ""
: LICENSE_EXPIRES_FORMAT.format(this.licenseInfo.getDecryptedLicense().getExpirationDate())));
this.licenseInfoIdLabel.setVisible(true);
this.licenseInfoIdLabel.setText(Bundle.CTMalwareScannerOptionsPanel_licenseInfo_id(this.licenseInfo.getDecryptedLicense().getBoostLicenseId()));
this.licenseInfoIdLabel.setText(Bundle.CTMalwareScannerOptionsPanel_licenseInfo_id(StringUtils.defaultString(this.licenseInfo.getDecryptedLicense().getBoostLicenseId())));
this.licenseInfoUserLabel.setVisible(true);
this.licenseInfoUserLabel.setText(Bundle.CTMalwareScannerOptionsPanel_licenseInfo_userInfo(
"TBD",
this.licenseInfo.getDecryptedLicense().getCustomerEmail()));
StringUtils.defaultString(this.licenseInfo.getDecryptedLicense().getCustomerName()),
StringUtils.defaultString(this.licenseInfo.getDecryptedLicense().getCustomerEmail())));
}
this.malwareScansPanel.setVisible(StringUtils.isNotBlank(this.authTokenMessage) || authTokenResponse != null);

View File

@ -34,8 +34,7 @@ import org.apache.commons.io.IOUtils;
import org.sleuthkit.autopsy.coreutils.Logger;
/**
*
* @author gregd
* Dialog for displaying the Cyber Triage EULA before the license is saved.
*/
public class EULADialog extends javax.swing.JDialog {