[#212] Added functionality to process and display RIM files. (#226)

* Some initial additions to the details page for displaying Rim information.

* Initial changes for uploading a rim file.

* This is an update to the display of the Reference Integrity Manifest code base that'll allow a user to upload a swidtag.  This code includes some additions from #217, slightly modified.

* This code update include changes to import, archive and delete a swidtag into the RIM object.

* This commit consolidated the SwidTagGatway code and Constants into Reference Manifest.

* This is the final main push of code that will upload, process, store, retrive/delete and display the contents of a RIM swid tag.

* Interim commit for demo purposes.

* Updated Unit Tests

* This commit adds the unit tests that weren't added in the previous commit

* Updated code to reduce execution time when processing reference manifest objects.

* Updated code for better GUI performance.

* Removed previously added suppression entries.
This commit is contained in:
Cyrus 2020-02-21 11:16:46 -05:00 committed by GitHub
parent 1f52dd3c27
commit 4a6115f443
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
66 changed files with 9386 additions and 170 deletions

View File

@ -35,33 +35,36 @@ import hirs.persist.DBDeviceGroupManager;
import hirs.persist.DBDeviceManager;
import hirs.persist.DeviceGroupManager;
import hirs.persist.DeviceManager;
import hirs.persist.ReferenceManifestManager;
import hirs.persist.DBReferenceManifestManager;
import hirs.persist.HibernateConfiguration;
import hirs.structs.converters.SimpleStructConverter;
import hirs.structs.converters.StructConverter;
import hirs.utils.LogConfigurationUtil;
/**
* Provides application context configuration for the Attestation Certificate Authority
* application. The properties are processed in order and as such, the last property file read in
* will override properties that may had already been defined previously. In other words, the
* 'defaults.properties' file provides a basic standard of properties that can be overrode by the
* Provides application context configuration for the Attestation Certificate
* Authority application. The properties are processed in order and as such, the
* last property file read in will override properties that may had already been
* defined previously. In other words, the 'defaults.properties' file provides a
* basic standard of properties that can be overrode by the
*/
@Configuration
@PropertySources({
@PropertySource(value = "classpath:defaults.properties"),
@PropertySource(value = "classpath:defaults.properties"),
// detects if file exists, if not, ignore errors
@PropertySource(value = "file:/etc/hirs/aca/aca.properties",
ignoreResourceNotFound = true)
// detects if file exists, if not, ignore errors
@PropertySource(value = "file:/etc/hirs/aca/aca.properties",
ignoreResourceNotFound = true)
})
@ComponentScan({ "hirs.attestationca", "hirs.attestationca.service", "hirs.attestationca.rest",
"hirs.validation", "hirs.data.service" })
"hirs.validation", "hirs.data.service" })
@Import(HibernateConfiguration.class)
@EnableWebMvc
public class AttestationCertificateAuthorityConfiguration extends WebMvcConfigurerAdapter {
private static final Logger LOG =
LogManager.getLogger(AttestationCertificateAuthorityConfiguration.class);
private static final Logger LOG
= LogManager.getLogger(AttestationCertificateAuthorityConfiguration.class);
static {
try {
@ -91,10 +94,9 @@ public class AttestationCertificateAuthorityConfiguration extends WebMvcConfigur
@Autowired
private LocalSessionFactoryBean sessionFactory;
/**
* @return bean to resolve injected annotation.Value
* property expressions for beans.
* @return bean to resolve injected annotation.Value property expressions
* for beans.
*/
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
@ -102,8 +104,9 @@ public class AttestationCertificateAuthorityConfiguration extends WebMvcConfigur
}
/**
* Initialization of the ACA. Detects environment and runs configuration methods as required.
* This method is intended to be invoked by the Spring application context.
* Initialization of the ACA. Detects environment and runs configuration
* methods as required. This method is intended to be invoked by the Spring
* application context.
*/
@PostConstruct
void initialize() {
@ -184,7 +187,8 @@ public class AttestationCertificateAuthorityConfiguration extends WebMvcConfigur
}
/**
* @return the {@link java.security.KeyStore} that contains the certificates for the ACA.
* @return the {@link java.security.KeyStore} that contains the certificates
* for the ACA.
*/
@Bean
public KeyStore keyStore() {
@ -198,16 +202,17 @@ public class AttestationCertificateAuthorityConfiguration extends WebMvcConfigur
} catch (Exception e) {
LOG.error(String.format(
"Encountered error while loading ACA key store. The most common issue is "
+ "that configured password does not work on the configured key"
+ " store %s.", keyStorePath));
+ "that configured password does not work on the configured key"
+ " store %s.", keyStorePath));
LOG.error(String.format("Exception message: %s", e.getMessage()));
throw new BeanInitializationException(e.getMessage(), e);
}
}
/**
* Prototyped {@link StructConverter}. In other words, all instances returned by this method
* will be configured identically, but subsequent invocations will return a new instance.
* Prototyped {@link StructConverter}. In other words, all instances
* returned by this method will be configured identically, but subsequent
* invocations will return a new instance.
*
* @return ready to use {@link StructConverter}.
*/
@ -237,6 +242,16 @@ public class AttestationCertificateAuthorityConfiguration extends WebMvcConfigur
return new DBDeviceManager(sessionFactory.getObject());
}
/**
* Creates a {@link ReferenceManifestManager} ready to use.
*
* @return {@link ReferenceManifestManager}
*/
@Bean
public ReferenceManifestManager referenceManifestManager() {
return new DBReferenceManifestManager(sessionFactory.getObject());
}
@Override
public void addResourceHandlers(final ResourceHandlerRegistry resourceHandlerRegistry) {
resourceHandlerRegistry.addResourceHandler("/client-files/**")

View File

@ -49,6 +49,11 @@ public enum Page {
*/
REFERENCE_MANIFESTS("Reference Integrity Manifests",
"ic_important_devices", "first"),
/**
* Non-menu page to display rims.
*/
RIM_DETAILS("Reference Integrity Manifest Details",
"", null, true, false, null, null),
/**
* Page that manages Attestation CA Policy.
*/

View File

@ -182,7 +182,7 @@ public class CertificateRequestPageController extends PageController<NoPageParam
CriteriaModifier criteriaModifier = new CriteriaModifier() {
@Override
public void modify(final Criteria criteria) {
criteria.add(Restrictions.isNull("archivedTime"));
criteria.add(Restrictions.isNull(Certificate.ARCHIVE_FIELD));
// add a device alias if this query includes the device table
// for getting the device (e.g. device name).
@ -321,7 +321,7 @@ public class CertificateRequestPageController extends PageController<NoPageParam
try {
UUID uuid = UUID.fromString(id);
Certificate certificate = getCertificateById(certificateType, uuid, certificateManager);
if (null == certificate) {
if (certificate == null) {
// Use the term "record" here to avoid user confusion b/t cert and cred
String notFoundMessage = "Unable to locate record with ID: " + uuid;
LOGGER.warn(notFoundMessage);
@ -583,8 +583,6 @@ public class CertificateRequestPageController extends PageController<NoPageParam
*
* @param certificateType String containing the certificate type
* @param file the file being uploaded from the portal
* @param model the map of page elements to populate with error messages
* upon failure
* @param messages contains any messages that will be display on the page
* @return the parsed certificate or null if parsing failed.
*/
@ -721,15 +719,15 @@ public class CertificateRequestPageController extends PageController<NoPageParam
certificateManager.save(certificate);
final String successMsg = "New certificate successfully uploaded ("
+ fileName + ")";
final String successMsg
= String.format("New certificate successfully uploaded (%s): ", fileName);
messages.addSuccess(successMsg);
LOGGER.info(successMsg);
return;
}
} catch (DBManagerException e) {
final String failMessage = "Storing new certificate failed ("
+ fileName + "): ";
final String failMessage = String.format("Storing new certificate failed (%s): ",
fileName);
messages.addError(failMessage + e.getMessage());
LOGGER.error(failMessage, e);
return;
@ -743,15 +741,16 @@ public class CertificateRequestPageController extends PageController<NoPageParam
existingCertificate.resetCreateTime();
certificateManager.update(existingCertificate);
final String successMsg = "Pre-existing certificate found and unarchived ("
+ fileName + ")";
final String successMsg = String.format("Pre-existing certificate "
+ "found and unarchived (%s): ", fileName);
messages.addSuccess(successMsg);
LOGGER.info(successMsg);
return;
}
} catch (DBManagerException e) {
final String failMessage = "Found an identical pre-existing certificate in the "
+ "archive, but failed to unarchive it (" + fileName + "): ";
final String failMessage = String.format("Found an identical"
+ " pre-existing certificate in the "
+ "archive, but failed to unarchive it (%s): ", fileName);
messages.addError(failMessage + e.getMessage());
LOGGER.error(failMessage, e);
return;
@ -759,8 +758,8 @@ public class CertificateRequestPageController extends PageController<NoPageParam
// if an identical certificate is already unarchived, do nothing and show a fail message
final String failMessage
= "Storing certificate failed: an identical certificate already exists ("
+ fileName + ")";
= String.format("Storing certificate failed: an identical"
+ " certificate already exists (%s): ", fileName);
messages.addError(failMessage);
LOGGER.error(failMessage);
}

View File

@ -0,0 +1,151 @@
package hirs.attestationca.portal.page.controllers;
import hirs.data.persist.ReferenceManifest;
import hirs.persist.ReferenceManifestManager;
import hirs.attestationca.portal.page.Page;
import hirs.attestationca.portal.page.PageController;
import hirs.attestationca.portal.page.PageMessages;
import hirs.attestationca.portal.page.params.ReferenceManifestDetailsPageParams;
import java.util.HashMap;
import java.util.UUID;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
/**
* Controller for the Reference Manifest Details page.
*/
@Controller
@RequestMapping("/rim-details")
public class ReferenceManifestDetailsPageController
extends PageController<ReferenceManifestDetailsPageParams> {
private final ReferenceManifestManager referenceManifestManager;
private static final Logger LOGGER =
LogManager.getLogger(ReferenceManifestDetailsPageController.class);
/**
* Constructor providing the Page's display and routing specification.
* @param referenceManifestManager the reference manifest manager
*/
@Autowired
public ReferenceManifestDetailsPageController(
final ReferenceManifestManager referenceManifestManager) {
super(Page.RIM_DETAILS);
this.referenceManifestManager = referenceManifestManager;
}
/**
*
* @param params The object to map url parameters into.
* @param model The data model for the request. Can contain data from
* redirect.
* @return the path for the view and data model for the page.
*/
@Override
public ModelAndView initPage(final ReferenceManifestDetailsPageParams params,
final Model model) {
// get the basic information to render the page
ModelAndView mav = getBaseModelAndView();
PageMessages messages = new PageMessages();
// Map with the rim information
HashMap<String, Object> data = new HashMap<>();
// Check if parameters were set
if (params.getId() == null) {
String typeError = "ID was not provided";
messages.addError(typeError);
LOGGER.error(typeError);
mav.addObject(MESSAGES_ATTRIBUTE, messages);
} else {
try {
UUID uuid = UUID.fromString(params.getId());
data.putAll(getRimDetailInfo(uuid, referenceManifestManager));
} catch (IllegalArgumentException iaEx) {
String uuidError = "Failed to parse ID from: " + params.getId();
messages.addError(uuidError);
LOGGER.error(uuidError, iaEx);
} catch (Exception ioEx) {
LOGGER.error(ioEx);
}
if (data.isEmpty()) {
String notFoundMessage = "Unable to find RIM with ID: " + params.getId();
messages.addError(notFoundMessage);
LOGGER.warn(notFoundMessage);
mav.addObject(MESSAGES_ATTRIBUTE, messages);
} else {
mav.addObject(INITIAL_DATA, data);
}
}
// return the model and view
return mav;
}
/**
* This method takes the place of an entire class for a string builder.
* Gathers all information and returns it for displays.
* @param uuid database reference for the requested RIM.
* @param referenceManifestManager the reference manifest manager.
* @return mapping of the RIM information from the database.
*/
public static HashMap<String, Object> getRimDetailInfo(final UUID uuid,
final ReferenceManifestManager referenceManifestManager) {
HashMap<String, Object> data = new HashMap<>();
ReferenceManifest rim = ReferenceManifest
.select(referenceManifestManager)
.byEntityId(uuid).getRIM();
if (rim != null) {
// Software Identity
data.put("swidName", rim.getSwidName());
data.put("swidVersion", rim.getSwidVersion());
data.put("swidCorpus", Boolean.toString(rim.isSwidCorpus()));
data.put("swidPatch", Boolean.toString(rim.isSwidPatch()));
data.put("swidSupplemental", Boolean.toString(
rim.isSwidSupplemental()));
data.put("swidTagId", rim.getTagId());
// Entity
data.put("entityName", rim.getEntityName());
data.put("entityRegId", rim.getEntityRegId());
data.put("entityRole", rim.getEntityRole());
data.put("entityThumbprint", rim.getEntityThumbprint());
// Link
data.put("linkHref", rim.getLinkHref());
data.put("linkRel", rim.getLinkRel());
data.put("platformManufacturer", rim.getPlatformManufacturer());
data.put("platformManufacturerId", rim.getPlatformManufacturerId());
data.put("platformModel", rim.getPlatformModel());
data.put("platformVersion", rim.getPlatformVersion());
data.put("firmwareVersion", rim.getFirmwareVersion());
data.put("payloadType", rim.getPayloadType());
data.put("colloquialVersion", rim.getColloquialVersion());
data.put("edition", rim.getEdition());
data.put("product", rim.getProduct());
data.put("revision", rim.getRevision());
data.put("bindingSpec", rim.getBindingSpec());
data.put("bindingSpecVersion", rim.getBindingSpecVersion());
data.put("pcUriGlobal", rim.getPcURIGlobal());
data.put("pcUriLocal", rim.getPcURILocal());
data.put("rimLinkHash", rim.getRimLinkHash());
// checkout later
data.put("rimType", rim.getRimType());
data.put("swidFiles", rim.parseResource());
} else {
LOGGER.error(String.format("Unable to find Reference Integrity "
+ "Manifest with ID: %s", uuid));
}
return data;
}
}

View File

@ -5,35 +5,53 @@ import hirs.attestationca.portal.datatables.DataTableInput;
import hirs.attestationca.portal.datatables.DataTableResponse;
import hirs.attestationca.portal.page.Page;
import hirs.attestationca.portal.page.PageController;
import hirs.attestationca.portal.page.params.ReferenceManifestPageParams;
import hirs.FilteredRecordsList;
import hirs.attestationca.portal.datatables.OrderedListQueryDataTableAdapter;
import hirs.attestationca.portal.page.PageMessages;
import hirs.attestationca.portal.page.params.NoPageParams;
import hirs.persist.DBManagerException;
import hirs.persist.ReferenceManifestManager;
import hirs.persist.CriteriaModifier;
import hirs.data.persist.ReferenceManifest;
import hirs.data.persist.certificate.Certificate;
import java.io.IOException;
import java.net.URISyntaxException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import javax.servlet.http.HttpServletResponse;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springframework.web.servlet.view.RedirectView;
/**
* Controller for the Certificate Details page.
* Controller for the Reference Manifest page.
*/
@Controller
@RequestMapping("/reference-manifests")
public class ReferenceManifestPageController
extends PageController<ReferenceManifestPageParams> {
extends PageController<NoPageParams> {
private static final String BIOS_RELEASE_DATE_FORMAT = "yyyy-MM-dd";
@ -45,9 +63,9 @@ extends PageController<ReferenceManifestPageParams> {
/**
* This class was created for the purposes of avoiding findbugs message:
* As the JavaDoc states, DateFormats are inherently unsafe for
* multithreaded use. The detector has found a call to an instance
* multi-threaded use. The detector has found a call to an instance
* of DateFormat that has been obtained via a static field.
* This looks suspicous.
* This looks suspicious.
*
* This class can have uses elsewhere but for now it will remain here.
*/
@ -102,20 +120,21 @@ extends PageController<ReferenceManifestPageParams> {
* @return the path for the view and data model for the page.
*/
@Override
public ModelAndView initPage(final ReferenceManifestPageParams params,
public ModelAndView initPage(final NoPageParams params,
final Model model) {
return getBaseModelAndView();
}
/**
* Returns the list of RIMs using the datatable input for paging,
* Returns the list of RIMs using the data table input for paging,
* ordering, and filtering.
* @param input the data tables input
* @return the data tables response, including the result set
* and paging information
*/
@ResponseBody
@RequestMapping(value = "list", produces = MediaType.APPLICATION_JSON_VALUE,
@RequestMapping(value = "/list",
produces = MediaType.APPLICATION_JSON_VALUE,
method = RequestMethod.GET)
public DataTableResponse<ReferenceManifest> getTableData(
final DataTableInput input) {
@ -124,9 +143,276 @@ extends PageController<ReferenceManifestPageParams> {
String orderColumnName = input.getOrderColumnName();
LOGGER.debug("Ordering on column: " + orderColumnName);
// check that the alert is not archived and that it is in the specified report
CriteriaModifier criteriaModifier = new CriteriaModifier() {
@Override
public void modify(final Criteria criteria) {
criteria.add(Restrictions.isNull(Certificate.ARCHIVE_FIELD));
}
};
FilteredRecordsList<ReferenceManifest> records
= new FilteredRecordsList<>();
= OrderedListQueryDataTableAdapter.getOrderedList(
ReferenceManifest.class,
referenceManifestManager,
input, orderColumnName, criteriaModifier);
LOGGER.debug("Returning list of size: " + records.size());
return new DataTableResponse<>(records, input);
}
/**
* Upload and processes a reference manifest(s).
*
* @param files the files to process
* @param attr the redirection attributes
* @return the redirection view
* @throws URISyntaxException if malformed URI
* @throws Exception if malformed URI
*/
@RequestMapping(value = "/upload", method = RequestMethod.POST)
protected RedirectView upload(
@RequestParam("file") final MultipartFile[] files,
final RedirectAttributes attr) throws URISyntaxException, Exception {
Map<String, Object> model = new HashMap<>();
PageMessages messages = new PageMessages();
// loop through the files
for (MultipartFile file : files) {
//Parse reference manifests
ReferenceManifest rims = parseRIMs(file, messages);
//Store only if it was parsed
if (rims != null) {
storeManifest(file.getOriginalFilename(),
messages,
rims,
referenceManifestManager);
}
}
//Add messages to the model
model.put(MESSAGES_ATTRIBUTE, messages);
return redirectTo(Page.REFERENCE_MANIFESTS,
new NoPageParams(), model, attr);
}
/**
* Archives (soft delete) the Reference Integrity Manifest entry.
*
* @param id the UUID of the rim to delete
* @param attr RedirectAttributes used to forward data back to the original
* page.
* @return redirect to this page
* @throws URISyntaxException if malformed URI
*/
@RequestMapping(value = "/delete", method = RequestMethod.POST)
public RedirectView delete(@RequestParam final String id,
final RedirectAttributes attr) throws URISyntaxException {
LOGGER.info("Handling request to delete " + id);
Map<String, Object> model = new HashMap<>();
PageMessages messages = new PageMessages();
try {
ReferenceManifest referenceManifest = getRimFromDb(id);
if (referenceManifest == null) {
String notFoundMessage = "Unable to locate RIM with ID: " + id;
messages.addError(notFoundMessage);
LOGGER.warn(notFoundMessage);
} else {
referenceManifest.archive();
referenceManifestManager.update(referenceManifest);
String deleteCompletedMessage = "RIM successfully deleted";
messages.addInfo(deleteCompletedMessage);
LOGGER.info(deleteCompletedMessage);
}
} catch (IllegalArgumentException ex) {
String uuidError = "Failed to parse ID from: " + id;
messages.addError(uuidError);
LOGGER.error(uuidError, ex);
} catch (DBManagerException ex) {
String dbError = "Failed to archive cert: " + id;
messages.addError(dbError);
LOGGER.error(dbError, ex);
}
model.put(MESSAGES_ATTRIBUTE, messages);
return redirectTo(Page.REFERENCE_MANIFESTS, new NoPageParams(), model, attr);
}
/**
* Handles request to download the rim by writing it to the response stream
* for download.
*
* @param id the UUID of the rim to download
* @param response the response object (needed to update the header with the
* file name)
* @throws java.io.IOException when writing to response output stream
*/
@RequestMapping(value = "/download", method = RequestMethod.GET)
public void download(@RequestParam final String id,
final HttpServletResponse response)
throws IOException {
LOGGER.info("Handling RIM request to download " + id);
try {
ReferenceManifest referenceManifest = getRimFromDb(id);
if (referenceManifest == null) {
String notFoundMessage = "Unable to locate RIM with ID: " + id;
LOGGER.warn(notFoundMessage);
// send a 404 error when invalid Reference Manifest
response.sendError(HttpServletResponse.SC_NOT_FOUND);
} else {
StringBuilder fileName = new StringBuilder("filename=\"");
fileName.append(referenceManifest.getSwidName());
fileName.append("_[");
fileName.append(referenceManifest.getRimHash());
fileName.append("]");
fileName.append(".swidTag\"");
// Set filename for download.
response.setHeader("Content-Disposition", "attachment;" + fileName);
response.setContentType("application/octet-stream");
// write cert to output stream
response.getOutputStream().write(referenceManifest.getRimBytes());
}
} catch (IllegalArgumentException ex) {
String uuidError = "Failed to parse ID from: " + id;
LOGGER.error(uuidError, ex);
// send a 404 error when invalid certificate
response.sendError(HttpServletResponse.SC_NOT_FOUND);
}
}
/**
* This method takes the parameter and looks for this information in the
* Database.
*
* @param id of the RIM
* @return the associated RIM from the DB
* @throws IllegalArgumentException
*/
private ReferenceManifest getRimFromDb(final String id) throws IllegalArgumentException {
UUID uuid = UUID.fromString(id);
return ReferenceManifest
.select(referenceManifestManager)
.byEntityId(uuid).getRIM();
}
/**
* Takes the rim files provided and returns a {@link ReferenceManifest}
* object.
* @param file the provide user file via browser.
* @param messages the object that handles displaying information to the
* user.
* @return a single or collection of reference manifest files.
*/
private ReferenceManifest parseRIMs(
final MultipartFile file,
final PageMessages messages) {
byte[] fileBytes;
String fileName = file.getOriginalFilename();
// build the manifest from the uploaded bytes
try {
fileBytes = file.getBytes();
} catch (IOException e) {
final String failMessage
= String.format("Failed to read uploaded file (%s): ", fileName);
LOGGER.error(failMessage, e);
messages.addError(failMessage + e.getMessage());
return null;
}
try {
return new ReferenceManifest(fileBytes);
// the this is a List<Object> is object is a JaxBElement that can
// be matched up to the QName
} catch (IOException ioEx) {
final String failMessage
= String.format("Failed to parse uploaded file (%s): ", fileName);
LOGGER.error(failMessage, ioEx);
messages.addError(failMessage + ioEx.getMessage());
return null;
}
}
/**
* Stores the {@link ReferenceManifest} objects.
* @param fileName name of the file given
* @param messages message object for user display of statuses
* @param referenceManifest the object to store
* @param referenceManifestManager the class that handles the storage
* process.
*/
private void storeManifest(
final String fileName,
final PageMessages messages,
final ReferenceManifest referenceManifest,
final ReferenceManifestManager referenceManifestManager) {
ReferenceManifest existingManifest;
// look for existing manifest in the database
try {
existingManifest = ReferenceManifest
.select(referenceManifestManager)
.includeArchived()
.byHashCode(referenceManifest.getRimHash())
.getRIM();
} catch (DBManagerException e) {
final String failMessage = String.format("Querying for existing certificate "
+ "failed (%s): ", fileName);
messages.addError(failMessage + e.getMessage());
LOGGER.error(failMessage, e);
return;
}
try {
// save the new certificate if no match is found
if (existingManifest == null) {
referenceManifestManager.save(referenceManifest);
final String successMsg = String.format("New RIM successfully uploaded (%s): ",
fileName);
messages.addSuccess(successMsg);
LOGGER.info(successMsg);
return;
}
} catch (DBManagerException dbmEx) {
final String failMessage = String.format("Storing new RIM failed (%s): ", fileName);
messages.addError(failMessage + dbmEx.getMessage());
LOGGER.error(failMessage, dbmEx);
return;
}
try {
// if an identical RIM is archived, update the existing RIM to
// unarchive it and change the creation date
if (existingManifest.isArchived()) {
existingManifest.restore();
existingManifest.resetCreateTime();
referenceManifestManager.update(existingManifest);
final String successMsg
= String.format("Pre-existing RIM found and unarchived (%s): ", fileName);
messages.addSuccess(successMsg);
LOGGER.info(successMsg);
}
} catch (DBManagerException dbmEx) {
final String failMessage = String.format("Found an identical pre-existing RIM in the "
+ "archive, but failed to unarchive it (%s): ", fileName);
messages.addError(failMessage + dbmEx.getMessage());
LOGGER.error(failMessage, dbmEx);
}
}
}

View File

@ -0,0 +1,67 @@
package hirs.attestationca.portal.page.params;
import hirs.attestationca.portal.page.PageParams;
import java.util.LinkedHashMap;
/**
* URL parameters object for the Reference Manifest Details page and controller.
*/
public class ReferenceManifestDetailsPageParams implements PageParams {
private String id;
/**
* Constructor to set all RIM Details URL parameters.
*
* @param id the String parameter to set
*/
public ReferenceManifestDetailsPageParams(final String id) {
this.id = id;
}
/**
* Default constructor for Spring.
*
*/
public ReferenceManifestDetailsPageParams() {
this.id = null;
}
/**
* Returns the String id parameter.
*
* @return the String id parameter.
*/
public String getId() {
return id;
}
/**
* Sets the String id parameter.
*
* @param id the String id parameter.
*/
public void setId(final String id) {
this.id = id;
}
/**
* Allows PageController to iterate over the url parameters.
*
* @return map containing the object's URL parameters.
*/
@Override
public LinkedHashMap<String, ?> asMap() {
LinkedHashMap<String, Object> map = new LinkedHashMap<>();
map.put("id", id);
return map;
}
@Override
public String toString() {
return "ReferenceManifestDetailsPageParams{"
+ "id:' " + id
+ "}";
}
}

View File

@ -20,7 +20,6 @@ import hirs.data.persist.certificate.IssuedAttestationCertificate;
import hirs.data.persist.certificate.attributes.ComponentIdentifier;
import hirs.data.persist.certificate.attributes.PlatformConfiguration;
import hirs.persist.CertificateManager;
import hirs.persist.ReferenceManifestManager;
import hirs.utils.BouncyCastleUtils;
import java.util.Collections;
@ -491,20 +490,4 @@ public final class CertificateStringMapBuilder {
}
return data;
}
/**
* Returns the Reference Integrity Manifest information.
*
* @param uuid ID for the reference integrity manifest.
* @param referenceManifestManager the reference manifest
* manager for retrieving certs.
* @return a hash map with the reference manifest manager.
*/
public static HashMap<String, String> getReferenceManifestInformation(final UUID uuid,
final ReferenceManifestManager referenceManifestManager) {
HashMap<String, String> data = new HashMap<>();
return data;
}
}

View File

@ -35,12 +35,6 @@
<img src="${icons}/ic_file_download_black_24dp.png" title="Download Certificate">
</a>
</c:when>
<c:when test="${param.type=='referencemanifest'}">
Reference Integrity Manifest
<a href="${portal}/certificate-request/reference-manifests/download?id=${param.id}">
<img src="${icons}/ic_file_download_black_24dp.png" title="Download Certificate">
</a>
</c:when>
<c:otherwise>
Unknown Certificate
</c:otherwise>
@ -106,18 +100,22 @@
<div class="col-md-1 col-md-offset-1"><span class="colHeader">Subject</span></div>
<div id="subject" class="col col-md-8">${initialData.subject}</div>
</div>
</c:if>
<div class="row">
<div class="col-md-1 col-md-offset-1"><span class="colHeader">Serial Number</span></div>
<div id="serialNumber" class="col col-md-8 vertical"></div>
</div>
<div class="row">
<div class="col-md-1 col-md-offset-1"><span class="colHeader">Validity</span></div>
<div id="validity" class="col col-md-8">
<div>Not Before:&nbsp;<span>${initialData.beginValidity}</span></div>
<div>Not After:&nbsp;<span>${initialData.endValidity}</span></div>
</c:if>
<c:if test="${not empty initialData.serialNumber}">
<div class="row">
<div class="col-md-1 col-md-offset-1"><span class="colHeader">Serial Number</span></div>
<div id="serialNumber" class="col col-md-8 vertical"></div>
</div>
</c:if>
<c:if test="${not empty initialData.beginValidity}">
<div class="row">
<div class="col-md-1 col-md-offset-1"><span class="colHeader">Validity</span></div>
<div id="validity" class="col col-md-8">
<div>Not Before:&nbsp;<span>${initialData.beginValidity}</span></div>
<div>Not After:&nbsp;<span>${initialData.endValidity}</span></div>
</div>
</div>
</c:if>
<div class="row">
<div class="col-md-1 col-md-offset-1"><span class="colHeader">Signature</span></div><div id="signatureSection" class="col col-md-8">
<div class="panel-body">

View File

@ -46,8 +46,8 @@
var columns = [
{data: 'tagId'},
{data: 'rimType'},
{data: 'manufacturer'},
{data: 'model'},
{data: 'platformManufacturer'},
{data: 'platformModel'},
{data: 'firmwareVersion'},
{
data: 'id',
@ -58,8 +58,8 @@
// sets up a hidden input field containing the ID which is
// used as a parameter to the REST POST call to delete
var html = '';
html += certificateDetailsLink('referencemanifest', full.id, true);
html += certificateDownloadLink(full.id, pagePath);
html += rimDetailsLink(full.id);
html += rimDownloadLink(full.id, pagePath);
html += certificateDeleteLink(full.id, pagePath);
return html;

View File

@ -0,0 +1,163 @@
<%@ page contentType="text/html"%>
<%@ page pageEncoding="UTF-8"%><%-- JSP TAGS--%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@taglib prefix="fn" uri = "http://java.sun.com/jsp/jstl/functions" %>
<%@taglib prefix="my" tagdir="/WEB-INF/tags"%><%--CONTENT--%>
<my:page>
<jsp:attribute name="style">
<link type="text/css" rel="stylesheet" href="${common}/certificate_details.css"/>
</jsp:attribute>
<jsp:attribute name="pageHeaderTitle">
Reference Integrity Manifest
<a href="${portal}/reference-manifests/download?id=${param.id}">
<img src="${icons}/ic_file_download_black_24dp.png" title="Download Certificate">
</a>
</jsp:attribute>
<jsp:body>
<div id="certificate-details-page" class="container-fluid">
<div class="row">
<div class="col-md-1 col-md-offset-1"><span class="colHeader">Software Identity</span></div>
<div id="softwareIdentity" class="col col-md-8">
<div>SWID Name:&nbsp;<span>${initialData.swidName}</span></div>
<div>SWID Version:&nbsp;<span>${initialData.swidVersion}</span></div>
<div>SWID Tag ID:&nbsp;<span>${initialData.swidTagId}</span></div>
<div>SWID Tag Version:&nbsp;<span></span></div>
<c:if test="${initialData.swidCorpus}">
<div>SWID Corpus:&nbsp;<span><img src="${icons}/ic_checkbox_marked_circle_black_green_24dp.png" title="Corpus Flag"></span>
</div>
</c:if>
<c:if test="${initialData.swidPatch}">
<div>SWID Patch:&nbsp;<span><img src="${icons}/ic_checkbox_marked_circle_black_green_24dp.png" title="Patch Flag"></span>
</div>
</c:if>
<c:if test="${initialData.swidSupplemental}">
<div>SWID Supplemental:&nbsp;<span><img src="${icons}/ic_checkbox_marked_circle_black_green_24dp.png" title="Supplemental Flag"></span>
</div>
</c:if>
</div>
</div>
<div class="row">
<div class="col-md-1 col-md-offset-1"><span class="colHeader">Entity</span></div>
<div id="entity" class="col col-md-8">
<div>Entity Name:&nbsp;<span>${initialData.entityName}</span></div>
<c:if test="${not empty initialData.entityRegId}">
<div>Entity Reg ID:&nbsp;<span>${initialData.entityRegId}</span></div>
</c:if>
<div>Entity Role:&nbsp;<span>${initialData.entityRole}</span></div>
<div>Entity Thumbprint:&nbsp;<span>${initialData.entityThumbprint}</span></div>
</div>
</div>
<div class="row">
<div class="col-md-1 col-md-offset-1"><span class="colHeader">Link</span></div>
<div id="link" class="col col-md-8">
<c:if test="${not empty initialData.linkHref}">
<div><span><a href="${initialData.linkHref}" rel="${initialData.linkRel}">${initialData.linkHref}</a></span>
</div>
<div>Rel:&nbsp;<span>${initialData.linkRel}</span>
</div>
</c:if>
</div>
</div>
<div class="row">
<div class="col-md-1 col-md-offset-1"><span class="colHeader">Meta</span></div>
<div id="link" class="col col-md-8">
<div>Platform Manufacturer ID:&nbsp;<span>${initialData.platformManufacturerId}</span></div>
<div>Platform Manufacturer:&nbsp;<span>${initialData.platformManufacturer}</span></div>
<div>Platform Model:&nbsp;<span>${initialData.platformModel}</span></div>
<c:if test="${not empty initialData.platformVersion}">
<div>Platform Version:&nbsp;<span>${initialData.platformVersion}</span></div>
</c:if>
<div>Colloquial Version:&nbsp;<span>${initialData.colloquialVersion}</span></div>
<div>Edition:&nbsp;<span>${initialData.edition}</span></div>
<div>Product:&nbsp;<span>${initialData.product}</span></div>
<div>Revision:&nbsp;<span>${initialData.revision}</span></div>
<c:if test="${not empty initialData.payloadType}">
<div>Payload Type:&nbsp;<span>${initialData.payloadType}</span></div>
</c:if>
<c:if test="${not empty initialData.firmwareVersion}">
<div>Firmware Version:&nbsp;<span>${initialData.firmwareVersion}</span></div>
</c:if>
<div>Binding Spec:&nbsp;<span>${initialData.bindingSpec}</span></div>
<div>Binding Spec Version:&nbsp;<span>${initialData.bindingSpecVersion}</span></div>
<c:if test="${not empty initiaData.pcUriGlobal}">
<div>PC URI Global:&nbsp;<span>${initialData.pcUriGlobal}</span></div>
</c:if>
<c:if test="${not empty initiaData.pcUriLocal}">
<div>PC URI Local:&nbsp;<span>${initialData.pcUriLocal}</span></div>
</c:if>
<div>Rim Link Hash:&nbsp;<span>${initialData.rimLinkHash}</span></div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-1 col-md-offset-1"><span class="colHeader">Support RIM(s)</span></div>
<div id="platformConfiguration" class="col col-md-8">
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingOne">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#platformConfiguration" class="collapsed"
href="#directorycollapse" aria-expanded="true" aria-controls="directorycollapse">
Directory
</a>
</h4>
</div>
<div id="directorycollapse" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne" aria-expanded="true">
<div class="panel-body">
<div class="panel-heading" role="tab" id="headingThree">
<h3 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#directorycollapse" class="collapsed"
href="#filescollapse" aria-expanded="false" aria-controls="filescollapse">
Files
</a>
</h3>
</div>
<div id="filescollapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree" aria-expanded="true">
<c:if test="${not empty initialData.swidFiles}">
<div id="componentIdentifier" class="row">
<c:forEach items="${initialData.swidFiles}" var="resource">
<div class="component col col-md-10" style="padding-left: 20px">
<div class="panel panel-default">
<div class="panel-heading">
<span data-toggle="tooltip" data-placement="top" title="Resource File">${resource.getName()}
</span>
</div>
<div class="component col col-md-10">
<span class="fieldHeader">File Size:</span>
<span class="fieldValue">${resource.getSize()}</span><br/>
<span class="fieldHeader">Hash:</span>
<span class="fieldValue" style="overflow-wrap: break-word">${resource.getHashValue()}</span><br/>
<c:if test="${not empty resource.getRimFormat()}">
<span class="fieldHeader">RIM Format:</span>
<span class="fieldValue">${resource.getRimFormat()}</span><br/>
</c:if>
<c:if test="${not empty resource.getRimType()}">
<span class="fieldHeader">RIM Type:</span>
<span class="fieldValue">${resource.getRimType()}</span><br/>
</c:if>
<c:if test="${not empty resource.getRimUriGlobal()}">
<span class="fieldHeader">URI Global:</span>
<span class="fieldValue">${resource.getRimUriGlobal()}</span><br/>
</c:if>
</div>
</div>
</div>
</c:forEach>
</div>
</c:if>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</jsp:body>
</my:page>

View File

@ -214,7 +214,7 @@ body {
padding-left: 30px;
}
/*turst chain*/
/*trust chain*/
#aca-cert-viewer .row {
display: -webkit-box;
display: -webkit-flex;

View File

@ -74,7 +74,7 @@ function setDataTables(id, url, columns) {
* @param type of certificate
* @param id of the certificate
* @param sameType boolean indicating if the details is the same
* certificatr type.
* certificate type.
*/
function certificateDetailsLink(type, id, sameType){
var href = portal + '/certificate-details?id=' + id + '&type=' + type;
@ -107,6 +107,24 @@ function certificateDetailsLink(type, id, sameType){
return html;
}
/**
* Create a RIM details like for the specified rim.
* type and ID with the corresponding icon.
* @param id of the rim
*/
function rimDetailsLink(id){
var href = portal + '/rim-details?id=' + id;
var title = "";
var icon = icons;
title = "Details";
icon += '/ic_assignment_black_24dp.png';
var html = '<a href=' + href + '>'
+ '<img src="' + icon + '" title="' + title + '"></a>';
return html;
}
/**
* Create a certificate delete link for the specified ID
* @param id of the certificate
@ -135,5 +153,20 @@ function certificateDownloadLink(id, pagePath){
var html = '<a href="' + href + '">'
+ '<img src="' + icon + '" title="Download Certificate"></a>';
return html;
}
/**
* Create a rim download link for the specified ID
* @param id of the rim
* @param pagePath path to the link
*/
function rimDownloadLink(id, pagePath){
var icon = icons + '/ic_file_download_black_24dp.png';
var href = pagePath + '/download?id=' + id;
var html = '<a href="' + href + '">'
+ '<img src="' + icon + '" title="Download Reference Integrity Manifest"></a>';
return html;
}

View File

@ -82,7 +82,7 @@ public class EndorsementKeyCredentialsPageControllerTest extends PageControllerT
FlashMap flashMap = result.getFlashMap();
PageMessages pageMessages = (PageMessages) flashMap.get("messages");
Assert.assertEquals(pageMessages.getSuccess().get(0), "New certificate successfully "
+ "uploaded (" + EKCERT + ")");
+ "uploaded (" + EKCERT + "): ");
Assert.assertEquals(pageMessages.getError().size(), 0);
// verify the cert was actually stored

View File

@ -144,7 +144,7 @@ public class PlatformCredentialsPageControllerTest extends PageControllerTest {
Assert.assertEquals(pageMessages.getSuccess().size(), 1);
Assert.assertEquals(pageMessages.getError().size(), 0);
Assert.assertEquals(pageMessages.getSuccess().get(0),
"Pre-existing certificate found and unarchived (" + REALPCCERT + ")");
"Pre-existing certificate found and unarchived (" + REALPCCERT + "): ");
// verify the cert was actually stored
Set<Certificate> records = certificateManager.get(PlatformCredential.select(

View File

@ -0,0 +1,107 @@
package hirs.attestationca.portal.page.controllers;
import hirs.data.persist.ReferenceManifest;
import hirs.persist.DBReferenceManifestManager;
import hirs.attestationca.portal.page.Page;
import hirs.attestationca.portal.page.PageController;
import hirs.attestationca.portal.page.PageControllerTest;
import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.util.Map;
import static org.hamcrest.Matchers.hasItem;
import static org.hamcrest.Matchers.hasProperty;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.model;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
/**
* Integration tests that test the URL End Points of
* EndorsementKeyCredentialsPageController.
*/
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
public class ReferenceManifestDetailsPageControllerTest extends PageControllerTest {
private static final String GOOD_RIM_FILE = "/rims/generated_good.swidtag";
private static final String ID = "046b6c7f-0b8a-43b9-b35d-6489e6daee91";
@Autowired
private DBReferenceManifestManager referenceManifestManager;
private ReferenceManifest referenceManifest;
/**
* Prepares tests.
*
* @throws IOException if test resources are not found
*/
@BeforeClass
public void prepareTests() throws IOException {
Path fPath;
try {
fPath = Paths.get(this.getClass().getResource(GOOD_RIM_FILE).toURI());
} catch (URISyntaxException e) {
throw new IOException("Could not resolve path URI", e);
}
referenceManifest = new ReferenceManifest(Files.readAllBytes(fPath));
referenceManifestManager.save(referenceManifest);
}
/**
* Constructor.
*/
public ReferenceManifestDetailsPageControllerTest() {
super(Page.RIM_DETAILS);
}
/**
* Tests initial page when the Reference Integrity Manifest
* was not found.
* @throws Exception if an exception occurs
*/
@Test
public void testInitPage() throws Exception {
// Get error message
getMockMvc()
.perform(MockMvcRequestBuilders.get("/" + getPage().getViewName())
.param("id", ID))
.andExpect(status().isOk())
.andExpect(model().attribute(PageController.MESSAGES_ATTRIBUTE,
hasProperty("error", hasItem("Unable to find RIM with ID: " + ID))))
.andReturn();
}
/**
* Tests initial page for an Reference Integrity Manifest.
*
* @throws Exception if an exception occurs
*/
@Test
@Rollback
@SuppressWarnings("unchecked")
public void testInitPageRim() throws Exception {
MvcResult result = getMockMvc()
.perform(MockMvcRequestBuilders.get("/" + getPage().getViewName())
.param("id", referenceManifest.getId().toString())
.param("swidTagId", referenceManifest.getTagId()))
.andExpect(status().isOk())
.andExpect(model().attributeExists(PolicyPageController.INITIAL_DATA))
.andReturn();
// Obtain initialData HashMap
Map<String, String> initialData = (Map<String, String>) result
.getModelAndView()
.getModel()
.get(PolicyPageController.INITIAL_DATA);
Assert.assertEquals(initialData.get("swidTagId"), referenceManifest.getTagId());
}
}

View File

@ -0,0 +1,189 @@
package hirs.attestationca.portal.page.controllers;
import hirs.data.persist.ReferenceManifest;
import hirs.persist.ReferenceManifestManager;
import hirs.attestationca.portal.page.Page;
import hirs.attestationca.portal.page.PageControllerTest;
import hirs.attestationca.portal.page.PageMessages;
import java.io.IOException;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import org.springframework.web.servlet.FlashMap;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
* Integration tests that test the URL End Points of
* ReferenceManifestPageController.
*/
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
public class ReferenceManifestPageControllerTest extends PageControllerTest {
private static final String GOOD_RIM_FILE = "generated_good.swidtag";
private static final String BAD_RIM_FILE = "generated_bad.swidtag";
@Autowired
private ReferenceManifestManager referenceManifestManager;
private MockMultipartFile validRimFile;
private MockMultipartFile nonValidRimFile;
/**
* Constructor.
*/
public ReferenceManifestPageControllerTest() {
super(Page.REFERENCE_MANIFESTS);
}
/**
* Prepares tests.
*
* @throws IOException if test resources are not found
*/
@BeforeMethod
public void prepareTests() throws IOException {
// create a multi part file for the controller upload
validRimFile = new MockMultipartFile("file", GOOD_RIM_FILE, "",
new ClassPathResource("rims/" + GOOD_RIM_FILE).getInputStream());
nonValidRimFile = new MockMultipartFile("file", BAD_RIM_FILE, "",
new ClassPathResource("rims/" + BAD_RIM_FILE).getInputStream());
}
private void archiveTestCert(final ReferenceManifest referenceManifest) throws Exception {
// now, archive the record
getMockMvc().perform(MockMvcRequestBuilders
.post("/reference-manifests/delete")
.param("id", referenceManifest.getId().toString()))
.andExpect(status().is3xxRedirection())
.andReturn();
Set<ReferenceManifest> records
= referenceManifestManager.get(ReferenceManifest
.select(referenceManifestManager).includeArchived());
Assert.assertEquals(records.size(), 1);
Assert.assertTrue(records.iterator().next().isArchived());
}
/**
* Tests uploading a RIM that is a Reference Integrity Manifest, and
* archiving it.
*
* @throws Exception if an exception occurs
*/
@Test
@Rollback
public void uploadAndArchiveValidRim() throws Exception {
ReferenceManifest rim = uploadTestRim();
archiveTestRim(rim);
}
/**
* Tests uploading a rim that is not a valid Reference Integrity Manifest,
* which results in failure.
*
* @throws Exception if an exception occurs
*/
@Test
@Rollback
public void uploadNonValidRim() throws Exception {
MvcResult result = getMockMvc().perform(MockMvcRequestBuilders
.fileUpload("/reference-manifests/upload")
.file(nonValidRimFile))
.andExpect(status().is3xxRedirection())
.andReturn();
// verify redirection messages
FlashMap flashMap = result.getFlashMap();
PageMessages pageMessages = (PageMessages) flashMap.get("messages");
Assert.assertEquals(pageMessages.getSuccess().size(), 0);
Assert.assertEquals(pageMessages.getError().size(), 1);
}
/**
* Tests that uploading a RIM when an identical RIM is archived will cause
* the existing RIM to be unarchived and updated.
*
* @throws Exception if an exception occurs
*/
@Test
@Rollback
public void uploadCausesUnarchive() throws Exception {
ReferenceManifest rim = uploadTestRim();
archiveTestCert(rim);
// upload the same cert again
MvcResult result = getMockMvc().perform(MockMvcRequestBuilders
.fileUpload("/reference-manifests/upload")
.file(validRimFile))
.andExpect(status().is3xxRedirection())
.andReturn();
// verify redirection messages
FlashMap flashMap = result.getFlashMap();
PageMessages pageMessages = (PageMessages) flashMap.get("messages");
Assert.assertEquals(pageMessages.getSuccess().size(), 1);
Assert.assertEquals(pageMessages.getError().size(), 0);
Assert.assertEquals(pageMessages.getSuccess().get(0),
"Pre-existing RIM found and unarchived (generated_good.swidtag): ");
// verify the cert was actually stored
Set<ReferenceManifest> records = referenceManifestManager.get(ReferenceManifest.select(
referenceManifestManager));
Assert.assertEquals(records.size(), 1);
ReferenceManifest newRim = records.iterator().next();
// verify that the rim was unarchived
Assert.assertFalse(newRim.isArchived());
// verify that the createTime was updated
Assert.assertTrue(newRim.getCreateTime().getTime() > rim.getCreateTime().getTime());
}
private ReferenceManifest uploadTestRim() throws Exception {
MvcResult result = getMockMvc().perform(MockMvcRequestBuilders
.fileUpload("/reference-manifests/upload")
.file(validRimFile))
.andExpect(status().is3xxRedirection())
.andReturn();
// verify redirection messages
FlashMap flashMap = result.getFlashMap();
PageMessages pageMessages = (PageMessages) flashMap.get("messages");
Assert.assertEquals(pageMessages.getSuccess().size(), 1);
Assert.assertEquals(pageMessages.getError().size(), 0);
// verify the cert was actually stored
Set<ReferenceManifest> records
= referenceManifestManager.get(ReferenceManifest.select(referenceManifestManager));
Assert.assertEquals(records.size(), 1);
ReferenceManifest rim = records.iterator().next();
Assert.assertFalse(rim.isArchived());
return rim;
}
private void archiveTestRim(final ReferenceManifest rim) throws Exception {
// now, archive the record
getMockMvc().perform(MockMvcRequestBuilders
.post("/reference-manifests/delete")
.param("id", rim.getId().toString()))
.andExpect(status().is3xxRedirection())
.andReturn();
Set<ReferenceManifest> records
= referenceManifestManager.get(ReferenceManifest
.select(referenceManifestManager).includeArchived());
Assert.assertEquals(records.size(), 1);
Assert.assertTrue(records.iterator().next().isArchived());
}
}

View File

@ -165,7 +165,7 @@ public class TrustChainManagementPageControllerTest extends PageControllerTest {
FlashMap flashMap = result.getFlashMap();
PageMessages pageMessages = (PageMessages) flashMap.get("messages");
Assert.assertEquals(pageMessages.getSuccess()
.get(0), "New certificate successfully uploaded (" + NONCACERT + ")");
.get(0), "New certificate successfully uploaded (" + NONCACERT + "): ");
Assert.assertEquals(pageMessages.getError().size(), 0);
// verify the cert was actually stored
@ -218,7 +218,7 @@ public class TrustChainManagementPageControllerTest extends PageControllerTest {
Assert.assertEquals(pageMessages.getSuccess().size(), 1);
Assert.assertEquals(pageMessages.getError().size(), 0);
Assert.assertEquals(pageMessages.getSuccess().get(0),
"Pre-existing certificate found and unarchived (" + NONCACERT + ")");
"Pre-existing certificate found and unarchived (" + NONCACERT + "): ");
// verify the cert can be retrieved without looking at archived certs
Set<Certificate> records = certificateManager.get(CertificateAuthorityCredential

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<softwareidentity xmlns="http://standards.iso.org/iso/19770/-2/2015/schema.xsd" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" corpus="false" patch="false" name="HIRS SWID Tag example" supplemental="false" tagId="hirs.swid.SwidTags.example" version="0.1">
<Entity name="HIRS" regid="hirs.org" role="softwareCreator tagCreator"/>
<Link href="https://Example.com/support/ProductA/firmware/installfiles" rel="installationmedia"/>
<Meta xmlns:rim="https://trustedcomputinggroup.org/wp-content/uploads/TCG_RIM_Model" rim:componentManufacturerId="00213022" rim:platformManufacturerId="00201234" rim:bindingSpec="IOT RIM" rim:pcURILocal="/boot/tcg/manifest/swidtag" rim:componentManufacturer="BIOSVendorA" rim:rimLinkHash="88f21d8e44d4271149297404df91caf207130bfa116582408abd04ede6db7f51" rim:componentClass="Firmware" rim:platformManufacturerStr="Example.com" rim:platformModel="ProductA" rim:bindingSpecVersion="1.2"/>
<Payload xmlns:n8060="http://csrc.nist.gov/ns/swid/2015-extensions/1.0" n8060:envVarPrefix="$" n8060:pathSeparator="/" n8060:envVarSuffix="">
<Directory location="/boot/iot/" name="iotBase">
<File xmlns:SHA256="http://www.w3.org/2001/04/xmlenc#sha256" size="15400" version="01.00" name="Example.com.iotBase.bin" SHA256:hash="688e293e3ccb522f6cf8a027c9ade7960f84bd0bf3a0b99812bc1fa498a2db8d"/>
<File xmlns:SHA256="http://www.w3.org/2001/04/xmlenc#sha256" size="1024" version="01.00" name="iotExec.bin" SHA256:hash="7afb71275b8036a43d75f3bf1a4b84867de289b2edc6980890ec9748a112156e"/>
</Directory>
</Payload>
</softwareidentity>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SoftwareIdentity xmlns="http://standards.iso.org/iso/19770/-2/2015/schema.xsd" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" xmlns:ns3="http://standards.iso.org/iso/19770/-2/2015/schema.xsd" corpus="true" name="HIRS SWID Tag example" patch="false" supplemental="false" tagId="hirs.swid.SwidTags.example2" version="0.1">
<ns3:Entity name="HIRS2" regid="" role="softwareCreator tagCreator" thumbprint=""/>
<ns3:Link href="https://Example.com/support/ProductA/firmware/installfiles" rel="installationmedia"/>
<ns3:Meta xmlns:rim="https://trustedcomputinggroup.org/wp-content/uploads/TCG_RIM_Model" rim:bindingSpec="IOT RIM" rim:bindingSpecVersion="1.2" rim:colloquialVersion="1.0" rim:edition="First" rim:payloadType="Support" rim:pcURIGlobal="" rim:pcURILocal="" rim:platformManufacturerId="8813724" rim:platformManufacturerStr="6644133" rim:platformModel="ProductBlu" rim:platformVersion="5.50" rim:product="Bloobu" rim:revision="3.0" rim:rimLinkHash="88f21d8e44d4271149297404df91caf207130bfa116582408abd04ede6db7f51"/>
<ns3:Payload>
<ns3:Directory xmlns:rim="https://trustedcomputinggroup.org/wp-content/uploads/TCG_RIM_Model" name="iotBase" rim:supportRIMFormat="" rim:supportRIMType="" rim:supportRIMURIGlobal="">
<ns3:File xmlns:SHA256="http://www.w3.org/2001/04/xmlenc#sha256" SHA256:hash="688e293e3ccb522f6cf8a027c9ade7960f84bd0bf3a0b99812bc1fa498a2db8d" name="Example.com.iotBase.bin1" rim:supportRIMFormat="Direct" rim:supportRIMType="Support" rim:supportRIMURIGlobal="" size="15400"/>
<ns3:File xmlns:SHA256="http://www.w3.org/2001/04/xmlenc#sha256" SHA256:hash="688e293e3ccb522f6cf8a027c9ade7960f84bd0bf3a0b99812bc1fa498a2db8d" name="Example.com.iotBase.bin2" rim:supportRIMFormat="Direct" rim:supportRIMType="Support" rim:supportRIMURIGlobal="" size="15401"/>
</ns3:Directory>
</ns3:Payload>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>1Q6yBiNzRDboqNf/E+3uKGPqcAekPV24lSAcfp63TKo=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>X2RsKxcqlhshMOEGZrcF1j2y5cBAMuSsd+YgOL1aJj2T6FGVx8c4ec2Z8ENUcuVlFI4zMLZGzeJI
EjxnmN5GTRayF5wOqt25oyeif+9s2VwRm4mPZp24JbpDfIeyxRVBXXcPm6h6ydRfupvEsOJLihxd
t3KxYQXEqnpteGuLSmg2jJk8oKKpb+e9GeOOw9QjQGKH49+f3snA5rghNW8x8jaxvM64tf+GRT/q
XAMSpZiGMPe9PvLgp8VqPw4P0HBE4bwUVBnaf6qtkI7psAc6uem4qeghP02cZOdcW8W0ZJjcxOeH
xYLu4qdByZ/m+Z97YQj4dwSQCAulHFWs246a4Q==</SignatureValue>
<KeyInfo>
<X509Data>
<X509SubjectName>CN=chubtub,OU=hirs,O=nsacyber,L=Unknown,ST=Unknown,C=US</X509SubjectName>
<X509Certificate>MIIDaTCCAlGgAwIBAgIEVTtDKzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJVUzEQMA4GA1UE
CBMHVW5rbm93bjEQMA4GA1UEBxMHVW5rbm93bjERMA8GA1UEChMIbnNhY3liZXIxDTALBgNVBAsT
BGhpcnMxEDAOBgNVBAMTB2NodWJ0dWIwHhcNMjAwMTI5MTYxODI5WhcNMjEwMTIzMTYxODI5WjBl
MQswCQYDVQQGEwJVUzEQMA4GA1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5rbm93bjERMA8GA1UE
ChMIbnNhY3liZXIxDTALBgNVBAsTBGhpcnMxEDAOBgNVBAMTB2NodWJ0dWIwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQCFuwsH9AREu1t/u1dFyWIUaHff0R+wR2gDfQ8VOZKAMnJjSUfc
P7m4kFedXOMj9AHQp8Ck6rMLcj5rXg81MxCykEZ8zb189A0iaaLg7fqqlQljDMc4LRhl7ZEAI9u1
+SPg+tS/xfFrd6SmRwcpa/2D77EmILYTneQqcxEUg2aNZbP/I1vJK/ibTL4mI/Y2D5fIKPI9aI+0
rs0nqlEZcAViYgo8Ejxur9/3erdxQZS4csFmnIyF595w+0dbECsmG8VKTvt5x2z3Tm4spXKFDa5M
0OmkyP3OMhPUWwDeAXziKzBWZ/Ak1S69/C5HceN/WrtX7AKhq2WYEyAnidZyMdDDAgMBAAGjITAf
MB0GA1UdDgQWBBQXLczKOk0woNFfZMhqpY9p9bRncTANBgkqhkiG9w0BAQsFAAOCAQEAC7/atbbJ
fntti1K1JJ/J2V5wJVYmhUUyuFzpTY1Dfwp/aNYILnOEs9WHrpI1AsgIXc1hLprs0vPM0kZsmaV9
QfvYEijV11c9NCxphKvw9cfuawR09RMNdNQ6VJuFfLd5prMFdd13lcbBDx7tfd9Ryj2D9EcuiC1H
Zyhrl5TzDeGEKSdlWUZVaa3GGg1bX/zV3rpFx5y+Vjen5NZXaZOavxtBakYIlY2/AEAiEe13EeJE
Tjee053v9SWHtGvrjWOY2e1UQ2NOM6y+lUzv8IHFrQDpEzIycL8Uv2+S+KFZpQmpaPhIqm3RjmLf
mD0XYHlNxV1SE5YmatMB5qDAFvYcDw==</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</SoftwareIdentity>

View File

@ -26,4 +26,5 @@
<suppress checks="." files="XMLCleaner.java" />
<suppress checks="." files="SpringContextProvider.java" />
<suppress checks="FileLength" files="SupplyChainCredentialValidatorTest.java" />
<suppress checks="." files=".*[/\\]xjc" />
</suppressions>

View File

@ -32,4 +32,7 @@
<Match>
<Class name="hirs.utils.SpringContextProvider" />
</Match>
<Match>
<Package name="~hirs\.utils\.xjc.*" />
</Match>
</FindBugsFilter>

View File

@ -0,0 +1,115 @@
package hirs.data.persist;
import com.google.common.base.Preconditions;
import hirs.utils.xjc.File;
import java.util.Map;
import java.math.BigInteger;
import javax.xml.namespace.QName;
/**
* This object is used to represent the content of a Swid Tags Directory
* section.
*/
public class SwidResource {
private String name, size;
private String rimFormat, rimType, rimUriGlobal, hashValue;
/**
* Default constructor.
*/
public SwidResource() {
name = null;
size = null;
rimFormat = null;
rimType = null;
rimUriGlobal = null;
hashValue = null;
}
/**
* The main constructor that processes a {@code hirs.utils.xjc.File}.
* @param file {@link hirs.utils.xjc.File}
*/
public SwidResource(final File file) {
Preconditions.checkArgument(file != null,
"Cannot construct a RIM Resource from a null File object");
this.name = file.getName();
// at this time, there is a possibility to get an object with
// not size even though it is required.
if (file.getSize() != null) {
this.size = file.getSize().toString();
} else {
this.size = BigInteger.ZERO.toString();
}
for (Map.Entry<QName, String> entry
: file.getOtherAttributes().entrySet()) {
switch (entry.getKey().getLocalPart()) {
case "supportRIMFormat":
this.rimFormat = entry.getValue();
break;
case "supportRIMType":
this.rimType = entry.getValue();
break;
case "supportRIMURIGlobal":
this.rimUriGlobal = entry.getValue();
break;
case "hash":
this.hashValue = entry.getValue();
break;
default:
}
}
}
/**
* Getter for the file name.
* @return string of the file name
*/
public String getName() {
return name;
}
/**
* Getter for the file size.
* @return string of the file size.
*/
public String getSize() {
return size;
}
/**
* Getter for the RIM format for the resource.
* @return string of the format
*/
public String getRimFormat() {
return rimFormat;
}
/**
* Getter for the RIM resource type.
* @return string of the resource type.
*/
public String getRimType() {
return rimType;
}
/**
* Getter for the RIM Global URI.
* @return string of the URI
*/
public String getRimUriGlobal() {
return rimUriGlobal;
}
/**
* Getter for the associated Hash.
* @return string of the hash
*/
public String getHashValue() {
return hashValue;
}
}

View File

@ -3,6 +3,19 @@ package hirs.persist;
import hirs.data.persist.ReferenceManifest;
import org.hibernate.SessionFactory;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.io.InputStream;
import java.io.IOException;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.xml.sax.SAXException;
/**
* This class is used to persist and retrieve {@link ReferenceManifest}s into
* and from the database.
@ -10,12 +23,87 @@ import org.hibernate.SessionFactory;
public class DBReferenceManifestManager extends DBManager<ReferenceManifest>
implements ReferenceManifestManager {
private static final Logger LOGGER = LogManager.getLogger(DBReferenceManifestManager.class);
/**
* The variable that establishes a schema factory for xml processing.
*/
public static final SchemaFactory SCHEMA_FACTORY
= SchemaFactory.newInstance(ReferenceManifest.SCHEMA_LANGUAGE);
private static Schema schema;
/**
* Default Constructor.
*
* @param sessionFactory session factory used to access database connections
*/
public DBReferenceManifestManager(final SessionFactory sessionFactory) {
super(ReferenceManifest.class, sessionFactory);
getSchemaObject();
}
/**
* This method sets the xml schema for processing RIMs.
*
* @return the schema
*/
public static final Schema getSchemaObject() {
if (schema == null) {
InputStream is = null;
try {
is = ReferenceManifest.class
.getClassLoader()
.getResourceAsStream(ReferenceManifest.SCHEMA_URL);
schema = SCHEMA_FACTORY.newSchema(new StreamSource(is));
} catch (SAXException saxEx) {
LOGGER.error(String.format("Error setting schema for validation!%n%s",
saxEx.getMessage()));
} finally {
if (is != null) {
try {
is.close();
} catch (IOException ioEx) {
LOGGER.error(String.format("Error closing input stream%n%s",
ioEx.getMessage()));
}
} else {
LOGGER.error("Input stream variable is null");
}
}
}
return schema;
}
/**
* This method does not need to be used directly as it is used by
* {@link ReferenceManifestSelector}'s get* methods. Regardless, it may be
* used to retrieve ReferenceManifest by other code in this package, given a
* configured ReferenceManifestSelector.
*
* @param referenceManifestSelector a configured
* {@link ReferenceManifestSelector} to use for querying
* @return the resulting set of ReferenceManifest, possibly empty
*/
@Override
@SuppressWarnings("unchecked")
public Set<ReferenceManifest> get(final ReferenceManifestSelector referenceManifestSelector) {
LOGGER.info("Getting the full set of Reference Manifest files.");
return new HashSet<>(
(List<ReferenceManifest>) getWithCriteria(
referenceManifestSelector.getReferenceManifestClass(),
Collections.singleton(referenceManifestSelector.getCriterion())
)
);
}
/**
* Remove a ReferenceManifest from the database.
*
* @param referenceManifest the referenceManifest to delete
* @return true if deletion was successful, false otherwise
*/
public boolean deleteReferenceManifest(final ReferenceManifest referenceManifest) {
LOGGER.info(String.format("Deleting reference to %s", referenceManifest.getTagId()));
return delete(referenceManifest);
}
}

View File

@ -3,11 +3,13 @@ package hirs.persist;
import hirs.data.persist.ReferenceManifest;
import java.util.Set;
/**
* This class facilitates the persistence of {@link ReferenceManifest}s
* including storage, retrieval, and deletion.
*/
public interface ReferenceManifestManager {
public interface ReferenceManifestManager extends OrderedListQuerier<ReferenceManifest> {
/**
* Persists a new Reference Manifest.
@ -23,6 +25,14 @@ public interface ReferenceManifestManager {
*/
void update(ReferenceManifest referenceManifest);
/**
* Retrieve RIMs according to the given {@link ReferenceManifestSelector}.
*
* @param referenceManifestSelector a {@link ReferenceManifestSelector} to use for querying
* @return a Set of matching RIMs, which may be empty
*/
Set<ReferenceManifest> get(ReferenceManifestSelector referenceManifestSelector);
/**
* Delete the given RIM.
*

View File

@ -0,0 +1,190 @@
package hirs.persist;
import com.google.common.base.Preconditions;
import hirs.data.persist.certificate.Certificate;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.criterion.Conjunction;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
/**
* This class is used to select one or many RIMs in conjunction
* with a {@link ReferenceManifestManager}. To make use of this object,
* use (some ReferenceManifest).select(ReferenceManifestManager).
*
* @param <ReferenceManifest> the type of referenceManifest that will be retrieved
*/
public abstract class ReferenceManifestSelector<ReferenceManifest> {
private final ReferenceManifestManager referenceManifestManager;
private final Map<String, Object> fieldValueSelections;
private boolean excludeArchivedRims;
/**
* Default Constructor.
*
* @param referenceManifestManager the RIM manager to be used to retrieve RIMs
*/
public ReferenceManifestSelector(final ReferenceManifestManager referenceManifestManager) {
this(referenceManifestManager, true);
}
/**
* Standard Constructor for the Selector.
*
* @param referenceManifestManager the RIM manager to be used to retrieve RIMs
* @param excludeArchivedRims true if excluding archived RIMs
*/
public ReferenceManifestSelector(final ReferenceManifestManager referenceManifestManager,
final boolean excludeArchivedRims) {
Preconditions.checkArgument(
referenceManifestManager != null,
"reference manifest manager cannot be null"
);
this.referenceManifestManager = referenceManifestManager;
this.excludeArchivedRims = excludeArchivedRims;
this.fieldValueSelections = new HashMap<>();
}
/**
* Specify the entity id that rims must have to be considered as matching.
*
* @param uuid the UUID to query
* @return this instance (for chaining further calls)
*/
public ReferenceManifestSelector byEntityId(final UUID uuid) {
setFieldValue(Certificate.ID_FIELD, uuid);
return this;
}
/**
* Specify the hash code of the bytes that rim must match.
*
* @param rimHash the hash code of the bytes to query for
* @return this instance (for chaining further calls)
*/
public ReferenceManifestSelector byHashCode(final int rimHash) {
setFieldValue(hirs.data.persist.ReferenceManifest.RIM_HASH_FIELD, rimHash);
return this;
}
/**
* Set a field name and value to match.
*
* @param name the field name to query
* @param value the value to query
*/
protected void setFieldValue(final String name, final Object value) {
Object valueToAssign = value;
Preconditions.checkArgument(
value != null,
String.format("field value (%s) cannot be null.", name)
);
if (value instanceof String) {
Preconditions.checkArgument(
StringUtils.isNotEmpty((String) value),
"field value cannot be empty."
);
}
if (value instanceof byte[]) {
byte[] valueBytes = (byte[]) value;
Preconditions.checkArgument(
ArrayUtils.isNotEmpty(valueBytes),
String.format("field value (%s) cannot be empty.", name)
);
valueToAssign = Arrays.copyOf(valueBytes, valueBytes.length);
}
fieldValueSelections.put(name, valueToAssign);
}
/**
* Retrieve the result set as a single
* {@link hirs.data.persist.ReferenceManifest}. This method is best used
* when selecting on a unique attribute. If the result set contains more
* than one RIM, one is chosen arbitrarily and returned. If no matching RIMs
* are found, this method returns null.
*
* @return a matching RIM or null if none is found
*/
public hirs.data.persist.ReferenceManifest getRIM() {
Set<hirs.data.persist.ReferenceManifest> certs = execute();
if (certs.isEmpty()) {
return null;
}
return certs.iterator().next();
}
/**
* Retrieve the result set as a set of
* {@link hirs.data.persist.ReferenceManifest}s. This method is best used
* when selecting on non-unique attributes. ReferenceManifests are populated
* into the set in no specific order. If no matching certificates are found,
* the returned Set will be empty.
*
* @return a Set of matching RIMs, possibly empty
*/
public Set<hirs.data.persist.ReferenceManifest> getRIMs() {
return Collections.unmodifiableSet(new HashSet<>(execute()));
}
/**
* Construct the criterion that can be used to query for rims matching the
* configuration of this {@link ReferenceManifestSelector}.
*
* @return a Criterion that can be used to query for rims matching the
* configuration of this instance
*/
Criterion getCriterion() {
Conjunction conj = new Conjunction();
for (Map.Entry<String, Object> fieldValueEntry : fieldValueSelections.entrySet()) {
conj.add(Restrictions.eq(fieldValueEntry.getKey(), fieldValueEntry.getValue()));
}
if (this.excludeArchivedRims) {
conj.add(Restrictions.isNull(Certificate.ARCHIVE_FIELD));
}
return conj;
}
/**
* @return the rim class that this instance will query
*/
public Class<hirs.data.persist.ReferenceManifest> getReferenceManifestClass() {
return hirs.data.persist.ReferenceManifest.class;
}
// construct and execute query
private Set<hirs.data.persist.ReferenceManifest> execute() {
Set<hirs.data.persist.ReferenceManifest> results = this.referenceManifestManager.get(this);
return results;
}
/**
* Configures the selector to query for archived and unarchived rims.
*
* @return the selector
*/
public ReferenceManifestSelector<ReferenceManifest> includeArchived() {
this.excludeArchivedRims = false;
return this;
}
}

View File

@ -0,0 +1,97 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.HashMap;
import java.util.Map;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyAttribute;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.namespace.QName;
/**
*
* Attributes common to all Elements in this schema
*
*
* <p>
* Java class for BaseElement complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="BaseElement"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;attribute ref="{http://www.w3.org/XML/1998/namespace}lang"/&gt;
* &lt;anyAttribute processContents='lax' namespace='##other'/&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "BaseElement", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd")
@XmlSeeAlso({ SoftwareIdentity.class, Entity.class, Link.class, Meta.class,
ResourceCollection.class })
public class BaseElement {
@XmlAttribute(name = "lang", namespace = "http://www.w3.org/XML/1998/namespace")
protected String lang;
@XmlAnyAttribute
private Map<QName, String> otherAttributes = new HashMap<QName, String>();
/**
*
* Allow xml:lang attribute on any element.
*
*
* @return possible object is {@link String }
*
*/
public String getLang() {
return lang;
}
/**
* Sets the value of the lang property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setLang(String value) {
this.lang = value;
}
/**
* Gets a map that contains attributes that aren't bound to any typed
* property on this class.
*
* <p>
* the map is keyed by the name of the attribute and the value is the string
* value of the attribute.
*
* the map returned by this method is live, and you can add new attribute by
* updating the map directly. Because of this design, there's no setter.
*
*
* @return always non-null
*/
public Map<QName, String> getOtherAttributes() {
return otherAttributes;
}
}

View File

@ -0,0 +1,105 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for CanonicalizationMethodType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
*</p>
* <pre>
* &lt;complexType name="CanonicalizationMethodType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;any maxOccurs="unbounded" minOccurs="0"/&gt;
* &lt;/sequence&gt;
* &lt;attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "CanonicalizationMethodType", propOrder = { "content" })
public class CanonicalizationMethodType {
@XmlMixed
@XmlAnyElement(lax = true)
protected List<Object> content;
@XmlAttribute(name = "Algorithm", required = true)
@XmlSchemaType(name = "anyURI")
protected String algorithm;
/**
* Gets the value of the content property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the content property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link Object }
* {@link String }
*
*
*/
public List<Object> getContent() {
if (content == null) {
content = new ArrayList<Object>();
}
return this.content;
}
/**
* Gets the value of the algorithm property.
*
* @return possible object is {@link String }
*
*/
public String getAlgorithm() {
return algorithm;
}
/**
* Sets the value of the algorithm property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setAlgorithm(String value) {
this.algorithm = value;
}
}

View File

@ -0,0 +1,200 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for DSAKeyValueType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="DSAKeyValueType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;sequence minOccurs="0"&gt;
* &lt;element name="P" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
* &lt;element name="Q" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
* &lt;/sequence&gt;
* &lt;element name="G" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary" minOccurs="0"/&gt;
* &lt;element name="Y" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
* &lt;element name="J" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary" minOccurs="0"/&gt;
* &lt;sequence minOccurs="0"&gt;
* &lt;element name="Seed" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
* &lt;element name="PgenCounter" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
* &lt;/sequence&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "DSAKeyValueType", propOrder = { "p", "q", "g", "y", "j",
"seed", "pgenCounter" })
public class DSAKeyValueType {
@XmlElement(name = "P")
protected byte[] p;
@XmlElement(name = "Q")
protected byte[] q;
@XmlElement(name = "G")
protected byte[] g;
@XmlElement(name = "Y", required = true)
protected byte[] y;
@XmlElement(name = "J")
protected byte[] j;
@XmlElement(name = "Seed")
protected byte[] seed;
@XmlElement(name = "PgenCounter")
protected byte[] pgenCounter;
/**
* Gets the value of the p property.
*
* @return possible object is byte[]
*/
public byte[] getP() {
return p;
}
/**
* Sets the value of the p property.
*
* @param value
* allowed object is byte[]
*/
public void setP(byte[] value) {
this.p = value;
}
/**
* Gets the value of the q property.
*
* @return possible object is byte[]
*/
public byte[] getQ() {
return q;
}
/**
* Sets the value of the q property.
*
* @param value
* allowed object is byte[]
*/
public void setQ(byte[] value) {
this.q = value;
}
/**
* Gets the value of the g property.
*
* @return possible object is byte[]
*/
public byte[] getG() {
return g;
}
/**
* Sets the value of the g property.
*
* @param value
* allowed object is byte[]
*/
public void setG(byte[] value) {
this.g = value;
}
/**
* Gets the value of the y property.
*
* @return possible object is byte[]
*/
public byte[] getY() {
return y;
}
/**
* Sets the value of the y property.
*
* @param value
* allowed object is byte[]
*/
public void setY(byte[] value) {
this.y = value;
}
/**
* Gets the value of the j property.
*
* @return possible object is byte[]
*/
public byte[] getJ() {
return j;
}
/**
* Sets the value of the j property.
*
* @param value
* allowed object is byte[]
*/
public void setJ(byte[] value) {
this.j = value;
}
/**
* Gets the value of the seed property.
*
* @return possible object is byte[]
*/
public byte[] getSeed() {
return seed;
}
/**
* Sets the value of the seed property.
*
* @param value
* allowed object is byte[]
*/
public void setSeed(byte[] value) {
this.seed = value;
}
/**
* Gets the value of the pgenCounter property.
*
* @return possible object is byte[]
*/
public byte[] getPgenCounter() {
return pgenCounter;
}
/**
* Sets the value of the pgenCounter property.
*
* @param value
* allowed object is byte[]
*/
public void setPgenCounter(byte[] value) {
this.pgenCounter = value;
}
}

View File

@ -0,0 +1,106 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
* <p>
* Java class for DigestMethodType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="DigestMethodType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
* &lt;/sequence&gt;
* &lt;attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "DigestMethodType", propOrder = { "content" })
public class DigestMethodType {
@XmlMixed
@XmlAnyElement(lax = true)
protected List<Object> content;
@XmlAttribute(name = "Algorithm", required = true)
@XmlSchemaType(name = "anyURI")
protected String algorithm;
/**
* Gets the value of the content property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the content property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link Element }
* {@link Object } {@link String }
*
*
*/
public List<Object> getContent() {
if (content == null) {
content = new ArrayList<Object>();
}
return this.content;
}
/**
* Gets the value of the algorithm property.
*
* @return possible object is {@link String }
*
*/
public String getAlgorithm() {
return algorithm;
}
/**
* Sets the value of the algorithm property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setAlgorithm(String value) {
this.algorithm = value;
}
}

View File

@ -0,0 +1,80 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for Directory complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="Directory"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}FilesystemItem"&gt;
* &lt;choice maxOccurs="unbounded" minOccurs="0"&gt;
* &lt;element name="Directory" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Directory"/&gt;
* &lt;element name="File" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}File"/&gt;
* &lt;/choice&gt;
* &lt;anyAttribute processContents='lax'/&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Directory", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", propOrder = { "directoryOrFile" })
public class Directory extends FilesystemItem {
@XmlElements({ @XmlElement(name = "Directory", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", type = Directory.class, required = false),
@XmlElement(name = "File", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", type = File.class, required = false) })
protected List<FilesystemItem> directoryOrFile;
/**
* Gets the value of the directoryOrFile property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the directoryOrFile property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getDirectoryOrFile().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Directory } {@link File }
*
*
*/
public List<FilesystemItem> getDirectoryOrFile() {
if (directoryOrFile == null) {
directoryOrFile = new ArrayList<FilesystemItem>();
}
return this.directoryOrFile;
}
}

View File

@ -0,0 +1,188 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for Entity complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="Entity"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}BaseElement"&gt;
* &lt;sequence maxOccurs="unbounded" minOccurs="0"&gt;
* &lt;element name="Meta" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Meta"/&gt;
* &lt;/sequence&gt;
* &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="regid" type="{http://www.w3.org/2001/XMLSchema}anyURI" default="http://invalid.unavailable" /&gt;
* &lt;attribute name="role" use="required" type="{http://www.w3.org/2001/XMLSchema}NMTOKENS" /&gt;
* &lt;attribute name="thumbprint" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;anyAttribute processContents='lax' namespace='##other'/&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Entity", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", propOrder = { "meta" })
public class Entity extends BaseElement {
@XmlElement(name = "Meta")
protected List<Meta> meta;
@XmlAttribute(name = "name", required = true)
protected String name;
@XmlAttribute(name = "regid")
@XmlSchemaType(name = "anyURI")
protected String regid;
@XmlAttribute(name = "role", required = true)
@XmlSchemaType(name = "NMTOKENS")
protected List<String> role;
@XmlAttribute(name = "thumbprint")
protected String thumbprint;
/**
* Gets the value of the meta property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the meta property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getMeta().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link Meta }
*
*
*/
public List<Meta> getMeta() {
if (meta == null) {
meta = new ArrayList<Meta>();
}
return this.meta;
}
/**
* Gets the value of the name property.
*
* @return possible object is {@link String }
*
*/
public String getName() {
return name;
}
/**
* Sets the value of the name property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setName(String value) {
this.name = value;
}
/**
* Gets the value of the regid property.
*
* @return possible object is {@link String }
*
*/
public String getRegid() {
if (regid == null) {
return "http://invalid.unavailable";
} else {
return regid;
}
}
/**
* Sets the value of the regid property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setRegid(String value) {
this.regid = value;
}
/**
* Gets the value of the role property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the role property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getRole().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link String }
*
*
*/
public List<String> getRole() {
if (role == null) {
role = new ArrayList<String>();
}
return this.role;
}
/**
* Gets the value of the thumbprint property.
*
* @return possible object is {@link String }
*
*/
public String getThumbprint() {
return thumbprint;
}
/**
* Sets the value of the thumbprint property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setThumbprint(String value) {
this.thumbprint = value;
}
}

View File

@ -0,0 +1,91 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
/**
* <p>
* Java class for Evidence complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="Evidence"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}ResourceCollection"&gt;
* &lt;attribute name="date" type="{http://www.w3.org/2001/XMLSchema}dateTime" /&gt;
* &lt;attribute name="deviceId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;anyAttribute processContents='lax' namespace='##other'/&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Evidence", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd")
public class Evidence extends ResourceCollection {
@XmlAttribute(name = "date")
@XmlSchemaType(name = "dateTime")
protected XMLGregorianCalendar date;
@XmlAttribute(name = "deviceId")
protected String deviceId;
/**
* Gets the value of the date property.
*
* @return possible object is {@link XMLGregorianCalendar }
*
*/
public XMLGregorianCalendar getDate() {
return date;
}
/**
* Sets the value of the date property.
*
* @param value
* allowed object is {@link XMLGregorianCalendar }
*
*/
public void setDate(XMLGregorianCalendar value) {
this.date = value;
}
/**
* Gets the value of the deviceId property.
*
* @return possible object is {@link String }
*
*/
public String getDeviceId() {
return deviceId;
}
/**
* Sets the value of the deviceId property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setDeviceId(String value) {
this.deviceId = value;
}
}

View File

@ -0,0 +1,89 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.math.BigInteger;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for File complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="File"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}FilesystemItem"&gt;
* &lt;attribute name="size" type="{http://www.w3.org/2001/XMLSchema}integer" /&gt;
* &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;anyAttribute processContents='lax'/&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "File", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd")
public class File extends FilesystemItem {
@XmlAttribute(name = "size")
protected BigInteger size;
@XmlAttribute(name = "version")
protected String version;
/**
* Gets the value of the size property.
*
* @return possible object is {@link BigInteger }
*
*/
public BigInteger getSize() {
return size;
}
/**
* Sets the value of the size property.
*
* @param value
* allowed object is {@link BigInteger }
*
*/
public void setSize(BigInteger value) {
this.size = value;
}
/**
* Gets the value of the version property.
*
* @return possible object is {@link String }
*
*/
public String getVersion() {
return version;
}
/**
* Sets the value of the version property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setVersion(String value) {
this.version = value;
}
}

View File

@ -0,0 +1,138 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for FilesystemItem complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="FilesystemItem"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Meta"&gt;
* &lt;attribute name="key" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
* &lt;attribute name="location" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="root" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;anyAttribute processContents='lax'/&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "FilesystemItem", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd")
@XmlSeeAlso({ File.class, Directory.class })
public class FilesystemItem extends Meta {
@XmlAttribute(name = "key")
protected Boolean key;
@XmlAttribute(name = "location")
protected String location;
@XmlAttribute(name = "name", required = true)
protected String name;
@XmlAttribute(name = "root")
protected String root;
/**
* Gets the value of the key property.
*
* @return possible object is {@link Boolean }
*
*/
public Boolean isKey() {
return key;
}
/**
* Sets the value of the key property.
*
* @param value
* allowed object is {@link Boolean }
*
*/
public void setKey(Boolean value) {
this.key = value;
}
/**
* Gets the value of the location property.
*
* @return possible object is {@link String }
*
*/
public String getLocation() {
return location;
}
/**
* Sets the value of the location property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setLocation(String value) {
this.location = value;
}
/**
* Gets the value of the name property.
*
* @return possible object is {@link String }
*
*/
public String getName() {
return name;
}
/**
* Sets the value of the name property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setName(String value) {
this.name = value;
}
/**
* Gets the value of the root property.
*
* @return possible object is {@link String }
*
*/
public String getRoot() {
return root;
}
/**
* Sets the value of the root property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setRoot(String value) {
this.root = value;
}
}

View File

@ -0,0 +1,135 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
/**
* <p>
* Java class for KeyInfoType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="KeyInfoType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;choice maxOccurs="unbounded"&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}KeyName"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}KeyValue"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}RetrievalMethod"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}X509Data"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}PGPData"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}SPKIData"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}MgmtData"/&gt;
* &lt;any processContents='lax' namespace='##other'/&gt;
* &lt;/choice&gt;
* &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "KeyInfoType", propOrder = { "content" })
public class KeyInfoType {
@XmlElementRefs({
@XmlElementRef(name = "SPKIData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "RetrievalMethod", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "KeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "KeyName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "X509Data", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "PGPData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "MgmtData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) })
@XmlMixed
@XmlAnyElement(lax = true)
protected List<Object> content;
@XmlAttribute(name = "Id")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
/**
* Gets the value of the content property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the content property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link String }
* {@link JAXBElement }{@code <}{@link SPKIDataType }{@code >} {@link Element }
* {@link JAXBElement }{@code <}{@link RetrievalMethodType }{@code >}
* {@link JAXBElement }{@code <}{@link KeyValueType }{@code >} {@link Object }
* {@link JAXBElement }{@code <}{@link String }{@code >} {@link JAXBElement }
* {@code <}{@link X509DataType }{@code >} {@link JAXBElement }{@code <}
* {@link PGPDataType }{@code >} {@link JAXBElement }{@code <}{@link String }
* {@code >}
*
*
*/
public List<Object> getContent() {
if (content == null) {
content = new ArrayList<Object>();
}
return this.content;
}
/**
* Gets the value of the id property.
*
* @return possible object is {@link String }
*
*/
public String getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
}

View File

@ -0,0 +1,89 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
* <p>
* Java class for KeyValueType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="KeyValueType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;choice&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}DSAKeyValue"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}RSAKeyValue"/&gt;
* &lt;any processContents='lax' namespace='##other'/&gt;
* &lt;/choice&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "KeyValueType", propOrder = { "content" })
public class KeyValueType {
@XmlElementRefs({
@XmlElementRef(name = "RSAKeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "DSAKeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) })
@XmlMixed
@XmlAnyElement(lax = true)
protected List<Object> content;
/**
* Gets the value of the content property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the content property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link Object }
* {@link String } {@link JAXBElement }{@code <}{@link RSAKeyValueType }
* {@code >} {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >}
* {@link Element }
*
*
*/
public List<Object> getContent() {
if (content == null) {
content = new ArrayList<Object>();
}
return this.content;
}
}

View File

@ -0,0 +1,214 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
* <p>
* Java class for Link complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="Link"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}BaseElement"&gt;
* &lt;attribute name="artifact" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="href" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
* &lt;attribute name="media" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Media" /&gt;
* &lt;attribute name="ownership" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Ownership" /&gt;
* &lt;attribute name="rel" use="required" type="{http://www.w3.org/2001/XMLSchema}NMTOKEN" /&gt;
* &lt;attribute name="type" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}MediaType" /&gt;
* &lt;attribute name="use" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Use" /&gt;
* &lt;anyAttribute processContents='lax' namespace='##other'/&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Link", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd")
public class Link extends BaseElement {
@XmlAttribute(name = "artifact")
protected String artifact;
@XmlAttribute(name = "href", required = true)
@XmlSchemaType(name = "anyURI")
protected String href;
@XmlAttribute(name = "media")
protected String media;
@XmlAttribute(name = "ownership")
protected Ownership ownership;
@XmlAttribute(name = "rel", required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "NMTOKEN")
protected String rel;
@XmlAttribute(name = "type")
protected String type;
@XmlAttribute(name = "use")
protected Use use;
/**
* Gets the value of the artifact property.
*
* @return possible object is {@link String }
*
*/
public String getArtifact() {
return artifact;
}
/**
* Sets the value of the artifact property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setArtifact(String value) {
this.artifact = value;
}
/**
* Gets the value of the href property.
*
* @return possible object is {@link String }
*
*/
public String getHref() {
return href;
}
/**
* Sets the value of the href property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setHref(String value) {
this.href = value;
}
/**
* Gets the value of the media property.
*
* @return possible object is {@link String }
*
*/
public String getMedia() {
return media;
}
/**
* Sets the value of the media property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setMedia(String value) {
this.media = value;
}
/**
* Gets the value of the ownership property.
*
* @return possible object is {@link Ownership }
*
*/
public Ownership getOwnership() {
return ownership;
}
/**
* Sets the value of the ownership property.
*
* @param value
* allowed object is {@link Ownership }
*
*/
public void setOwnership(Ownership value) {
this.ownership = value;
}
/**
* Gets the value of the rel property.
*
* @return possible object is {@link String }
*
*/
public String getRel() {
return rel;
}
/**
* Sets the value of the rel property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setRel(String value) {
this.rel = value;
}
/**
* Gets the value of the type property.
*
* @return possible object is {@link String }
*
*/
public String getType() {
return type;
}
/**
* Sets the value of the type property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
/**
* Gets the value of the use property.
*
* @return possible object is {@link Use }
*
*/
public Use getUse() {
return use;
}
/**
* Sets the value of the use property.
*
* @param value
* allowed object is {@link Use }
*
*/
public void setUse(Use value) {
this.use = value;
}
}

View File

@ -0,0 +1,108 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
* <p>
* Java class for ManifestType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="ManifestType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Reference" maxOccurs="unbounded"/&gt;
* &lt;/sequence&gt;
* &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ManifestType", propOrder = { "reference" })
public class ManifestType {
@XmlElement(name = "Reference", required = true)
protected List<ReferenceType> reference;
@XmlAttribute(name = "Id")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
/**
* Gets the value of the reference property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the reference property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getReference().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ReferenceType }
*
*
*/
public List<ReferenceType> getReference() {
if (reference == null) {
reference = new ArrayList<ReferenceType>();
}
return this.reference;
}
/**
* Gets the value of the id property.
*
* @return possible object is {@link String }
*
*/
public String getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
}

View File

@ -0,0 +1,41 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for Meta complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="Meta"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}BaseElement"&gt;
* &lt;anyAttribute processContents='lax'/&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Meta", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd")
@XmlSeeAlso({ SoftwareMeta.class, Resource.class, Process.class,
FilesystemItem.class })
public class Meta extends BaseElement {
}

View File

@ -0,0 +1,844 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.math.BigInteger;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;
/**
* This object contains factory methods for each Java content interface and Java
* element interface generated in the hirs.swid.xjc package.
* <p>
* An ObjectFactory allows you to programatically construct new instances of the
* Java representation for XML content. The Java representation of XML content
* can consist of schema derived interfaces and classes representing the binding
* of schema type definitions, element declarations and model groups. Factory
* methods for each of these are provided in this class.
* </p>
*/
@XmlRegistry
public class ObjectFactory {
private final static QName _SPKIData_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "SPKIData");
private final static QName _KeyInfo_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "KeyInfo");
private final static QName _SignatureValue_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "SignatureValue");
private final static QName _KeyValue_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "KeyValue");
private final static QName _Transforms_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "Transforms");
private final static QName _DigestMethod_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "DigestMethod");
private final static QName _X509Data_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "X509Data");
private final static QName _SignatureProperty_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "SignatureProperty");
private final static QName _KeyName_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "KeyName");
private final static QName _RSAKeyValue_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "RSAKeyValue");
private final static QName _SoftwareIdentity_QNAME = new QName(
"http://standards.iso.org/iso/19770/-2/2015/schema.xsd",
"SoftwareIdentity");
private final static QName _Signature_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "Signature");
private final static QName _MgmtData_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "MgmtData");
private final static QName _SignatureMethod_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "SignatureMethod");
private final static QName _Object_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "Object");
private final static QName _SignatureProperties_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "SignatureProperties");
private final static QName _Transform_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "Transform");
private final static QName _PGPData_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "PGPData");
private final static QName _Reference_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "Reference");
private final static QName _RetrievalMethod_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "RetrievalMethod");
private final static QName _DSAKeyValue_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "DSAKeyValue");
private final static QName _DigestValue_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "DigestValue");
private final static QName _CanonicalizationMethod_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "CanonicalizationMethod");
private final static QName _SignedInfo_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "SignedInfo");
private final static QName _Manifest_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "Manifest");
private final static QName _PGPDataTypePGPKeyID_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "PGPKeyID");
private final static QName _PGPDataTypePGPKeyPacket_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "PGPKeyPacket");
private final static QName _SignatureMethodTypeHMACOutputLength_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "HMACOutputLength");
private final static QName _X509DataTypeX509IssuerSerial_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "X509IssuerSerial");
private final static QName _X509DataTypeX509CRL_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "X509CRL");
private final static QName _X509DataTypeX509SubjectName_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "X509SubjectName");
private final static QName _X509DataTypeX509SKI_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "X509SKI");
private final static QName _X509DataTypeX509Certificate_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "X509Certificate");
private final static QName _SoftwareIdentityLink_QNAME = new QName(
"http://standards.iso.org/iso/19770/-2/2015/schema.xsd", "Link");
private final static QName _SoftwareIdentityEvidence_QNAME = new QName(
"http://standards.iso.org/iso/19770/-2/2015/schema.xsd", "Evidence");
private final static QName _SoftwareIdentityPayload_QNAME = new QName(
"http://standards.iso.org/iso/19770/-2/2015/schema.xsd", "Payload");
private final static QName _SoftwareIdentityEntity_QNAME = new QName(
"http://standards.iso.org/iso/19770/-2/2015/schema.xsd", "Entity");
private final static QName _SoftwareIdentityMeta_QNAME = new QName(
"http://standards.iso.org/iso/19770/-2/2015/schema.xsd", "Meta");
private final static QName _TransformTypeXPath_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "XPath");
private final static QName _SPKIDataTypeSPKISexp_QNAME = new QName(
"http://www.w3.org/2000/09/xmldsig#", "SPKISexp");
/**
* Create a new ObjectFactory that can be used to create new instances of
* schema derived classes for package: hirs.swid.xjc
*
*/
public ObjectFactory() {
}
/**
* Create an instance of {@link SoftwareIdentity }
*
*/
public SoftwareIdentity createSoftwareIdentity() {
return new SoftwareIdentity();
}
/**
* Create an instance of {@link SoftwareMeta }
*
*/
public SoftwareMeta createSoftwareMeta() {
return new SoftwareMeta();
}
/**
* Create an instance of {@link Entity }
*
*/
public Entity createEntity() {
return new Entity();
}
/**
* Create an instance of {@link Meta }
*
*/
public Meta createMeta() {
return new Meta();
}
/**
* Create an instance of {@link FilesystemItem }
*
*/
public FilesystemItem createFilesystemItem() {
return new FilesystemItem();
}
/**
* Create an instance of {@link Resource }
*
*/
public Resource createResource() {
return new Resource();
}
/**
* Create an instance of {@link java.lang.Process }
*
*/
public Process createProcess() {
return new Process();
}
/**
* Create an instance of {@link BaseElement }
*
*/
public BaseElement createBaseElement() {
return new BaseElement();
}
/**
* Create an instance of {@link Evidence }
*
*/
public Evidence createEvidence() {
return new Evidence();
}
/**
* Create an instance of {@link File }
*
*/
public File createFile() {
return new File();
}
/**
* Create an instance of {@link Link }
*
*/
public Link createLink() {
return new Link();
}
/**
* Create an instance of {@link Directory }
*
*/
public Directory createDirectory() {
return new Directory();
}
/**
* Create an instance of {@link ResourceCollection }
*
*/
public ResourceCollection createResourceCollection() {
return new ResourceCollection();
}
/**
* Create an instance of {@link PGPDataType }
*
*/
public PGPDataType createPGPDataType() {
return new PGPDataType();
}
/**
* Create an instance of {@link KeyValueType }
*
*/
public KeyValueType createKeyValueType() {
return new KeyValueType();
}
/**
* Create an instance of {@link DSAKeyValueType }
*
*/
public DSAKeyValueType createDSAKeyValueType() {
return new DSAKeyValueType();
}
/**
* Create an instance of {@link ReferenceType }
*
*/
public ReferenceType createReferenceType() {
return new ReferenceType();
}
/**
* Create an instance of {@link RetrievalMethodType }
*
*/
public RetrievalMethodType createRetrievalMethodType() {
return new RetrievalMethodType();
}
/**
* Create an instance of {@link TransformsType }
*
*/
public TransformsType createTransformsType() {
return new TransformsType();
}
/**
* Create an instance of {@link CanonicalizationMethodType }
*
*/
public CanonicalizationMethodType createCanonicalizationMethodType() {
return new CanonicalizationMethodType();
}
/**
* Create an instance of {@link DigestMethodType }
*
*/
public DigestMethodType createDigestMethodType() {
return new DigestMethodType();
}
/**
* Create an instance of {@link ManifestType }
*
*/
public ManifestType createManifestType() {
return new ManifestType();
}
/**
* Create an instance of {@link SignaturePropertyType }
*
*/
public SignaturePropertyType createSignaturePropertyType() {
return new SignaturePropertyType();
}
/**
* Create an instance of {@link X509DataType }
*
*/
public X509DataType createX509DataType() {
return new X509DataType();
}
/**
* Create an instance of {@link SignedInfoType }
*
*/
public SignedInfoType createSignedInfoType() {
return new SignedInfoType();
}
/**
* Create an instance of {@link RSAKeyValueType }
*
*/
public RSAKeyValueType createRSAKeyValueType() {
return new RSAKeyValueType();
}
/**
* Create an instance of {@link SPKIDataType }
*
*/
public SPKIDataType createSPKIDataType() {
return new SPKIDataType();
}
/**
* Create an instance of {@link SignatureValueType }
*
*/
public SignatureValueType createSignatureValueType() {
return new SignatureValueType();
}
/**
* Create an instance of {@link KeyInfoType }
*
*/
public KeyInfoType createKeyInfoType() {
return new KeyInfoType();
}
/**
* Create an instance of {@link SignatureType }
*
*/
public SignatureType createSignatureType() {
return new SignatureType();
}
/**
* Create an instance of {@link SignaturePropertiesType }
*
*/
public SignaturePropertiesType createSignaturePropertiesType() {
return new SignaturePropertiesType();
}
/**
* Create an instance of {@link SignatureMethodType }
*
*/
public SignatureMethodType createSignatureMethodType() {
return new SignatureMethodType();
}
/**
* Create an instance of {@link ObjectType }
*
*/
public ObjectType createObjectType() {
return new ObjectType();
}
/**
* Create an instance of {@link TransformType }
*
*/
public TransformType createTransformType() {
return new TransformType();
}
/**
* Create an instance of {@link X509IssuerSerialType }
*
*/
public X509IssuerSerialType createX509IssuerSerialType() {
return new X509IssuerSerialType();
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link SPKIDataType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SPKIData")
public JAXBElement<SPKIDataType> createSPKIData(SPKIDataType value) {
return new JAXBElement<SPKIDataType>(_SPKIData_QNAME,
SPKIDataType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link KeyInfoType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyInfo")
public JAXBElement<KeyInfoType> createKeyInfo(KeyInfoType value) {
return new JAXBElement<KeyInfoType>(_KeyInfo_QNAME, KeyInfoType.class,
null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}
* {@link SignatureValueType }{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureValue")
public JAXBElement<SignatureValueType> createSignatureValue(
SignatureValueType value) {
return new JAXBElement<SignatureValueType>(_SignatureValue_QNAME,
SignatureValueType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link KeyValueType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyValue")
public JAXBElement<KeyValueType> createKeyValue(KeyValueType value) {
return new JAXBElement<KeyValueType>(_KeyValue_QNAME,
KeyValueType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link TransformsType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transforms")
public JAXBElement<TransformsType> createTransforms(TransformsType value) {
return new JAXBElement<TransformsType>(_Transforms_QNAME,
TransformsType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}
* {@link DigestMethodType }{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestMethod")
public JAXBElement<DigestMethodType> createDigestMethod(
DigestMethodType value) {
return new JAXBElement<DigestMethodType>(_DigestMethod_QNAME,
DigestMethodType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link X509DataType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Data")
public JAXBElement<X509DataType> createX509Data(X509DataType value) {
return new JAXBElement<X509DataType>(_X509Data_QNAME,
X509DataType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}
* {@link SignaturePropertyType }{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureProperty")
public JAXBElement<SignaturePropertyType> createSignatureProperty(
SignaturePropertyType value) {
return new JAXBElement<SignaturePropertyType>(_SignatureProperty_QNAME,
SignaturePropertyType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "KeyName")
public JAXBElement<String> createKeyName(String value) {
return new JAXBElement<String>(_KeyName_QNAME, String.class, null,
value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link RSAKeyValueType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RSAKeyValue")
public JAXBElement<RSAKeyValueType> createRSAKeyValue(RSAKeyValueType value) {
return new JAXBElement<RSAKeyValueType>(_RSAKeyValue_QNAME,
RSAKeyValueType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}
* {@link SoftwareIdentity }{@code >}
*
*/
@XmlElementDecl(namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", name = "SoftwareIdentity")
public JAXBElement<SoftwareIdentity> createSoftwareIdentity(
SoftwareIdentity value) {
return new JAXBElement<SoftwareIdentity>(_SoftwareIdentity_QNAME,
SoftwareIdentity.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link SignatureType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Signature")
public JAXBElement<SignatureType> createSignature(SignatureType value) {
return new JAXBElement<SignatureType>(_Signature_QNAME,
SignatureType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "MgmtData")
public JAXBElement<String> createMgmtData(String value) {
return new JAXBElement<String>(_MgmtData_QNAME, String.class, null,
value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}
* {@link SignatureMethodType }{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureMethod")
public JAXBElement<SignatureMethodType> createSignatureMethod(
SignatureMethodType value) {
return new JAXBElement<SignatureMethodType>(_SignatureMethod_QNAME,
SignatureMethodType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link ObjectType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Object")
public JAXBElement<ObjectType> createObject(ObjectType value) {
return new JAXBElement<ObjectType>(_Object_QNAME, ObjectType.class,
null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}
* {@link SignaturePropertiesType }{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignatureProperties")
public JAXBElement<SignaturePropertiesType> createSignatureProperties(
SignaturePropertiesType value) {
return new JAXBElement<SignaturePropertiesType>(
_SignatureProperties_QNAME, SignaturePropertiesType.class,
null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link TransformType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Transform")
public JAXBElement<TransformType> createTransform(TransformType value) {
return new JAXBElement<TransformType>(_Transform_QNAME,
TransformType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link PGPDataType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPData")
public JAXBElement<PGPDataType> createPGPData(PGPDataType value) {
return new JAXBElement<PGPDataType>(_PGPData_QNAME, PGPDataType.class,
null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link ReferenceType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Reference")
public JAXBElement<ReferenceType> createReference(ReferenceType value) {
return new JAXBElement<ReferenceType>(_Reference_QNAME,
ReferenceType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}
* {@link RetrievalMethodType }{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "RetrievalMethod")
public JAXBElement<RetrievalMethodType> createRetrievalMethod(
RetrievalMethodType value) {
return new JAXBElement<RetrievalMethodType>(_RetrievalMethod_QNAME,
RetrievalMethodType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link DSAKeyValueType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DSAKeyValue")
public JAXBElement<DSAKeyValueType> createDSAKeyValue(DSAKeyValueType value) {
return new JAXBElement<DSAKeyValueType>(_DSAKeyValue_QNAME,
DSAKeyValueType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "DigestValue")
public JAXBElement<byte[]> createDigestValue(byte[] value) {
return new JAXBElement<byte[]>(_DigestValue_QNAME, byte[].class, null,
((byte[]) value));
}
/**
* Create an instance of {@link JAXBElement }{@code <}
* {@link CanonicalizationMethodType }{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "CanonicalizationMethod")
public JAXBElement<CanonicalizationMethodType> createCanonicalizationMethod(
CanonicalizationMethodType value) {
return new JAXBElement<CanonicalizationMethodType>(
_CanonicalizationMethod_QNAME,
CanonicalizationMethodType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link SignedInfoType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SignedInfo")
public JAXBElement<SignedInfoType> createSignedInfo(SignedInfoType value) {
return new JAXBElement<SignedInfoType>(_SignedInfo_QNAME,
SignedInfoType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link ManifestType }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "Manifest")
public JAXBElement<ManifestType> createManifest(ManifestType value) {
return new JAXBElement<ManifestType>(_Manifest_QNAME,
ManifestType.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPKeyID", scope = PGPDataType.class)
public JAXBElement<byte[]> createPGPDataTypePGPKeyID(byte[] value) {
return new JAXBElement<byte[]>(_PGPDataTypePGPKeyID_QNAME,
byte[].class, PGPDataType.class, ((byte[]) value));
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "PGPKeyPacket", scope = PGPDataType.class)
public JAXBElement<byte[]> createPGPDataTypePGPKeyPacket(byte[] value) {
return new JAXBElement<byte[]>(_PGPDataTypePGPKeyPacket_QNAME,
byte[].class, PGPDataType.class, ((byte[]) value));
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "HMACOutputLength", scope = SignatureMethodType.class)
public JAXBElement<BigInteger> createSignatureMethodTypeHMACOutputLength(
BigInteger value) {
return new JAXBElement<BigInteger>(
_SignatureMethodTypeHMACOutputLength_QNAME, BigInteger.class,
SignatureMethodType.class, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}
* {@link X509IssuerSerialType }{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509IssuerSerial", scope = X509DataType.class)
public JAXBElement<X509IssuerSerialType> createX509DataTypeX509IssuerSerial(
X509IssuerSerialType value) {
return new JAXBElement<X509IssuerSerialType>(
_X509DataTypeX509IssuerSerial_QNAME,
X509IssuerSerialType.class, X509DataType.class, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509CRL", scope = X509DataType.class)
public JAXBElement<byte[]> createX509DataTypeX509CRL(byte[] value) {
return new JAXBElement<byte[]>(_X509DataTypeX509CRL_QNAME,
byte[].class, X509DataType.class, ((byte[]) value));
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SubjectName", scope = X509DataType.class)
public JAXBElement<String> createX509DataTypeX509SubjectName(String value) {
return new JAXBElement<String>(_X509DataTypeX509SubjectName_QNAME,
String.class, X509DataType.class, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509SKI", scope = X509DataType.class)
public JAXBElement<byte[]> createX509DataTypeX509SKI(byte[] value) {
return new JAXBElement<byte[]>(_X509DataTypeX509SKI_QNAME,
byte[].class, X509DataType.class, ((byte[]) value));
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "X509Certificate", scope = X509DataType.class)
public JAXBElement<byte[]> createX509DataTypeX509Certificate(byte[] value) {
return new JAXBElement<byte[]>(_X509DataTypeX509Certificate_QNAME,
byte[].class, X509DataType.class, ((byte[]) value));
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link Link }{@code >}
*
*/
@XmlElementDecl(namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", name = "Link", scope = SoftwareIdentity.class)
public JAXBElement<Link> createSoftwareIdentityLink(Link value) {
return new JAXBElement<Link>(_SoftwareIdentityLink_QNAME, Link.class,
SoftwareIdentity.class, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link Evidence }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", name = "Evidence", scope = SoftwareIdentity.class)
public JAXBElement<Evidence> createSoftwareIdentityEvidence(Evidence value) {
return new JAXBElement<Evidence>(_SoftwareIdentityEvidence_QNAME,
Evidence.class, SoftwareIdentity.class, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}
* {@link ResourceCollection }{@code >}
*
*/
@XmlElementDecl(namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", name = "Payload", scope = SoftwareIdentity.class)
public JAXBElement<ResourceCollection> createSoftwareIdentityPayload(
ResourceCollection value) {
return new JAXBElement<ResourceCollection>(
_SoftwareIdentityPayload_QNAME, ResourceCollection.class,
SoftwareIdentity.class, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link Entity }{@code >}
*
*/
@XmlElementDecl(namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", name = "Entity", scope = SoftwareIdentity.class)
public JAXBElement<Entity> createSoftwareIdentityEntity(Entity value) {
return new JAXBElement<Entity>(_SoftwareIdentityEntity_QNAME,
Entity.class, SoftwareIdentity.class, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link SoftwareMeta }
* {@code >}
*
*/
@XmlElementDecl(namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", name = "Meta", scope = SoftwareIdentity.class)
public JAXBElement<SoftwareMeta> createSoftwareIdentityMeta(
SoftwareMeta value) {
return new JAXBElement<SoftwareMeta>(_SoftwareIdentityMeta_QNAME,
SoftwareMeta.class, SoftwareIdentity.class, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "XPath", scope = TransformType.class)
public JAXBElement<String> createTransformTypeXPath(String value) {
return new JAXBElement<String>(_TransformTypeXPath_QNAME, String.class,
TransformType.class, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}
*
*/
@XmlElementDecl(namespace = "http://www.w3.org/2000/09/xmldsig#", name = "SPKISexp", scope = SPKIDataType.class)
public JAXBElement<byte[]> createSPKIDataTypeSPKISexp(byte[] value) {
return new JAXBElement<byte[]>(_SPKIDataTypeSPKISexp_QNAME,
byte[].class, SPKIDataType.class, ((byte[]) value));
}
}

View File

@ -0,0 +1,160 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
/**
* <p>
* Java class for ObjectType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="ObjectType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence maxOccurs="unbounded" minOccurs="0"&gt;
* &lt;any processContents='lax'/&gt;
* &lt;/sequence&gt;
* &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
* &lt;attribute name="MimeType" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="Encoding" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ObjectType", propOrder = { "content" })
public class ObjectType {
@XmlMixed
@XmlAnyElement(lax = true)
protected List<Object> content;
@XmlAttribute(name = "Id")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
@XmlAttribute(name = "MimeType")
protected String mimeType;
@XmlAttribute(name = "Encoding")
@XmlSchemaType(name = "anyURI")
protected String encoding;
/**
* Gets the value of the content property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the content property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link Element }
* {@link Object } {@link String }
*
*
*/
public List<Object> getContent() {
if (content == null) {
content = new ArrayList<Object>();
}
return this.content;
}
/**
* Gets the value of the id property.
*
* @return possible object is {@link String }
*
*/
public String getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
/**
* Gets the value of the mimeType property.
*
* @return possible object is {@link String }
*
*/
public String getMimeType() {
return mimeType;
}
/**
* Sets the value of the mimeType property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setMimeType(String value) {
this.mimeType = value;
}
/**
* Gets the value of the encoding property.
*
* @return possible object is {@link String }
*
*/
public String getEncoding() {
return encoding;
}
/**
* Sets the value of the encoding property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setEncoding(String value) {
this.encoding = value;
}
}

View File

@ -0,0 +1,85 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for Ownership.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
*
* <pre>
* &lt;simpleType name="Ownership"&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}NMTOKEN"&gt;
* &lt;enumeration value="abandon"/&gt;
* &lt;enumeration value="private"/&gt;
* &lt;enumeration value="shared"/&gt;
* &lt;/restriction&gt;
* &lt;/simpleType&gt;
* </pre>
*
*/
@XmlType(name = "Ownership", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd")
@XmlEnum
public enum Ownership {
/**
*
* Determines the relative strength of ownership of the target piece of
* software.
*
*
*/
@XmlEnumValue("abandon")
ABANDON("abandon"),
/**
*
* If this is uninstalled, then the [Link]'d software should be removed too.
*
*
*/
@XmlEnumValue("private")
PRIVATE("private"),
/**
*
* If this is uninstalled, then the [Link]'d software should be removed if
* nobody else is sharing it
*
*
*/
@XmlEnumValue("shared")
SHARED("shared");
private final String value;
Ownership(String v) {
value = v;
}
public String value() {
return value;
}
public static Ownership fromValue(String v) {
for (Ownership c : Ownership.values()) {
if (c.value.equals(v)) {
return c;
}
}
throw new IllegalArgumentException(v);
}
}

View File

@ -0,0 +1,103 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
* <p>
* Java class for PGPDataType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="PGPDataType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;choice&gt;
* &lt;sequence&gt;
* &lt;element name="PGPKeyID" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
* &lt;element name="PGPKeyPacket" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/&gt;
* &lt;any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
* &lt;/sequence&gt;
* &lt;sequence&gt;
* &lt;element name="PGPKeyPacket" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
* &lt;any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
* &lt;/sequence&gt;
* &lt;/choice&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PGPDataType", propOrder = { "content" })
public class PGPDataType {
@XmlElementRefs({
@XmlElementRef(name = "PGPKeyID", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "PGPKeyPacket", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) })
@XmlAnyElement(lax = true)
protected List<Object> content;
/**
* Gets the rest of the content model.
*
* <p>
* You are getting this "catch-all" property because of the following
* reason: The field name "PGPKeyPacket" is used by two different parts of a
* schema. See: line 218 of
* http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd line 213 of
* http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd
* <p>
* To get rid of this property, apply a property customization to one of
* both of the following declarations to change their names: Gets the value
* of the content property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the content property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link JAXBElement }{@code <}{@link byte[]}{@code >} {@link JAXBElement }
* {@code <}{@link byte[]}{@code >} {@link Object } {@link Element }
*
*
*/
public List<Object> getContent() {
if (content == null) {
content = new ArrayList<Object>();
}
return this.content;
}
}

View File

@ -0,0 +1,89 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.math.BigInteger;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for Process complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="Process"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Meta"&gt;
* &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="pid" type="{http://www.w3.org/2001/XMLSchema}integer" /&gt;
* &lt;anyAttribute processContents='lax'/&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Process", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd")
public class Process extends Meta {
@XmlAttribute(name = "name", required = true)
protected String name;
@XmlAttribute(name = "pid")
protected BigInteger pid;
/**
* Gets the value of the name property.
*
* @return possible object is {@link String }
*
*/
public String getName() {
return name;
}
/**
* Sets the value of the name property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setName(String value) {
this.name = value;
}
/**
* Gets the value of the pid property.
*
* @return possible object is {@link BigInteger }
*
*/
public BigInteger getPid() {
return pid;
}
/**
* Sets the value of the pid property.
*
* @param value
* allowed object is {@link BigInteger }
*
*/
public void setPid(BigInteger value) {
this.pid = value;
}
}

View File

@ -0,0 +1,85 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for RSAKeyValueType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="RSAKeyValueType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element name="Modulus" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
* &lt;element name="Exponent" type="{http://www.w3.org/2000/09/xmldsig#}CryptoBinary"/&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "RSAKeyValueType", propOrder = { "modulus", "exponent" })
public class RSAKeyValueType {
@XmlElement(name = "Modulus", required = true)
protected byte[] modulus;
@XmlElement(name = "Exponent", required = true)
protected byte[] exponent;
/**
* Gets the value of the modulus property.
*
* @return possible object is byte[]
*/
public byte[] getModulus() {
return modulus;
}
/**
* Sets the value of the modulus property.
*
* @param value
* allowed object is byte[]
*/
public void setModulus(byte[] value) {
this.modulus = value;
}
/**
* Gets the value of the exponent property.
*
* @return possible object is byte[]
*/
public byte[] getExponent() {
return exponent;
}
/**
* Sets the value of the exponent property.
*
* @param value
* allowed object is byte[]
*/
public void setExponent(byte[] value) {
this.exponent = value;
}
}

View File

@ -0,0 +1,194 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
* <p>
* Java class for ReferenceType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="ReferenceType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Transforms" minOccurs="0"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}DigestMethod"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}DigestValue"/&gt;
* &lt;/sequence&gt;
* &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
* &lt;attribute name="URI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
* &lt;attribute name="Type" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ReferenceType", propOrder = { "transforms", "digestMethod",
"digestValue" })
public class ReferenceType {
@XmlElement(name = "Transforms")
protected TransformsType transforms;
@XmlElement(name = "DigestMethod", required = true)
protected DigestMethodType digestMethod;
@XmlElement(name = "DigestValue", required = true)
protected byte[] digestValue;
@XmlAttribute(name = "Id")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
@XmlAttribute(name = "URI")
@XmlSchemaType(name = "anyURI")
protected String uri;
@XmlAttribute(name = "Type")
@XmlSchemaType(name = "anyURI")
protected String type;
/**
* Gets the value of the transforms property.
*
* @return possible object is {@link TransformsType }
*
*/
public TransformsType getTransforms() {
return transforms;
}
/**
* Sets the value of the transforms property.
*
* @param value
* allowed object is {@link TransformsType }
*
*/
public void setTransforms(TransformsType value) {
this.transforms = value;
}
/**
* Gets the value of the digestMethod property.
*
* @return possible object is {@link DigestMethodType }
*
*/
public DigestMethodType getDigestMethod() {
return digestMethod;
}
/**
* Sets the value of the digestMethod property.
*
* @param value
* allowed object is {@link DigestMethodType }
*
*/
public void setDigestMethod(DigestMethodType value) {
this.digestMethod = value;
}
/**
* Gets the value of the digestValue property.
*
* @return possible object is byte[]
*/
public byte[] getDigestValue() {
return digestValue;
}
/**
* Sets the value of the digestValue property.
*
* @param value
* allowed object is byte[]
*/
public void setDigestValue(byte[] value) {
this.digestValue = value;
}
/**
* Gets the value of the id property.
*
* @return possible object is {@link String }
*
*/
public String getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
/**
* Gets the value of the uri property.
*
* @return possible object is {@link String }
*
*/
public String getURI() {
return uri;
}
/**
* Sets the value of the uri property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setURI(String value) {
this.uri = value;
}
/**
* Gets the value of the type property.
*
* @return possible object is {@link String }
*
*/
public String getType() {
return type;
}
/**
* Sets the value of the type property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
}

View File

@ -0,0 +1,64 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for Resource complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="Resource"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Meta"&gt;
* &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;anyAttribute processContents='lax'/&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Resource", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd")
public class Resource extends Meta {
@XmlAttribute(name = "type", required = true)
protected String type;
/**
* Gets the value of the type property.
*
* @return possible object is {@link String }
*
*/
public String getType() {
return type;
}
/**
* Sets the value of the type property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
}

View File

@ -0,0 +1,86 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for ResourceCollection complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="ResourceCollection"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}BaseElement"&gt;
* &lt;choice maxOccurs="unbounded" minOccurs="0"&gt;
* &lt;element name="Directory" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Directory"/&gt;
* &lt;element name="File" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}File"/&gt;
* &lt;element name="Process" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Process"/&gt;
* &lt;element name="Resource" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Resource"/&gt;
* &lt;/choice&gt;
* &lt;anyAttribute processContents='lax' namespace='##other'/&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ResourceCollection", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", propOrder = { "directoryOrFileOrProcess" })
@XmlSeeAlso({ Evidence.class })
public class ResourceCollection extends BaseElement {
@XmlElements({ @XmlElement(name = "Directory", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", type = Directory.class, required = false),
@XmlElement(name = "File", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", type = File.class, required = false),
@XmlElement(name = "Process", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", type = java.lang.Process.class, required = false),
@XmlElement(name = "Resource", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", type = Resource.class, required = false) })
protected List<Meta> directoryOrFileOrProcess;
/**
* Gets the value of the directoryOrFileOrProcess property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the directoryOrFileOrProcess property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getDirectoryOrFileOrProcess().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Directory } {@link File } {@link java.lang.Process } {@link Resource }
*
*
*/
public List<Meta> getDirectoryOrFileOrProcess() {
if (directoryOrFileOrProcess == null) {
directoryOrFileOrProcess = new ArrayList<Meta>();
}
return this.directoryOrFileOrProcess;
}
}

View File

@ -0,0 +1,117 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for RetrievalMethodType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="RetrievalMethodType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Transforms" minOccurs="0"/&gt;
* &lt;/sequence&gt;
* &lt;attribute name="URI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
* &lt;attribute name="Type" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "RetrievalMethodType", propOrder = { "transforms" })
public class RetrievalMethodType {
@XmlElement(name = "Transforms")
protected TransformsType transforms;
@XmlAttribute(name = "URI")
@XmlSchemaType(name = "anyURI")
protected String uri;
@XmlAttribute(name = "Type")
@XmlSchemaType(name = "anyURI")
protected String type;
/**
* Gets the value of the transforms property.
*
* @return possible object is {@link TransformsType }
*
*/
public TransformsType getTransforms() {
return transforms;
}
/**
* Sets the value of the transforms property.
*
* @param value
* allowed object is {@link TransformsType }
*
*/
public void setTransforms(TransformsType value) {
this.transforms = value;
}
/**
* Gets the value of the uri property.
*
* @return possible object is {@link String }
*
*/
public String getURI() {
return uri;
}
/**
* Sets the value of the uri property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setURI(String value) {
this.uri = value;
}
/**
* Gets the value of the type property.
*
* @return possible object is {@link String }
*
*/
public String getType() {
return type;
}
/**
* Sets the value of the type property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
}

View File

@ -0,0 +1,81 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
* <p>
* Java class for SPKIDataType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="SPKIDataType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence maxOccurs="unbounded"&gt;
* &lt;element name="SPKISexp" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
* &lt;any processContents='lax' namespace='##other' minOccurs="0"/&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SPKIDataType", propOrder = { "spkiSexpAndAny" })
public class SPKIDataType {
@XmlElementRef(name = "SPKISexp", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class)
@XmlAnyElement(lax = true)
protected List<Object> spkiSexpAndAny;
/**
* Gets the value of the spkiSexpAndAny property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the spkiSexpAndAny property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getSPKISexpAndAny().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link Element }
* {@link Object } {@link JAXBElement }{@code <}{@link byte[]}{@code >}
*
*
*/
public List<Object> getSPKISexpAndAny() {
if (spkiSexpAndAny == null) {
spkiSexpAndAny = new ArrayList<Object>();
}
return this.spkiSexpAndAny;
}
}

View File

@ -0,0 +1,110 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for SignatureMethodType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="SignatureMethodType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element name="HMACOutputLength" type="{http://www.w3.org/2000/09/xmldsig#}HMACOutputLengthType" minOccurs="0"/&gt;
* &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
* &lt;/sequence&gt;
* &lt;attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SignatureMethodType", propOrder = { "content" })
public class SignatureMethodType {
@XmlElementRef(name = "HMACOutputLength", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
@XmlMixed
@XmlAnyElement(lax = true)
protected List<Object> content;
@XmlAttribute(name = "Algorithm", required = true)
@XmlSchemaType(name = "anyURI")
protected String algorithm;
/**
* Gets the value of the content property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the content property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link Object }
* {@link String } {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
*
*
*/
public List<Object> getContent() {
if (content == null) {
content = new ArrayList<Object>();
}
return this.content;
}
/**
* Gets the value of the algorithm property.
*
* @return possible object is {@link String }
*
*/
public String getAlgorithm() {
return algorithm;
}
/**
* Sets the value of the algorithm property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setAlgorithm(String value) {
this.algorithm = value;
}
}

View File

@ -0,0 +1,108 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
* <p>
* Java class for SignaturePropertiesType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="SignaturePropertiesType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureProperty" maxOccurs="unbounded"/&gt;
* &lt;/sequence&gt;
* &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SignaturePropertiesType", propOrder = { "signatureProperty" })
public class SignaturePropertiesType {
@XmlElement(name = "SignatureProperty", required = true)
protected List<SignaturePropertyType> signatureProperty;
@XmlAttribute(name = "Id")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
/**
* Gets the value of the signatureProperty property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the signatureProperty property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getSignatureProperty().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link SignaturePropertyType }
*
*
*/
public List<SignaturePropertyType> getSignatureProperty() {
if (signatureProperty == null) {
signatureProperty = new ArrayList<SignaturePropertyType>();
}
return this.signatureProperty;
}
/**
* Gets the value of the id property.
*
* @return possible object is {@link String }
*
*/
public String getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
}

View File

@ -0,0 +1,136 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
/**
* <p>
* Java class for SignaturePropertyType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="SignaturePropertyType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;choice maxOccurs="unbounded"&gt;
* &lt;any processContents='lax' namespace='##other'/&gt;
* &lt;/choice&gt;
* &lt;attribute name="Target" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
* &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SignaturePropertyType", propOrder = { "content" })
public class SignaturePropertyType {
@XmlMixed
@XmlAnyElement(lax = true)
protected List<Object> content;
@XmlAttribute(name = "Target", required = true)
@XmlSchemaType(name = "anyURI")
protected String target;
@XmlAttribute(name = "Id")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
/**
* Gets the value of the content property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the content property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link Element }
* {@link Object } {@link String }
*
*
*/
public List<Object> getContent() {
if (content == null) {
content = new ArrayList<Object>();
}
return this.content;
}
/**
* Gets the value of the target property.
*
* @return possible object is {@link String }
*
*/
public String getTarget() {
return target;
}
/**
* Sets the value of the target property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setTarget(String value) {
this.target = value;
}
/**
* Gets the value of the id property.
*
* @return possible object is {@link String }
*
*/
public String getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
}

View File

@ -0,0 +1,181 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
* <p>
* Java class for SignatureType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="SignatureType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}SignedInfo"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureValue"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}KeyInfo" minOccurs="0"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Object" maxOccurs="unbounded" minOccurs="0"/&gt;
* &lt;/sequence&gt;
* &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SignatureType", propOrder = { "signedInfo", "signatureValue",
"keyInfo", "object" })
public class SignatureType {
@XmlElement(name = "SignedInfo", required = true)
protected SignedInfoType signedInfo;
@XmlElement(name = "SignatureValue", required = true)
protected SignatureValueType signatureValue;
@XmlElement(name = "KeyInfo")
protected KeyInfoType keyInfo;
@XmlElement(name = "Object")
protected List<ObjectType> object;
@XmlAttribute(name = "Id")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
/**
* Gets the value of the signedInfo property.
*
* @return possible object is {@link SignedInfoType }
*
*/
public SignedInfoType getSignedInfo() {
return signedInfo;
}
/**
* Sets the value of the signedInfo property.
*
* @param value
* allowed object is {@link SignedInfoType }
*
*/
public void setSignedInfo(SignedInfoType value) {
this.signedInfo = value;
}
/**
* Gets the value of the signatureValue property.
*
* @return possible object is {@link SignatureValueType }
*
*/
public SignatureValueType getSignatureValue() {
return signatureValue;
}
/**
* Sets the value of the signatureValue property.
*
* @param value
* allowed object is {@link SignatureValueType }
*
*/
public void setSignatureValue(SignatureValueType value) {
this.signatureValue = value;
}
/**
* Gets the value of the keyInfo property.
*
* @return possible object is {@link KeyInfoType }
*
*/
public KeyInfoType getKeyInfo() {
return keyInfo;
}
/**
* Sets the value of the keyInfo property.
*
* @param value
* allowed object is {@link KeyInfoType }
*
*/
public void setKeyInfo(KeyInfoType value) {
this.keyInfo = value;
}
/**
* Gets the value of the object property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the object property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getObject().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ObjectType }
*
*
*/
public List<ObjectType> getObject() {
if (object == null) {
object = new ArrayList<ObjectType>();
}
return this.object;
}
/**
* Gets the value of the id property.
*
* @return possible object is {@link String }
*
*/
public String getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
}

View File

@ -0,0 +1,92 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
* <p>
* Java class for SignatureValueType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="SignatureValueType"&gt;
* &lt;simpleContent&gt;
* &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>base64Binary"&gt;
* &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
* &lt;/extension&gt;
* &lt;/simpleContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SignatureValueType", propOrder = { "value" })
public class SignatureValueType {
@XmlValue
protected byte[] value;
@XmlAttribute(name = "Id")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
/**
* Gets the value of the value property.
*
* @return possible object is byte[]
*/
public byte[] getValue() {
return value;
}
/**
* Sets the value of the value property.
*
* @param value
* allowed object is byte[]
*/
public void setValue(byte[] value) {
this.value = value;
}
/**
* Gets the value of the id property.
*
* @return possible object is {@link String }
*
*/
public String getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
}

View File

@ -0,0 +1,157 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
/**
* <p>
* Java class for SignedInfoType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="SignedInfoType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}CanonicalizationMethod"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureMethod"/&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Reference" maxOccurs="unbounded"/&gt;
* &lt;/sequence&gt;
* &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SignedInfoType", propOrder = { "canonicalizationMethod",
"signatureMethod", "reference" })
public class SignedInfoType {
@XmlElement(name = "CanonicalizationMethod", required = true)
protected CanonicalizationMethodType canonicalizationMethod;
@XmlElement(name = "SignatureMethod", required = true)
protected SignatureMethodType signatureMethod;
@XmlElement(name = "Reference", required = true)
protected List<ReferenceType> reference;
@XmlAttribute(name = "Id")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
/**
* Gets the value of the canonicalizationMethod property.
*
* @return possible object is {@link CanonicalizationMethodType }
*
*/
public CanonicalizationMethodType getCanonicalizationMethod() {
return canonicalizationMethod;
}
/**
* Sets the value of the canonicalizationMethod property.
*
* @param value
* allowed object is {@link CanonicalizationMethodType }
*
*/
public void setCanonicalizationMethod(CanonicalizationMethodType value) {
this.canonicalizationMethod = value;
}
/**
* Gets the value of the signatureMethod property.
*
* @return possible object is {@link SignatureMethodType }
*
*/
public SignatureMethodType getSignatureMethod() {
return signatureMethod;
}
/**
* Sets the value of the signatureMethod property.
*
* @param value
* allowed object is {@link SignatureMethodType }
*
*/
public void setSignatureMethod(SignatureMethodType value) {
this.signatureMethod = value;
}
/**
* Gets the value of the reference property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the reference property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getReference().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link ReferenceType }
*
*
*/
public List<ReferenceType> getReference() {
if (reference == null) {
reference = new ArrayList<ReferenceType>();
}
return this.reference;
}
/**
* Gets the value of the id property.
*
* @return possible object is {@link String }
*
*/
public String getId() {
return id;
}
/**
* Sets the value of the id property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
}

View File

@ -0,0 +1,344 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import org.w3c.dom.Element;
/**
* <p>
* Java class for SoftwareIdentity complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="SoftwareIdentity"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}BaseElement"&gt;
* &lt;choice maxOccurs="unbounded"&gt;
* &lt;element name="Entity" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Entity" maxOccurs="unbounded"/&gt;
* &lt;element name="Evidence" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Evidence" minOccurs="0"/&gt;
* &lt;element name="Link" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Link" maxOccurs="unbounded" minOccurs="0"/&gt;
* &lt;element name="Meta" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}SoftwareMeta" maxOccurs="unbounded" minOccurs="0"/&gt;
* &lt;element name="Payload" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}ResourceCollection" minOccurs="0"/&gt;
* &lt;any processContents='lax' namespace='##other' maxOccurs="unbounded" minOccurs="0"/&gt;
* &lt;/choice&gt;
* &lt;attribute name="corpus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
* &lt;attribute name="patch" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
* &lt;attribute name="media" type="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Media" /&gt;
* &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="supplemental" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" /&gt;
* &lt;attribute name="tagId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="tagVersion" type="{http://www.w3.org/2001/XMLSchema}integer" default="0" /&gt;
* &lt;attribute name="version" type="{http://www.w3.org/2001/XMLSchema}string" default="0.0" /&gt;
* &lt;attribute name="versionScheme" type="{http://www.w3.org/2001/XMLSchema}NMTOKEN" default="multipartnumeric" /&gt;
* &lt;anyAttribute processContents='lax' namespace='##other'/&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SoftwareIdentity", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", propOrder = { "entityOrEvidenceOrLink" })
public class SoftwareIdentity extends BaseElement {
@XmlElementRefs({
@XmlElementRef(name = "Evidence", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", type = JAXBElement.class, required = false),
@XmlElementRef(name = "Meta", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", type = JAXBElement.class, required = false),
@XmlElementRef(name = "Entity", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", type = JAXBElement.class, required = false),
@XmlElementRef(name = "Payload", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", type = JAXBElement.class, required = false),
@XmlElementRef(name = "Link", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd", type = JAXBElement.class, required = false) })
@XmlAnyElement(lax = true)
protected List<Object> entityOrEvidenceOrLink;
@XmlAttribute(name = "corpus")
protected Boolean corpus;
@XmlAttribute(name = "patch")
protected Boolean patch;
@XmlAttribute(name = "media")
protected String media;
@XmlAttribute(name = "name", required = true)
protected String name;
@XmlAttribute(name = "supplemental")
protected Boolean supplemental;
@XmlAttribute(name = "tagId", required = true)
protected String tagId;
@XmlAttribute(name = "tagVersion")
protected BigInteger tagVersion;
@XmlAttribute(name = "version")
protected String version;
@XmlAttribute(name = "versionScheme")
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlSchemaType(name = "NMTOKEN")
protected String versionScheme;
/**
* Gets the value of the entityOrEvidenceOrLink property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the entityOrEvidenceOrLink property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getEntityOrEvidenceOrLink().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link JAXBElement }{@code <}{@link Evidence }{@code >} {@link JAXBElement }
* {@code <}{@link SoftwareMeta }{@code >} {@link JAXBElement }{@code <}
* {@link Entity }{@code >} {@link Element } {@link JAXBElement }{@code <}
* {@link ResourceCollection }{@code >} {@link Object } {@link JAXBElement }
* {@code <}{@link Link }{@code >}
*
*
*/
public List<Object> getEntityOrEvidenceOrLink() {
if (entityOrEvidenceOrLink == null) {
entityOrEvidenceOrLink = new ArrayList<Object>();
}
return this.entityOrEvidenceOrLink;
}
/**
* Gets the value of the corpus property.
*
* @return possible object is {@link Boolean }
*
*/
public boolean isCorpus() {
if (corpus == null) {
return false;
} else {
return corpus;
}
}
/**
* Sets the value of the corpus property.
*
* @param value
* allowed object is {@link Boolean }
*
*/
public void setCorpus(Boolean value) {
this.corpus = value;
}
/**
* Gets the value of the patch property.
*
* @return possible object is {@link Boolean }
*
*/
public boolean isPatch() {
if (patch == null) {
return false;
} else {
return patch;
}
}
/**
* Sets the value of the patch property.
*
* @param value
* allowed object is {@link Boolean }
*
*/
public void setPatch(Boolean value) {
this.patch = value;
}
/**
* Gets the value of the media property.
*
* @return possible object is {@link String }
*
*/
public String getMedia() {
return media;
}
/**
* Sets the value of the media property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setMedia(String value) {
this.media = value;
}
/**
* Gets the value of the name property.
*
* @return possible object is {@link String }
*
*/
public String getName() {
return name;
}
/**
* Sets the value of the name property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setName(String value) {
this.name = value;
}
/**
* Gets the value of the supplemental property.
*
* @return possible object is {@link Boolean }
*
*/
public boolean isSupplemental() {
if (supplemental == null) {
return false;
} else {
return supplemental;
}
}
/**
* Sets the value of the supplemental property.
*
* @param value
* allowed object is {@link Boolean }
*
*/
public void setSupplemental(Boolean value) {
this.supplemental = value;
}
/**
* Gets the value of the tagId property.
*
* @return possible object is {@link String }
*
*/
public String getTagId() {
return tagId;
}
/**
* Sets the value of the tagId property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setTagId(String value) {
this.tagId = value;
}
/**
* Gets the value of the tagVersion property.
*
* @return possible object is {@link BigInteger }
*
*/
@SuppressWarnings("PMD")
public BigInteger getTagVersion() {
if (tagVersion == null) {
return new BigInteger("0");
} else {
return tagVersion;
}
}
/**
* Sets the value of the tagVersion property.
*
* @param value
* allowed object is {@link BigInteger }
*
*/
public void setTagVersion(BigInteger value) {
this.tagVersion = value;
}
/**
* Gets the value of the version property.
*
* @return possible object is {@link String }
*
*/
public String getVersion() {
if (version == null) {
return "0.0";
} else {
return version;
}
}
/**
* Sets the value of the version property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setVersion(String value) {
this.version = value;
}
/**
* Gets the value of the versionScheme property.
*
* @return possible object is {@link String }
*
*/
public String getVersionScheme() {
if (versionScheme == null) {
return "multipartnumeric";
} else {
return versionScheme;
}
}
/**
* Sets the value of the versionScheme property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setVersionScheme(String value) {
this.versionScheme = value;
}
}

View File

@ -0,0 +1,400 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for SoftwareMeta complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="SoftwareMeta"&gt;
* &lt;complexContent&gt;
* &lt;extension base="{http://standards.iso.org/iso/19770/-2/2015/schema.xsd}Meta"&gt;
* &lt;attribute name="activationStatus" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="channelType" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="colloquialVersion" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="edition" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="entitlementDataRequired" type="{http://www.w3.org/2001/XMLSchema}boolean" /&gt;
* &lt;attribute name="entitlementKey" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="generator" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="persistentId" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="product" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="productFamily" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="revision" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="summary" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="unspscCode" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;attribute name="unspscVersion" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
* &lt;anyAttribute processContents='lax'/&gt;
* &lt;/extension&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SoftwareMeta", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd")
public class SoftwareMeta extends Meta {
@XmlAttribute(name = "activationStatus")
protected String activationStatus;
@XmlAttribute(name = "channelType")
protected String channelType;
@XmlAttribute(name = "colloquialVersion")
protected String colloquialVersion;
@XmlAttribute(name = "description")
protected String description;
@XmlAttribute(name = "edition")
protected String edition;
@XmlAttribute(name = "entitlementDataRequired")
protected Boolean entitlementDataRequired;
@XmlAttribute(name = "entitlementKey")
protected String entitlementKey;
@XmlAttribute(name = "generator")
protected String generator;
@XmlAttribute(name = "persistentId")
protected String persistentId;
@XmlAttribute(name = "product")
protected String product;
@XmlAttribute(name = "productFamily")
protected String productFamily;
@XmlAttribute(name = "revision")
protected String revision;
@XmlAttribute(name = "summary")
protected String summary;
@XmlAttribute(name = "unspscCode")
protected String unspscCode;
@XmlAttribute(name = "unspscVersion")
protected String unspscVersion;
/**
* Gets the value of the activationStatus property.
*
* @return possible object is {@link String }
*
*/
public String getActivationStatus() {
return activationStatus;
}
/**
* Sets the value of the activationStatus property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setActivationStatus(String value) {
this.activationStatus = value;
}
/**
* Gets the value of the channelType property.
*
* @return possible object is {@link String }
*
*/
public String getChannelType() {
return channelType;
}
/**
* Sets the value of the channelType property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setChannelType(String value) {
this.channelType = value;
}
/**
* Gets the value of the colloquialVersion property.
*
* @return possible object is {@link String }
*
*/
public String getColloquialVersion() {
return colloquialVersion;
}
/**
* Sets the value of the colloquialVersion property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setColloquialVersion(String value) {
this.colloquialVersion = value;
}
/**
* Gets the value of the description property.
*
* @return possible object is {@link String }
*
*/
public String getDescription() {
return description;
}
/**
* Sets the value of the description property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setDescription(String value) {
this.description = value;
}
/**
* Gets the value of the edition property.
*
* @return possible object is {@link String }
*
*/
public String getEdition() {
return edition;
}
/**
* Sets the value of the edition property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setEdition(String value) {
this.edition = value;
}
/**
* Gets the value of the entitlementDataRequired property.
*
* @return possible object is {@link Boolean }
*
*/
public Boolean isEntitlementDataRequired() {
return entitlementDataRequired;
}
/**
* Sets the value of the entitlementDataRequired property.
*
* @param value
* allowed object is {@link Boolean }
*
*/
public void setEntitlementDataRequired(Boolean value) {
this.entitlementDataRequired = value;
}
/**
* Gets the value of the entitlementKey property.
*
* @return possible object is {@link String }
*
*/
public String getEntitlementKey() {
return entitlementKey;
}
/**
* Sets the value of the entitlementKey property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setEntitlementKey(String value) {
this.entitlementKey = value;
}
/**
* Gets the value of the generator property.
*
* @return possible object is {@link String }
*
*/
public String getGenerator() {
return generator;
}
/**
* Sets the value of the generator property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setGenerator(String value) {
this.generator = value;
}
/**
* Gets the value of the persistentId property.
*
* @return possible object is {@link String }
*
*/
public String getPersistentId() {
return persistentId;
}
/**
* Sets the value of the persistentId property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setPersistentId(String value) {
this.persistentId = value;
}
/**
* Gets the value of the product property.
*
* @return possible object is {@link String }
*
*/
public String getProduct() {
return product;
}
/**
* Sets the value of the product property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setProduct(String value) {
this.product = value;
}
/**
* Gets the value of the productFamily property.
*
* @return possible object is {@link String }
*
*/
public String getProductFamily() {
return productFamily;
}
/**
* Sets the value of the productFamily property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setProductFamily(String value) {
this.productFamily = value;
}
/**
* Gets the value of the revision property.
*
* @return possible object is {@link String }
*
*/
public String getRevision() {
return revision;
}
/**
* Sets the value of the revision property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setRevision(String value) {
this.revision = value;
}
/**
* Gets the value of the summary property.
*
* @return possible object is {@link String }
*
*/
public String getSummary() {
return summary;
}
/**
* Sets the value of the summary property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setSummary(String value) {
this.summary = value;
}
/**
* Gets the value of the unspscCode property.
*
* @return possible object is {@link String }
*
*/
public String getUnspscCode() {
return unspscCode;
}
/**
* Sets the value of the unspscCode property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setUnspscCode(String value) {
this.unspscCode = value;
}
/**
* Gets the value of the unspscVersion property.
*
* @return possible object is {@link String }
*
*/
public String getUnspscVersion() {
return unspscVersion;
}
/**
* Sets the value of the unspscVersion property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setUnspscVersion(String value) {
this.unspscVersion = value;
}
}

View File

@ -0,0 +1,111 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
* <p>
* Java class for TransformType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="TransformType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;choice maxOccurs="unbounded" minOccurs="0"&gt;
* &lt;any processContents='lax' namespace='##other'/&gt;
* &lt;element name="XPath" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
* &lt;/choice&gt;
* &lt;attribute name="Algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" /&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "TransformType", propOrder = { "content" })
public class TransformType {
@XmlElementRef(name = "XPath", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
@XmlMixed
@XmlAnyElement(lax = true)
protected List<Object> content;
@XmlAttribute(name = "Algorithm", required = true)
@XmlSchemaType(name = "anyURI")
protected String algorithm;
/**
* Gets the value of the content property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the content property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getContent().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list {@link Object }
* {@link String } {@link Element } {@link JAXBElement }{@code <}{@link String }
* {@code >}
*
*
*/
public List<Object> getContent() {
if (content == null) {
content = new ArrayList<Object>();
}
return this.content;
}
/**
* Gets the value of the algorithm property.
*
* @return possible object is {@link String }
*
*/
public String getAlgorithm() {
return algorithm;
}
/**
* Sets the value of the algorithm property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setAlgorithm(String value) {
this.algorithm = value;
}
}

View File

@ -0,0 +1,76 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for TransformsType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="TransformsType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Transform" maxOccurs="unbounded"/&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "TransformsType", propOrder = { "transform" })
public class TransformsType {
@XmlElement(name = "Transform", required = true)
protected List<TransformType> transform;
/**
* Gets the value of the transform property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the transform property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getTransform().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link TransformType }
*
*
*/
public List<TransformType> getTransform() {
if (transform == null) {
transform = new ArrayList<TransformType>();
}
return this.transform;
}
}

View File

@ -0,0 +1,83 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for Use.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
*
* <pre>
* &lt;simpleType name="Use"&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}NMTOKEN"&gt;
* &lt;enumeration value="required"/&gt;
* &lt;enumeration value="recommended"/&gt;
* &lt;enumeration value="optional"/&gt;
* &lt;/restriction&gt;
* &lt;/simpleType&gt;
* </pre>
*
*/
@XmlType(name = "Use", namespace = "http://standards.iso.org/iso/19770/-2/2015/schema.xsd")
@XmlEnum
public enum Use {
/**
*
* The [Link]'d software is absolutely required for installation
*
*
*/
@XmlEnumValue("required")
REQUIRED("required"),
/**
*
* Not absolutely required, but install unless directed not to
*
*
*/
@XmlEnumValue("recommended")
RECOMMENDED("recommended"),
/**
*
* Not absolutely required, install only when asked
*
*
*/
@XmlEnumValue("optional")
OPTIONAL("optional");
private final String value;
Use(String v) {
value = v;
}
public String value() {
return value;
}
public static Use fromValue(String v) {
for (Use c : Use.values()) {
if (c.value.equals(v)) {
return c;
}
}
throw new IllegalArgumentException(v);
}
}

View File

@ -0,0 +1,99 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementRefs;
import javax.xml.bind.annotation.XmlType;
import org.w3c.dom.Element;
/**
* <p>
* Java class for X509DataType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="X509DataType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence maxOccurs="unbounded"&gt;
* &lt;choice&gt;
* &lt;element name="X509IssuerSerial" type="{http://www.w3.org/2000/09/xmldsig#}X509IssuerSerialType"/&gt;
* &lt;element name="X509SKI" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
* &lt;element name="X509SubjectName" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
* &lt;element name="X509Certificate" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
* &lt;element name="X509CRL" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/&gt;
* &lt;any processContents='lax' namespace='##other'/&gt;
* &lt;/choice&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "X509DataType", propOrder = { "x509IssuerSerialOrX509SKIOrX509SubjectName" })
public class X509DataType {
@XmlElementRefs({
@XmlElementRef(name = "X509SKI", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "X509IssuerSerial", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "X509CRL", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "X509SubjectName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "X509Certificate", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false) })
@XmlAnyElement(lax = true)
protected List<Object> x509IssuerSerialOrX509SKIOrX509SubjectName;
/**
* Gets the value of the x509IssuerSerialOrX509SKIOrX509SubjectName
* property.
*
* <p>
* This accessor method returns a reference to the live list, not a
* snapshot. Therefore any modification you make to the returned list will
* be present inside the JAXB object. This is why there is not a
* <CODE>set</CODE> method for the
* x509IssuerSerialOrX509SKIOrX509SubjectName property.
*
* <p>
* For example, to add a new item, do as follows:
*
* <pre>
* getX509IssuerSerialOrX509SKIOrX509SubjectName().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link JAXBElement }{@code <}{@link byte[]}{@code >} {@link JAXBElement }
* {@code <}{@link X509IssuerSerialType }{@code >} {@link Element }
* {@link JAXBElement }{@code <}{@link byte[]}{@code >} {@link Object }
* {@link JAXBElement }{@code <}{@link String }{@code >} {@link JAXBElement }
* {@code <}{@link byte[]}{@code >}
*
*
*/
public List<Object> getX509IssuerSerialOrX509SKIOrX509SubjectName() {
if (x509IssuerSerialOrX509SKIOrX509SubjectName == null) {
x509IssuerSerialOrX509SKIOrX509SubjectName = new ArrayList<Object>();
}
return this.x509IssuerSerialOrX509SKIOrX509SubjectName;
}
}

View File

@ -0,0 +1,91 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
package hirs.utils.xjc;
import java.math.BigInteger;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for X509IssuerSerialType complex type.
* </p>
* <p>
* The following schema fragment specifies the expected content contained within
* this class.
* </p>
* <pre>
* &lt;complexType name="X509IssuerSerialType"&gt;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
* &lt;element name="X509IssuerName" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
* &lt;element name="X509SerialNumber" type="{http://www.w3.org/2001/XMLSchema}integer"/&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
* &lt;/complexType&gt;
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "X509IssuerSerialType", propOrder = { "x509IssuerName",
"x509SerialNumber" })
public class X509IssuerSerialType {
@XmlElement(name = "X509IssuerName", required = true)
protected String x509IssuerName;
@XmlElement(name = "X509SerialNumber", required = true)
protected BigInteger x509SerialNumber;
/**
* Gets the value of the x509IssuerName property.
*
* @return possible object is {@link String }
*
*/
public String getX509IssuerName() {
return x509IssuerName;
}
/**
* Sets the value of the x509IssuerName property.
*
* @param value
* allowed object is {@link String }
*
*/
public void setX509IssuerName(String value) {
this.x509IssuerName = value;
}
/**
* Gets the value of the x509SerialNumber property.
*
* @return possible object is {@link BigInteger }
*
*/
public BigInteger getX509SerialNumber() {
return x509SerialNumber;
}
/**
* Sets the value of the x509SerialNumber property.
*
* @param value
* allowed object is {@link BigInteger }
*
*/
public void setX509SerialNumber(BigInteger value) {
this.x509SerialNumber = value;
}
}

View File

@ -0,0 +1,10 @@
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2018.03.20 at 08:11:19 AM EDT
//
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.w3.org/2000/09/xmldsig#", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package hirs.utils.xjc;

File diff suppressed because it is too large Load Diff