-
Notifications
You must be signed in to change notification settings - Fork 28
/
README
154 lines (117 loc) · 3.89 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
This is the source for the community website of the tpm2-software namespace on
GitHub. It uses github pages (with Jekyl).
# Building (locally)
Note that github.io will automatically build this page, but you should probably
test it locally first.
## Prerequisits
Ubuntu
```console
$ sudo apt-get -y install ruby ruby-dev build-essential libz-dev
```
Fedora
```console
$ sudo dnf -y install ruby ruby-devel zlib-devel gcc g++ make redhat-rpm-config
```
Install bundler, which is used to install the dependencies specifically for
building this repo.
```console
$ gem install bundler
```
You may need to add the place gem's puts binaries to your `PATH`.
```console
$ export PATH="${HOME}/bin:${PATH}"
```
Make sure you're in the top level directory of this repo when you run the next
command.
```console
$ bundle install
```
## Build
```console
$ bundle exec jekyll serve --incremental
```
## TPM2 Software Stack Diagram
```mermaidjs
graph BT
tss[TSS: tpm2-tss]
tcti-mssim[Mssim TCTI: tpm2-tss: tcti-mssim]
tcti-device[Device TCTI: tpm2-tss: tcti-device]
simulator[TPM 2.0 Simulator]
hardware[TPM 2.0 Hardware]
uefi[UEFI]
tcti-uefi[UEFI TCTI: tpm2-tcti-uefi]
linux[Linux]
tpm0[Kernel Driver: /dev/tpm0]
tpmrm0[Kernel Resource Manager: /dev/tpmrm0]
abrmd[Userspace Resource Manager: tpm2-abrmd]
tcti-tabrmd[Userspace Resource Manager TCTI: tpm2-abrmd: tcti-tabrmd]
engine[OpenSSL Engine: tpm2-tss-engine]
totp[Device to Human attestation: tpm2-totp]
pkcs11[PKCS#11 Interface: tpm2-pkcs11]
tools[Command Line Tools: tpm2-tools]
swig[SWIG Interfaces: tpm2-swig]
pytss[TSS Python Bindings: tpm2-pytss]
subgraph Legend
legend-TPM[TPM]
legend-OS[Ring 0]
legend-RM[Resource Manager]
legend-TCTI[TCTI]
legend-Library[Library]
legend-Module[.so]
legend-EndUser[End User]
end
classDef TPM fill:#5ff,stroke:#333;
classDef OS fill:#f9f,stroke:#333;
classDef RM fill:#f85,stroke:#333;
classDef TCTI fill:#af6,stroke:#333;
classDef Library fill:#7da,stroke:#333;
classDef Module fill:#def,stroke:#333;
classDef EndUser fill:#ffa,stroke:#333;
class legend-TPM,simulator,hardware TPM;
class legend-OS,uefi,linux,tpm0 OS;
class legend-RM,tpmrm0,abrmd RM;
class legend-TCTI,tcti-uefi,tcti-mssim,tcti-device,tcti-tabrmd TCTI;
class legend-Library,tss,pytss Library;
class legend-Module,engine,pkcs11 Module;
class legend-EndUser,totp,tools EndUser;
simulator --> tcti-mssim
hardware --> uefi
hardware --> linux
linux --> tpm0
linux --> tpmrm0
uefi --> tcti-uefi
tpm0 --> tcti-device
tpmrm0 --> tcti-device
tcti-device--> abrmd
abrmd --> tcti-tabrmd
tcti-uefi --> tss
tcti-mssim --> tss
tcti-device --> tss
tcti-tabrmd --> tss
tss --> engine
tss --> totp
tss --> pkcs11
tss --> tools
tss --> swig
swig--> pytss
pytss --> pkcs11
```
Edit in Live editor: https://mermaidjs.github.io/mermaid-live-editor/
## LICENSE
All content of this repository is licensed under [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
## CONTIBUTING
All changes should be introduced via github pull requests. This allows anyone to
comment and provide feedback in lieu of having a mailing list. For pull requests
opened by non-maintainers, any maintainer may review and merge that pull
request. For maintainers, they either must have their pull request reviewed by
another maintainer if possible, or leave the PR open for at least 24 hours, we
consider this the window for comments.
- All commits should adhere to the git commit message guidelines described here:
https://chris.beams.io/posts/git-commit/ with the following exceptions.
- We allow commit subject lines up to 80 characters.
- All contributions must adhere to the Developers Certificate of Origin. The
full text of the DCO is here: https://developercertificate.org/. Contributors
must add a 'Signed-off-by' line to their commits. This indicates the
submitters acceptance of the DCO.
- Changes must be merged with the "rebase" option on github to avoid merge
commits. This provides for a clear linear history.