Commit Graph

850 Commits

Author SHA1 Message Date
apldev3
ec8c4b5c3e
[#71] Dockerize TPM 1.2 Provisioner and Integrate with Docker Compose (#77)
* [#71] Initial Dockerization of TPM 1.2 Provisioner

* Fix permissions on new script

* Fix current bugs

* [#71] Try a new direction for setting up TPM 1.2 Provisioner Testing

* [#71] Attempt to the latest version of Trousers on Travis CI VM for 1.2 Provisioner support

* [#71] Try IBM TPM 1.2 Emulator

* [#71] Move towards cleaning up work

* [#71] Update TPM1.2 Provisioner Docker to work with Docker Compose in Systems Test

* [#71] Get TPM 1.2 Provisioner to provision successfully in Docker container

* Update system tests script to include TPM 1.2 Provisioner container

* [#71] Separate TPM 1.2 and 2.0 Provisioner System Tests

* [#71] Pipe TPM Emulator log output to file to clear up system test output
2019-02-04 14:26:54 -05:00
busaboy1340
afd5fd29e4
[#82] Systems Tests not Reporting Failure Correctly (#83)
* Test failing system tests report correctly in Travis.

* Test successful system tests report correctly in Travis.

* Test failing system tests report correctly in Travis.

* Test successful system tests report correctly in Travis.

* Test failing system tests report correctly in Travis.

* Test successful system tests report correctly in Travis.
2019-02-01 06:00:10 -05:00
apldev4
bce78c0122 [#78] hirs-provisioner-tpm2 on path after installation. (#84)
There was a problem in the rpm-post-install.sh script
that ran as part of the CentOS7 rpm installation where
a link was being created called libcurl.so which pointed
to libcurl.so.4. If the link could not be created because
it already existed, the script would quit before finishing
and never place hirs-provisioner-tpm2 in a directory on
the PATH.

The proper solution was to link hirs-provisioner against
libcurl.so.4 so that it is clear which version of the API
was compiled against. This was not happening because
we were linking against a version of curl build by the CPR
project which was not properly embedding the SONAME in the
shared object file. By linking instead against the shared
object file distributed in the development package of
libcurl, hirs-provisioner-tpm2 now looks for libcurl.so.4
rather than the generic libcurl.so. This will prevent our
executable from breaking if libcurl.so gets updated to point
to a newer version of libcurl that uses a different API.

Closes #78.
2019-01-31 11:50:43 -05:00
iadgovuser26
51b03bb209 Incremented VERSION to 1.0.3 (#81) 2019-01-28 17:08:01 -05:00
apldev2
b40094373b Fix Style Issue in Build (#76)
A couple of variables had conflicting names and the inner scope was
shadowing the outer. Style checker was complaining. Deleted one inner
definition and renamed another variable.
2019-01-23 17:01:59 -05:00
busaboy1340
17d7dbd6f7
#67 Add systems tests for HIRS Provisioner TPM 2.0 (#73)
* Added System Tests.

* Cleaned up scripts

* Cleaned up system tests.

* Cleaned up system tests.

* Cleaned up system tests.

* Updated system tests.

* Code review updates.
2019-01-15 12:46:06 -05:00
apldev3
05a78a3d79
[#46] Setup Travis for HIRS Integration Tests (#68)
* [#46] Ensure Travis mounts repository rather than clones it in Docker

* [#46] Containerize HIRS ACA and prep ACA container for Integration Tests

* [#46] Containerize HIRS TPM2Provisioner and prep TPM2Provisioner container for Integration Tests

* [#46] Replace localinstall with install

* [#46] Prevent rebuilding of packages unnecessarily

* [#46] Finish initial docker compose setup for integration tests

* [#46] Allow for detection of complete Integration Environment Setup

* [#46] Fix Travis CI to allow for detecting Integ Test Environ Stand-Up

* [#46] Fix Initial Integration Test Script

* [#46] Troubleshoot Integration Test script
2019-01-07 15:28:53 -05:00
iadgovuser26
64c532ff2f [#54] ACA Users guide (#57)
* Added the ACA Users Guide

* Updated the installation notes on the ACA portal help page

* changed format of user guide from pdf to doc

* [#54] Edit ACA Users Guide

* Updated the ACA Install and User Guide

* Added the ACA Users Guide.

Updated the ACA install Notes and added the ACA User Guide.
2019-01-07 11:28:23 -05:00
apldev3
a6f5a48307
[#69] Add null checks to Component Identifier Serial/Revision Trimming (#70) 2019-01-06 22:06:46 -05:00
apldev2
634d09ff5d Add selector for Endorsement Credential and Platform Credential Deletion (#66)
Adds a selector method to retrieve ECs and PCs by their associated device
so they can be deleted.
2018-12-14 12:02:03 -05:00
Cyrus
6624296abe [#43] Additional certificate fields to display
* This change adds in additional information about the certificate, which include the public key and signature algoritms and their sizes, the key usage and extended key usage, the certificate version number for EK and CA certs and the issuer section expanded with Auth Key Id and Auth Info Access.

* Made some fixes to the platform class print out.  Needs to print out string representation of the value.

* Additional changes for the certificate details page.  Going over the spec determining what should be shown and what should be hidden if no information is specified.

* This change adds in additional information about the certificate, which include the public key and signature algoritms and their sizes, the key usage and extended key usage, the certificate version number for EK and CA certs and the issuer section expanded with Auth Key Id and Auth Info Access.

Made some fixes to the platform class print out.  Needs to print out string representation of the value.

Additional changes for the certificate details page.  Going over the spec determining what should be shown and what should be hidden if no information is specified.

Small updates to code commits and statements

* Stashing changes.

* Correcting some unit test fail instances.  The PC Test fails because the tested cert is not updated to new (constantly changing) specs.  Not just on the value but also on the value type.

* Fixing git merge meta data.

* Updates to include the Authority Key information as a set rather than just one item.  Using a bouncy castle defined class.

* Reversed the type of variable the public key value returns so that the unit test for it doesn't have to change.  The type wasn't important, it was a convenience decision.

* Adding changes based on review comments from @apldev3.

* Made changes based on github review comments.

* Additional changes for github comments

* Updated the code for the public key size on CA and EK certificates.  There was a previous issue with 4 additional bytes being included in the size.

* Some more changes for Github comments
2018-12-13 09:30:10 -05:00
apldev4
6f99a10ad3 [#62] Cleaned up preprocessor file expansion.
There were unnecessary references to file paths in the executable.
2018-12-11 16:23:51 -05:00
apldev3
74728c6e0d
Replace Refs of yum localinstall with yum install
There is no functional difference between `yum install` and `yum localinstall`, however the former is preferred for modern conventions' sake.
2018-12-11 15:48:56 -05:00
Michael Tsai
e2e07a3ec2 TPMBaseline.isEmpty() method, activated tests
Added unit test for TPMBaseline.isEmpty(). Change exception type thrown in generator class

Added unit tests to account for both an empty and a non-empty baseline object

Checkstyle changes
2018-12-07 10:03:19 -05:00
apldev2
02cb30ad6d Add changes for device deletion.
Changes data structures to facilitate deletion of devices
from the DB and all other entries with foreign key relationships.
2018-12-04 17:25:35 -05:00
apldev1
3c5a657c17 [#55] Add displayTitle to Alert
These changes simply add a field called
'displayTitle' to the Alert class to hold
a human-readable title for each Alert instance.

Closes #55.
2018-11-30 15:20:01 -05:00
apldev3
c4bc52bd42
[#52] Make TPM2 Provisioner check for a running Resource Manager (#53)
[#52] Make TPM2 Provisioner check for a running Resource Manager
2018-11-26 16:45:22 -05:00
apldev1
c12cb135f1 [#49] Modify getPolicy behavior to reflect use
DBPolicyManager's getPolicy(appraiser, device) has historically
returned the default policy for an appraiser if none is defined
in the device group that the given device belongs to.  However,
this behavior does not in fact support the current use of devices,
groups, and policies; in the case where a group has no policy
assigned for a type of appraiser, the system is in a state
where that type of appraisal will not occur for devices in
a given group.  To better reflect desired behavior, the method
now returns null if a policy is not explicitly set for
the given (appraiser, device group) pair.

Closes #49.
2018-11-08 10:53:31 -05:00
apldev4
0586afb9d8
[#41] Provisioners use PACCOR for device info collection. (#45)
The provisioners used to shell out using different tools
to collect device info. Now they both use PACCOR instead.
2018-11-07 14:54:48 -05:00
apldev3
f8b9dfe582 [#47] Prevent deletion of external dependencies for TPM 2.0 Provisioner (#48) 2018-11-07 10:45:42 -05:00
apldev3
f769da4b15 [#32] Add package stage to Travis Build 2018-11-02 13:18:09 -04:00
iadgovuser26
d1bdf95696
Updated for release 1.0.2 2018-11-01 13:35:21 -04:00
apldev1
2d0806e5a8 [#33] IMA baselines can match measurements based solely on hashes (#34)
ImaAcceptableRecordBaseline and its subclasses have been updated to include
a containsHashes method to be able to match IMA measurement records
based solely on their hashes.  Supporting classes have been
updated or created as necessary.

Additionally, the set of path equivalencies as specified in the IMA
policy have been updated to include additional entries.

Closes #33.
2018-11-01 10:47:33 -04:00
apldev3
37ba6de3cd [#7] Ensure Ubuntu support pending end-user installation of supported TPM2 Libraries 2018-11-01 09:47:40 -04:00
apldev3
ce380db48c [#38] ACA checks uploaded EK Certs if one is not provided during provisioning 2018-11-01 09:30:01 -04:00
iadgovuser26
90d7f40fda
Merge pull request #37 from nsacyber/issue-36
[#36] TPM Provisioner status output
2018-10-31 14:02:44 -04:00
apldev3
87be5a396b [#25] Make ACA exception handling more descriptive 2018-10-31 09:26:20 -04:00
Michael Tsai
fe0a542aa6 Print provisioner installation comments to console 2018-10-29 13:05:26 -04:00
apldev4
6847c814af [#28] ACA RPM modifies SELinux policy to allow Tomcat to use MySQL.
The CentOS7 package selinux-policy-targeted does not allow Tomcat
to use port 3306, which is the default MySQL port. This commit
changes the ACA RPM to modify the SELinux policy to grant that
permission on fresh installs. This makes the ACA RPM now require
the policycoreutils package to be installed.
2018-10-24 11:24:03 -04:00
apldev3
17b1426288 [#27] Fix TPMSecurityAssertions Parsing in EndorsementCredential (#31) 2018-10-23 11:40:49 -04:00
apldev3
f192ce5826 [#23] Update HIRS Utils and ACA to handle certificate padding (#26) 2018-10-18 14:34:52 -04:00
apldev2
23570f71c3 Adding Tpm2-tss support for Deb packaging.
Changes how tpm20.h, which contains the TPM2 SAPI, is
imported to allow successful packaging of both debs and
rpms.
2018-10-18 12:05:43 -04:00
Taruan Matthews
cc12a02c53 This change forces the supply chain validation service to verify that the Platform Credential has a status of PASS. If it does not, no matter the outcome of the Attributes validation, the status of the Attributes can not be PASS.
Added an additional null check for a platform supply validation.  Added a mapping object for platform credential to the associated attributes during validations.

Added an additional null check for a platform supply validation.  Added a mapping object for platform credential to the associated attributes during validations. Missed import statement.
2018-10-15 10:38:21 -04:00
apldev3
65f9cb0af7 Revise Docker to Always Pull Latest HIRS project 2018-10-12 14:26:01 -04:00
apldev3
e711f9df55 [#14] Parallelize Subproject CI Builds and Pull Pre-Built Image 2018-10-12 12:01:46 -04:00
Taruan Matthews
4bb5fae0a4 Adding ability to delete Attestation Certificates on the ACA. 2018-10-05 11:04:44 -04:00
Taruan Matthews
916638be03 Updating the certificate details page to display the Holder information and include a link to the associated Endorsement Certificate. 2018-10-04 10:08:05 -04:00
apldev3
e27e5ea1e6 [#7] Setup Build/Package Support for Ubuntu (#9) 2018-10-02 16:21:35 -04:00
apldev3
66551196f5 Update README to include Build Status 2018-09-26 13:44:59 -04:00
apldev3
00b1c913e4 [#12] Setup basic Travis CI build 2018-09-26 13:18:51 -04:00
apldev1
eced951933 [#10] Fix representation of zero-valued hashes
Zero-value hashes, and hashes of no data, are now
considered as matches to equal values instead of
treating them as 'unknown'.
2018-09-24 11:18:45 -04:00
apldev3
9731a78fcb [#7] Support Building (Not Packaging) on Ubuntu 18.04 2018-09-18 18:23:48 -04:00
iadgovuser26
3fec5ffc1e
Fixed link to the Platform Credential Profile. 2018-09-18 10:03:53 -04:00
apldev3
968d69c3ab Update Link to Build Instructions on main README 2018-09-17 12:42:46 -04:00
apldev3
8363ab867c [#3] Ensure ACA and TPM2 Provisioner handle versioning correctly 2018-09-17 12:38:22 -04:00
apldev3
bdbc85ef4d [#3] Ensure ACA and TPM2 Provisioner handle versioning correctly 2018-09-17 12:28:05 -04:00
apldev3
12f770080a [#1] Add support for processing ECC certificates as part of the trust chain 2018-09-13 13:09:48 -04:00
apldev3
4e59c5fff3 Remove old CI Runner config 2018-09-12 09:59:00 -04:00
iadgovuser26
2b053e6e8a
Updated CONTRIBUTING.md 2018-09-07 13:59:31 -04:00
apldev4
d7e44b8310 Initial release 2018-09-06 09:47:33 -04:00