|
8 | 8 | "fmt"
|
9 | 9 | )
|
10 | 10 |
|
11 |
| -func Example_useAPIToBuildPSAEndorsementSoftwareBundle() { |
| 11 | +func Example_links() { |
12 | 12 | // make new tag
|
13 | 13 | tag, _ := NewTag("example.acme.roadrunner-sw-v1-0-0", "Roadrunner software bundle", "1.0.0")
|
14 | 14 |
|
@@ -43,50 +43,6 @@ func Example_useAPIToBuildPSAEndorsementSoftwareBundle() {
|
43 | 43 | // <SoftwareIdentity xmlns="http://standards.iso.org/iso/19770/-2/2015/schema.xsd" tagId="example.acme.roadrunner-sw-v1-0-0" name="Roadrunner software bundle" version="1.0.0"><Entity name="ACME Ltd" regid="acme.example" role="tagCreator softwareCreator aggregator"></Entity><Link href="example.acme.roadrunner-hw-v1-0-0" rel="psa-rot-compound"></Link><Link href="example.acme.roadrunner-sw-bl-v1-0-0" rel="component"></Link><Link href="example.acme.roadrunner-sw-prot-v1-0-0" rel="component"></Link><Link href="example.acme.roadrunner-sw-arot-v1-0-0" rel="component"></Link></SoftwareIdentity>
|
44 | 44 | }
|
45 | 45 |
|
46 |
| -func Example_useAPIToBuildPSAEndorsementSoftwareComponent() { |
47 |
| - // make new tag |
48 |
| - tag, _ := NewTag("example.acme.roadrunner-sw-bl-v1-0-0", "Roadrunner boot loader", "1.0.0") |
49 |
| - |
50 |
| - // make entity and add it to the tag |
51 |
| - entity, _ := NewEntity("ACME Ltd", RoleTagCreator, RoleAggregator) |
52 |
| - _ = entity.SetRegID("acme.example") |
53 |
| - _ = tag.AddEntity(*entity) |
54 |
| - |
55 |
| - // make resource and add it to payload |
56 |
| - resource, _ := NewPSAMeasuredSoftwareComponentResource( |
57 |
| - // measurement |
58 |
| - HashEntry{ |
59 |
| - HashAlgID: 1, |
60 |
| - HashValue: []byte("aabb...eeff"), |
61 |
| - }, |
62 |
| - // signer ID |
63 |
| - HashEntry{ |
64 |
| - HashAlgID: 1, |
65 |
| - HashValue: []byte("5192...1234"), |
66 |
| - }, |
67 |
| - ) |
68 |
| - |
69 |
| - payload := NewPayload() |
70 |
| - _ = payload.AddResource(*resource) |
71 |
| - tag.Payload = payload |
72 |
| - |
73 |
| - // make link to the HW RoT |
74 |
| - link, _ := NewLink("example.acme.roadrunner-hw-v1-0-0", *NewRel("psa-rot-compound")) |
75 |
| - _ = tag.AddLink(*link) |
76 |
| - |
77 |
| - // encode tag to JSON |
78 |
| - data, _ := tag.ToJSON() |
79 |
| - fmt.Println(string(data)) |
80 |
| - |
81 |
| - // encode tag to XML |
82 |
| - data, _ = tag.ToXML() |
83 |
| - fmt.Println(string(data)) |
84 |
| - |
85 |
| - // Output: |
86 |
| - // {"tag-id":"example.acme.roadrunner-sw-bl-v1-0-0","tag-version":0,"software-name":"Roadrunner boot loader","software-version":"1.0.0","entity":[{"entity-name":"ACME Ltd","reg-id":"acme.example","role":["tagCreator","aggregator"]}],"link":[{"href":"example.acme.roadrunner-hw-v1-0-0","rel":"psa-rot-compound"}],"payload":{"resource":[{"type":"arm.com-PSAMeasuredSoftwareComponent","arm.com-PSAMeasurementValue":"sha-256:YWFiYi4uLmVlZmY=","arm.com-PSASignerId":"sha-256:NTE5Mi4uLjEyMzQ="}]}} |
87 |
| - // <SoftwareIdentity xmlns="http://standards.iso.org/iso/19770/-2/2015/schema.xsd" tagId="example.acme.roadrunner-sw-bl-v1-0-0" name="Roadrunner boot loader" version="1.0.0"><Entity name="ACME Ltd" regid="acme.example" role="tagCreator aggregator"></Entity><Link href="example.acme.roadrunner-hw-v1-0-0" rel="psa-rot-compound"></Link><Payload><Resource type="arm.com-PSAMeasuredSoftwareComponent" measurementValue="sha-256:YWFiYi4uLmVlZmY=" signerId="sha-256:NTE5Mi4uLjEyMzQ="></Resource></Payload></SoftwareIdentity> |
88 |
| -} |
89 |
| - |
90 | 46 | func Example_completePrimaryTag() {
|
91 | 47 | tag, _ := NewTag(
|
92 | 48 | "com.acme.rrd2013-ce-sp1-v4-1-5-0",
|
@@ -161,63 +117,3 @@ func Example_completePrimaryTag() {
|
161 | 117 | // Output:
|
162 | 118 | // <SoftwareIdentity xmlns="http://standards.iso.org/iso/19770/-2/2015/schema.xsd" tagId="com.acme.rrd2013-ce-sp1-v4-1-5-0" name="ACME Roadrunner Detector 2013 Coyote Edition SP1" version="4.1.5"><Meta activationStatus="trial" colloquialVersion="2013" edition="coyote" product="Roadrunner Detector" revision="sp1"></Meta><Entity name="The ACME Corporation" regid="acme.com" role="tagCreator softwareCreator"></Entity><Entity name="Coyote Services, Inc." regid="mycoyote.com" role="distributor"></Entity><Link href="www.gnu.org/licenses/gpl.txt" rel="license"></Link><Payload><Directory name="rrdetector" root="%programdata%"><File name="rrdetector.exe" size="532712" hash="sha-256:oxT8LcZjrnpra8Z4dZQFc5bms/VpzVD9XdtNG7r9K2o="></File></Directory><File name="test.exe" size="532712" hash="sha-256:oxT8LcZjrnpra8Z4dZQFc5bms/VpzVD9XdtNG7r9K2o="></File></Payload></SoftwareIdentity>
|
163 | 119 | }
|
164 |
| - |
165 |
| -func Example_decodePSAEndorsementSoftwareComponent() { |
166 |
| - var tag SoftwareIdentity |
167 |
| - |
168 |
| - data := []byte(`{ |
169 |
| - "tag-id": "example.acme.roadrunner-sw-bl-v1-0-0", |
170 |
| - "tag-version": 0, |
171 |
| - "software-name": "Roadrunner boot loader", |
172 |
| - "software-version": "1.0.0", |
173 |
| - "entity": [ |
174 |
| - { |
175 |
| - "entity-name": "ACME Ltd", |
176 |
| - "reg-id": "acme.example", |
177 |
| - "role": [ |
178 |
| - "tagCreator", |
179 |
| - "aggregator" |
180 |
| - ] |
181 |
| - } |
182 |
| - ], |
183 |
| - "link": [ |
184 |
| - { |
185 |
| - "href": "example.acme.roadrunner-hw-v1-0-0", |
186 |
| - "rel": "psa-rot-compound" |
187 |
| - } |
188 |
| - ], |
189 |
| - "payload": { |
190 |
| - "resource": [ |
191 |
| - { |
192 |
| - "type": "arm.com-PSAMeasuredSoftwareComponent", |
193 |
| - "arm.com-PSAMeasurementValue": "sha-256:YWFiYi4uLmVlZmY=", |
194 |
| - "arm.com-PSASignerId": "sha-256:NTE5Mi4uLjEyMzQ=" |
195 |
| - } |
196 |
| - ] |
197 |
| - } |
198 |
| - }`) |
199 |
| - |
200 |
| - if err := tag.FromJSON(data); err != nil { |
201 |
| - fmt.Println(err) |
202 |
| - return |
203 |
| - } |
204 |
| - |
205 |
| - if !checkResType(tag) { |
206 |
| - fmt.Println("KO") |
207 |
| - return |
208 |
| - } |
209 |
| - |
210 |
| - fmt.Println("OK") |
211 |
| - |
212 |
| - // Output: |
213 |
| - // OK |
214 |
| -} |
215 |
| - |
216 |
| -func checkResType(tag SoftwareIdentity) bool { |
217 |
| - if payload := tag.Payload; payload != nil { |
218 |
| - if resources := payload.Resources; resources != nil { |
219 |
| - return (*resources)[0].Type == ResourceTypePSAMeasuredSoftwareComponent |
220 |
| - } |
221 |
| - } |
222 |
| - return false |
223 |
| -} |
0 commit comments