Commit Graph

192 Commits

Author SHA1 Message Date
chubtub
93f212a193 Modify ReferenceManifestDetailsPageController class to include cert path check in reporting RIM signature validity. 2021-06-25 11:40:08 -04:00
chubtub
68c6447760 Add cert path validation to SupplyChainValidationServiceImpl class. Errors of this nature will be reported to the ACA under firmware. 2021-06-25 11:40:08 -04:00
Cyrus
be3cd2bd32 Removed the validation of the PCRs line by line for the expected PCR values. 2021-06-24 11:46:01 -04:00
Cyrus
b06025a71f Updated the Event Log Measurements class to use a hash for lookup 2021-06-17 12:52:28 -04:00
Cyrus
cd206f870c These changes may be removed because the issue is becoming more involved and I may need to rethink how this will work. 2021-06-16 08:52:40 -04:00
Cyrus
c523dda558 Some additional minor changes that are to address the event log being the object that is linked when the firmware validation passes. 2021-06-15 09:15:55 -04:00
Cyrus
9c060dec55 Updated event log measurements to pass in the overall result status. However display isn't printing out correctly. 2021-06-09 11:07:11 -04:00
Cyrus
0e8e88b536 This commit has updated changes that save both a base64 and a hex dec value of the RIM file hash to the database. Depending on what is needed, they are used to pull either the base or support RIM. Also fixed the link for the rimlinkhash on the details page. 2021-05-27 13:46:43 -04:00
Cyrus
8fbd6e1a39 Changed up some of the encoded for the rim byte array 2021-05-25 13:11:57 -04:00
Cyrus
7c86b6d0db Changed the pcr value check from the baseline expected pcr values to the measurement live log 2021-05-20 15:24:28 -04:00
Cyrus
65d596a756 Some additional updates that included deviceNames as a means to pull RIM information. In addition updated the display of the failures, adding filters for like events from the baseline. 2021-05-20 06:26:07 -04:00
Cyrus
ddc36d81f4 This set of code changes deals with the displaying of failed digests values from the validation process. The way there were displayed before was going to be unsustainable because event numbers will never match up. There for a direct compare to a failed event would never be accurate. 2021-05-17 12:44:03 -04:00
Cyrus
3b33bd60b8 The main change in this commit adjusts how the base and support rim are pulled for validation in the environment with multiple Base and Support RIMs per device/manufacturer/model. 2021-05-11 09:44:10 -04:00
Cyrus
1b06d956b4 Updated how the swidtags and support files are updated when imported. 2021-05-07 10:57:19 -04:00
Cyrus
5acc393541 This commit adds several changes that updates how the RIM files are accessed and made accessible from the DB as well as what is shown visually when there is a validation failure and the measurement log is shown. 2021-05-06 08:43:26 -04:00
Cyrus
61c4c81b77 Removed comments 2021-04-14 12:18:05 -04:00
Cyrus
5a82e48b61 Merge branch 'master' into event-digest-update 2021-04-13 08:50:42 -04:00
Cyrus
e70e019c6b This commit has some changes to how patch and supplemental are handled. It adds some flags to the Record and Value objects to note that data has been processed so that multiple entries aren't created. 2021-04-13 07:45:52 -04:00
Cyrus
760f246096
Merge pull request #342 from nsacyber/rim_digest_store
[#341] RIM Event Digest Store
2021-04-13 07:45:17 -04:00
Cyrus
39e2ab30d3 Corrected error. 2021-04-07 13:35:02 -04:00
Cyrus
29257695c1 Updated the code with some additional messaging information for the provisioner when it fails. I added a bit of code that eliminates the portal having an error when a support rim is failing, this doesn't allow it to ingest the rim into the database. 2021-04-07 10:53:09 -04:00
Cyrus
ea5b85b703 Updated the code to now display the var swidtag and rimel. However there are issues with the examples. This commit has fixes for how the pcr values are pulled for display on the base RIM page. 2021-04-02 06:34:47 -04:00
Cyrus
4911742c7a This is a checkout of some changes to the resource management for swid tags so that the file name listed is associated with the stored support RIMS. 2021-03-30 06:35:14 -04:00
Cyrus
a6c6fbfb31 Made some changes for using just the RIM Hash to pull support rims from the database to associated with the swid tag. Changed the rim hash from and int to a string. 2021-03-25 13:28:31 -04:00
Cyrus
c290ba25be Modified how unmatched log events are tested. Now it uses the reference event value from the database. 2021-03-23 13:13:17 -04:00
Cyrus
2110b7e94d Merge branch 'rim_digest_store' into event-digest-update 2021-03-23 11:31:42 -04:00
Cyrus
3e18ed8abb This small update changes where the string array of pcrs is pulled in the validation of the quote. Previously it is from the device info report but now it is from the bios measurement log file from the client. 2021-03-23 11:27:30 -04:00
Cyrus
30113c463a This is a quick fix for a null pointer exception that is occuring because the parsed values from the device's pcr list is not populated. They did have something but they didn't match what is in the RIM. Therefore, there should be a failure. 2021-03-22 09:52:26 -04:00
Cyrus
108748fb2a Undid some code and change the Digest Value class into a table in the database. This code then updates those values when a provision is initiated. At this time, that is all it does. 2021-03-19 11:01:25 -04:00
Cyrus
53cb300063 This is an initial commit with changes that add new classes for digest reference matching. 2021-03-17 10:23:08 -04:00
Cyrus
c66f4f7648
Merge pull request #334 from nsacyber/Unmatched-component-refactor
Unmatched component refactor
2021-03-09 13:07:16 -05:00
Cyrus
4b6bcccf85 Attempting to merge into master 2021-03-09 13:04:56 -05:00
Cyrus
c4741b869c Removed unused import 2021-03-09 07:27:35 -05:00
Cyrus
85e29529ae Modified a catch clause 2021-03-09 06:46:51 -05:00
Cyrus
bd5bca58ea I have modified the code to correct handle the situation in which the device has more components than the certificate and I have taken steps to make the system test GOOD pass for test A6, A7 and A8. 2021-03-05 15:36:29 -05:00
Cyrus
763dcbd975 These are changes that were made in the system-tests-test that resolved the issues in the first TPM 2.0 system tests on travis. 2021-03-04 08:01:18 -05:00
Cyrus
8a571f1788 When a delta has the component that is bad, not the base, it wasn't highlighting. This is because the component failures wasn't be updated and then the certificate needed to be updated as well. 2021-02-25 06:59:56 -05:00
Cyrus
a5184f5a5b Final changes that adds in the additional setting for the renewal period threshold. This value indicates that if the end validity has been reached for the current issued attestation certificate, then don't generate one. However if we are within the number of days set by the threshold, then generate the certificate before it expires. The default is 1 year from the end validity. 2021-02-23 10:17:56 -05:00
Cyrus
dcf0ec8101 Merge branch 'master' into aic-policy-rule 2021-02-11 14:13:28 -05:00
Cyrus
7912ff2f2e refactored some code around the SCV objects that should never be null. 2021-02-10 12:24:00 -05:00
Cyrus
9917fadef7 On a previous commit, I removed a piece of code that checked the base credential first. Because the delta fixed a problem in the base, the base failed before the delta was checked. This was completely removed. On a test that we had previously done, the test passes when it should fail because there is only a base, so that check isn't being done. This change reintroduces the check but in a different location with flags for when there is a delta present. 2021-02-09 13:30:37 -05:00
Cyrus
7b79ceb07a Found the issue with the component being removed that doesn't have a proper serial number and adding one with it. The code was revalidating the base in the attributes enabled flag. This was unncessary. 2021-02-08 14:25:10 -05:00
Cyrus
4999c96685 Updated code to correct situations that were not linking up with properly for delta and platform certificate component validation. 2021-02-05 16:10:15 -05:00
Cyrus
677716fa08 Merge branch 'master' into Unmatched-component-refactor 2021-02-04 08:51:31 -05:00
Cyrus
5589096443 Cleaned up some stuff I found during code compare in github. 2021-01-20 13:23:51 -05:00
chubtub
88015df551 Checkstyle: unused import 2021-01-14 13:19:17 -05:00
Cyrus
859fdbef83 Added a null check for the platformCredentials in the issued certificate attribute helper so that NPEs aren't thrown. 2021-01-14 12:48:53 -05:00
Cyrus
164a43f056 These are unit tests that were not run on the merge request #327 for issue 308. The unit tests uses certificate (EC and 2 CAs) that don't match for SKI to AKI or issuer string fields. The O= field isn't required and the code in #327 was changed to use SKI first then a sorted RDN list. See #327. A note was left in the unit tests that the test certs need to be updated.` 2021-01-14 12:41:29 -05:00
Cyrus
beb1ccbee3 Updated a supply chain validation check for delta certificates. Updated the check for duplicate base platform certificates when storing them for the same device and updated the begin validity date for the delta vs the base check. 2021-01-12 12:26:54 -05:00
Cyrus
058c58d208 Updated the begin validity date check for the base and delta so that it is only an error if the delta begin date is older than the platform. Equal is allowed. 2021-01-07 12:51:01 -05:00
Cyrus
85254d9c44 Removed null assignment that isn't used 2021-01-05 08:14:18 -05:00
Cyrus
7028810707 This latest push should have the code that'll highlight the components based on a string rather than the serial number. This also adds additional checks for the validity begin date of the delta not matching or being before the base. It also checks that they don't have the same certificate serial number. 2020-12-30 08:41:47 -05:00
Cyrus
6dd948c828 Added a null check for the endorsement credential for the tpm 1.2 2020-12-18 06:58:18 -05:00
Cyrus
a7eae2fd77 Test out an potential exception 2020-12-17 13:09:03 -05:00
Cyrus
f38fa87013 Undid some code I took out 2020-12-17 09:31:39 -05:00
Cyrus
1db52cebf9 This is a stopping point because the code can't be fully worked out because the data (certificates) aren't correct. 2020-12-17 07:24:51 -05:00
Cyrus
62c7ca2d90 This PR is to address issue #308. The ACA was pulling Issuer Certificates using the organization RDN of the subject string and getting this from the issuer string of the EC or PC. This presents a problem because it isn't a required field. The organization field cannot be null or empty. Pulling objects from a DB using null or empty would produce bad results. The main change of this issue (which has not been full tested) is pulling using the AKI for the db lookup. If this fails, instead of falling back on potentially left out fields like the O= RDN, the ACA takes the issuer/subject fields, breaks them apart and sorts them based on the key. It also changes the case. This way the lookup can be assured to match in case of some random situation in which the issuer or subject field don't match because RDN keys are just in different positions of the string. 2020-12-11 14:47:46 -05:00
Cyrus
209024c12a Cleaned up some comments and code. 2020-12-07 09:47:54 -05:00
Cyrus
a3de35ed27 The issue with the tpm 1.2 system test failing had to do with the string to integer conversion using getInteger instead of parseInt. 2020-12-07 07:44:48 -05:00
Cyrus
11f238f671 Testing system tests 2020-12-04 08:36:42 -05:00
Cyrus
e64c6cf772 Merge branch 'master' into aic-policy-rule 2020-12-03 13:34:29 -05:00
Cyrus
e32e9412d8 Merge branch 'master' into Unmatched-component-refactor 2020-12-03 13:20:12 -05:00
Cyrus
a07fbbd847 In a previous pull request, the reference manifest manager was not called to update the unarchived base rim. So it appears to never have been uploaded. 2020-12-02 11:46:42 -05:00
Cyrus
7d49f63a9b Merge branch 'master' into multiple-rim-upload 2020-12-02 11:05:12 -05:00
Cyrus
70662bddec Updated how the bios measurement file is uploaded. Changed the code to pull the string from the properties file instead of a hard link in the code. 2020-12-01 11:13:41 -05:00
Cyrus
9534d6650f Merge branch 'master' into platform_cert_missing_fix 2020-12-01 09:47:45 -05:00
Cyrus
a32d3a5f02 Remove comments 2020-12-01 09:46:05 -05:00
Cyrus
6eefb393a3 Updated the code to pull all the files from a swid tag file directory and a rim log file directory, instead of a single file. 2020-11-30 14:16:57 -05:00
Cyrus
857f1eb0ff There was a pull for an object that would be null without any RIMs uploaded. 2020-11-30 10:11:25 -05:00
Cyrus
749a3a2317 When the provisioner sends the rim swidtag and the rimel and they already exists in the db but are archived, they don't unarchive them so they never show up on the RIM page. This change fixes that. 2020-11-25 10:06:56 -05:00
Cyrus
9433c97dc9 The code now uses a combination of the class value and the platform manufacturer and model to identify mismatches. This now highlights the failured components 2020-11-25 08:02:45 -05:00
Cyrus
fbdcf83840 Continued refactoring to update the failed components part of the attribute validation. The delta mapping needs to be reworked to not use serials. 2020-11-23 14:46:29 -05:00
Cyrus
2b41720ded Merge branch 'master' into update-component-failure-highlight 2020-11-17 15:24:27 -05:00
Cyrus
ea03737234 Testing travis 2020-11-16 14:49:53 -05:00
Cyrus
4291059142 Updated the break line option for failed string during firmware validation. 2020-11-16 12:39:57 -05:00
Cyrus
3a3919d9bc Added null checks for the SupplyChainPolicy object 2020-11-13 08:41:33 -05:00
Cyrus
6eeb630a75 This PR addresses the bugs identified in #314. Due to previous changes to the RIM upload process, the suppor RIM was not being updated properly when manually uploaded.
Closes #314
2020-11-12 13:45:38 -05:00
Cyrus
67b70a386d Added method to combine the manufacturer and the model as an identifier for the component. 2020-11-10 10:04:46 -05:00
Cyrus
e8f5107137 Updating code to use a different format for identifying failed components. 2020-11-09 13:59:19 -05:00
Cyrus
967d9a0030 Merge branch 'master' into aic-policy-rule 2020-11-09 07:24:33 -05:00
Cyrus
9aa2c6a46d Merge branch 'master' into client-display-log-mismatch 2020-11-06 09:17:38 -05:00
Cyrus
ed7dea3706 Merge branch 'master' into aic-policy-rule 2020-11-06 06:42:44 -05:00
chubtub
623da2ce80 Overload RIM validator class for faster signature checking 2020-11-05 14:13:50 -05:00
Cyrus
c7ffb1c57d Merge branch 'master' into client-display-log-mismatch 2020-11-05 12:39:35 -05:00
chubtub
d096aebe12 Add support RIM and signature validation checks to SupplyChainValidationServiceImpl class 2020-11-05 11:27:41 -05:00
Cyrus
e1c3a1fc0f Initial Commit 2020-10-29 08:58:37 -04:00
Cyrus
24e460e0c4 This is a refactore that changes BiosMeasurements into EventLogMeasurements for evolving naming convention updates. 2020-10-26 11:09:26 -04:00
Cyrus
d7ade70b5c This branch takes the validated status of a failed event log matching from the bios measurements on the client and displays what failed on the support RIM page and the fail validation icon, if log mismatch, links to a bios measurments page that displays the events that didn't match next to baseline. 2020-10-22 13:32:30 -04:00
Cyrus
3df6eff549 Removed debug code 2020-10-19 13:20:27 -04:00
Cyrus
96970142cb This commit includes a completed rewrite of the ReferenceManifestSelector framework. Like the previous rewrite, it was easier and made more sense to create addition classes ands that are specific to a type of RIM (base, support, measurement) for referencing in the DB. Once this was rewritten the code was modified to validate the measurement against the support rim. 2020-10-19 13:06:44 -04:00
Cyrus
2c97666bb9 This commit adds code to pull the bios measurements file to the ACA 2020-10-13 13:51:14 -04:00
Cyrus
f9b0ce413d This commit adds minor tweaks. The first updates the post install script to overwrite, rather than append, the file names to the tcg boot properties file. The next tweak properly loads the Base and Support RIM from the provisioning process into the DB. 2020-10-13 11:42:50 -04:00
Cyrus
4b0bb2df91 This commit updates the provisioner to pull the rim and swidtag locations from a properties file that will be created during the post install process. The provisioner then pulls the values and sends them to the ACA. The ACA currently just prints out the content and saves the swidtag. 2020-10-09 10:48:17 -04:00
Cyrus
3f57b0ab81 This is the initial code set up to pull the log file from the provisioner and send it to the ACA. Task 1 of #238. 2020-10-07 09:37:53 -04:00
Cyrus
17728d3019 Updated the error message for no associated RIM not found, cleaned up display of the event content and adjusted the column of the digest display. 2020-10-06 07:42:15 -04:00
Cyrus
b42dfb577f The manufacturer look up for a RIM was inadequate. This change pulls down all RIMs and searches for the base RIM that matches instead of just pulling down a RIM by Manufacturer. 2020-10-05 11:37:38 -04:00
Cyrus
89fbaa0517 PCR policy matching wasn't propertly failing because the baseline from the support RIM was not properly populating. 2020-10-05 10:44:18 -04:00
Cyrus
653acd270e With the changes to how the ReferenceManifest is represented in the code and the previous firmware validation PR update, this branch wasn't properly updated for quote validation. The code was still pulling information for the baseline from an old source that wouldn't work anymore. Therefore all validations for the quote failed. The update now pulls the baseline information from the support RIM which is now stored in the database. 2020-10-01 12:14:29 -04:00
Cyrus
cb4dc0aa7f Corrected checkstyles warning 2020-09-30 12:26:46 -04:00
Cyrus
35dcc226a6 Updated and fixed the difference in the code from the master branch merge 2020-09-30 11:33:28 -04:00