paccor¶
Create, sign, inspect, and validate TCG Platform Certificates from documented JSON inputs.
paccor is built around the TCG Platform Certificate specifications and supports the v2.1, v1.1, and v1.0 families, including both attribute-certificate and public-key-certificate flows where the profile allows them.
The docs are organized around one practical question: how do you get from hardware facts and policy JSON to a certificate you can inspect and trust?
Start Here¶
-
Run the golden path
Start with
pc_certgento see the whole system work end to end on one machine. -
Pick a certificate flow
Use the profile tutorials when you already know the spec family or need a reproducible command sequence.
-
Pick a signing strategy
Choose between local keys, PKCS#11, remote signing, and detached signatures.
-
Read the exact CLI
Use the command reference and generated Picocli help when you need precise options and behavior.
What You Can Do¶
-
Follow the pipeline
Understand how manifests, policy, extensions, signing, and validation fit together.
-
Map JSON to ASN.1
Compare field names, aliases, OIDs, and generated schema-backed references.
-
Collect hardware data
Feed
ManifestV2JSON from the .NET collection libraries directly into paccor. -
Validate and inspect output
See representative
validateandviewoutput before you wire paccor into a larger flow.
The pipeline¶
flowchart LR
spec["TCG Platform<br/>Certificate Profiles<br/>v1.0 / v1.1 / v2.1"]
ccr["paccor.smbios<br/>paccor.pcie<br/>paccor.storage<br/>(Component Class<br/>Registry tools)"]
proto["HardwareManifest.proto"]
json["Hardware Manifest JSON"]
paccor["PACCOR"]
cert["Signed Platform<br/>Certificate"]
spec --> json
ccr --> proto
proto --> json
json --> paccor
paccor --> cert
classDef spec fill:#1f6feb,stroke:#0b3d8c,color:#fff
classDef tool fill:#0e7c66,stroke:#06463a,color:#fff
classDef artifact fill:#bf8700,stroke:#6e4d00,color:#fff
classDef output fill:#8957e5,stroke:#4f31a3,color:#fff
class spec spec
class ccr,paccor tool
class proto,json artifact
class cert output
Why this site is structured this way¶
The generated reference pages are backed by ASN.1 notation and code-level metadata so they stay close to the implementation. The curated pages are there to make the implementation easier to use: a first-run path, profile-specific walkthroughs, signing choices, and compact output examples.
Status¶
paccor is maintained by NSA Cybersecurity Directorate. Downloadable distributions are published on the GitHub releases page.
The original v1.1 user guide remains available as a PDF reference. The MkDocs site complements that guide with generated schema reference pages, profile-oriented tutorials, and implementation notes tied directly to the current codebase.