Package de.xima.fc.security.malware
Class MalwareScanner
- java.lang.Object
-
- de.xima.fc.security.malware.MalwareScanner
-
public final class MalwareScanner extends Object
Utility class that scans files and data for malware.- Since:
- 7.0.13
- Author:
- XIMA MEDIA GmbH
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MalwareScanner
forClientScope(Mandant client)
Creates a malware scanner that includes client-scoped malware plugins.static MalwareScanner
forClientScope(UUID clientUuid)
Creates a malware scanner that includes client-scoped malware plugins.static MalwareScanner
forScope(WorkspaceScope scope)
Creates a malware scanner for the given workspace scope.static MalwareScanner
forSystemScope()
Creates a malware scanner that only includes system-scoped malware plugins.MalwareScanReport
scanBase64Data(String base64EncodedData)
Scans a base64 encoded string with data for malware and returns a report with the scan result.MalwareScanReport
scanData(byte[] data)
Scans some data for malware and returns a report with the scan result.MalwareScanReport
scanFile(File file, boolean deleteOnMalware)
Scans a file for malware and returns a report with the scan result.MalwareScanReport
scanFile(Path file, boolean deleteOnMalware)
Scans a file for malware and returns a report with the scan result.MalwareScanReport
scanFileItem(org.apache.commons.fileupload.FileItem fileItem, boolean deleteOnMalware)
Scans a file item for malware and returns a report with the scan result.MalwareScanReport
scanStream(InputStream inputStream)
Scans some data for malware and returns a report with the scan result.MalwareScanReport
scanUploadedFile(org.primefaces.model.file.UploadedFile uploadedFile, boolean deleteOnMalware)
Scans a file item for malware and returns a report with the scan result.
-
-
-
Method Detail
-
scanBase64Data
public MalwareScanReport scanBase64Data(String base64EncodedData)
Scans a base64 encoded string with data for malware and returns a report with the scan result. Note that this method may not create a file on the file system when the malware plugin supports stream scanning.- Parameters:
base64EncodedData
- Raw data to scan.- Returns:
- A report with the result of the malware scan.
-
scanData
public MalwareScanReport scanData(byte[] data)
Scans some data for malware and returns a report with the scan result. Note that this method may not create a file on the file system when the malware plugin supports stream scanning.- Parameters:
data
- Raw data to scan.- Returns:
- A report with the result of the malware scan.
-
scanFile
public MalwareScanReport scanFile(File file, boolean deleteOnMalware)
Scans a file for malware and returns a report with the scan result.- Parameters:
file
- A file to scan.deleteOnMalware
- Iftrue
, the file is deleted immediately once malware was found.- Returns:
- A report with the result of the malware scan.
-
scanFile
public MalwareScanReport scanFile(Path file, boolean deleteOnMalware)
Scans a file for malware and returns a report with the scan result.- Parameters:
file
- A file to scan.deleteOnMalware
- Iftrue
, the file is deleted immediately once malware was found.- Returns:
- A report with the result of the malware scan. Use
MalwareScanReport.isSafe()
to check whether the file may contain malware.
-
scanFileItem
public MalwareScanReport scanFileItem(org.apache.commons.fileupload.FileItem fileItem, boolean deleteOnMalware)
Scans a file item for malware and returns a report with the scan result.- Parameters:
fileItem
- A file to scan.deleteOnMalware
- Iftrue
, the file is deleted immediately once malware was found.- Returns:
- A report with the result of the malware scan.
-
scanStream
public MalwareScanReport scanStream(InputStream inputStream)
Scans some data for malware and returns a report with the scan result. Note that this method may not create a file on the file system when the malware plugin supports stream scanning.- Parameters:
inputStream
- Input stream with the data to scan. The input stream must be closed externally.- Returns:
- A report with the result of the malware scan.
-
scanUploadedFile
public MalwareScanReport scanUploadedFile(org.primefaces.model.file.UploadedFile uploadedFile, boolean deleteOnMalware)
Scans a file item for malware and returns a report with the scan result.- Parameters:
uploadedFile
- A file to scan.deleteOnMalware
- Iftrue
, the file is deleted immediately once malware was found.- Returns:
- A report with the result of the malware scan.
-
forClientScope
public static MalwareScanner forClientScope(Mandant client)
Creates a malware scanner that includes client-scoped malware plugins.- Parameters:
client
- Client scope to use.- Returns:
- A new malware scanner.
-
forClientScope
public static MalwareScanner forClientScope(UUID clientUuid)
Creates a malware scanner that includes client-scoped malware plugins.- Parameters:
clientUuid
- Client scope to use.- Returns:
- A new malware scanner.
-
forScope
public static MalwareScanner forScope(WorkspaceScope scope)
Creates a malware scanner for the given workspace scope. For system scopes, the malware scanner considers only system-scoped malware plugins. For client scopes, it considers system plugin and plugin within the scope of that client.- Parameters:
scope
- Scope for which to get a malware scanner.- Returns:
- A new malware scanner.
-
forSystemScope
public static MalwareScanner forSystemScope()
Creates a malware scanner that only includes system-scoped malware plugins.- Returns:
- A new malware scanner.
-
-