Class NvdApiDataSource

java.lang.Object
org.owasp.dependencycheck.data.update.NvdApiDataSource
All Implemented Interfaces:
CachedWebDataSource

public class NvdApiDataSource extends Object implements CachedWebDataSource
Author:
Jeremy Long
  • Constructor Details

    • NvdApiDataSource

      public NvdApiDataSource()
  • Method Details

    • update

      public boolean update(Engine engine) throws UpdateException
      Description copied from interface: CachedWebDataSource
      Determines if an update to the current data store is needed, if it is the new data is downloaded from the Internet and imported into the current cached data store.
      Specified by:
      update in interface CachedWebDataSource
      Parameters:
      engine - a reference to the dependency-check engine
      Returns:
      whether or not an update was made to the CveDB
      Throws:
      UpdateException - is thrown if there is an exception downloading the data or updating the data store.
    • purge

      public boolean purge(Engine engine)
      Description copied from interface: CachedWebDataSource
      Deletes any locally cached data.
      Specified by:
      purge in interface CachedWebDataSource
      Parameters:
      engine - a reference to the dependency-check engine
      Returns:
      true if the purge was successful; otherwise false
    • getUpdatesNeeded

      protected final Map<String,String> getUpdatesNeeded(NvdApiDataSource.FeedUrl feedUrl, Properties cacheProperties, ZonedDateTime now) throws UpdateException
      Determines if the index needs to be updated. This is done by fetching the NVD CVE meta data and checking the last update date. If the data needs to be refreshed this method will return the NvdCveUrl for the files that need to be updated.
      Parameters:
      feedUrl - a parsed NVD cache / data feed URL
      cacheProperties - the properties from the remote NVD API cache or data feed
      now - the start time of the update process
      Returns:
      the map of key to URLs - where the key is the year or `modified`
      Throws:
      UpdateException - Is thrown if there is an issue with the last updated properties file
    • getRemoteDataFeedCacheProperties

      protected final Properties getRemoteDataFeedCacheProperties(NvdApiDataSource.FeedUrl dataFeedUrl) throws UpdateException
      Downloads the metadata properties of the NVD API cache / data feed.
      Parameters:
      dataFeedUrl - a parsed NVD cache / data feed URL
      Returns:
      the cache properties
      Throws:
      UpdateException - thrown if the properties file could not be downloaded